现在市面上有很多的AI+搜索的应用或插件,一直想学习其背后的实现原理。今天咱们就学习一下,并且亲自动手实践,从0开始,搭建一个自己的AI搜索引擎。最终实现效果如下:
话不多说,开干。
本文代码参考:mp.weixin.qq.com/s/6F22Mls7z… 的API。
先来搞定框架。
代码中,服务端使用了Python + Flask框架,前端使用HTML。通过 Flask的render_template函数渲染HTML页面。render_template 函数是 Flask 提供的一个工具,用于渲染 Jinja2 模板。Jinja2 是一个 Python 的模板引擎,它允许你在 HTML 文件中使用 Python 变量和表达式。
代码如下:
代码中,HTML页面的名称为 “ai_search.html”。
注意,在使用此种方法渲染HTML页面时,需要将HTML文件放到templates文件夹下,否则找不到文件,报错。
服务端就是利用Flask封装一个个地接口,然后进行相应处理。
1.1 Search接口
Search接口接收用户输入的关键字,然后调用 接口去获取检索结果。
1.1.1 crawl_pages接口
该接口通过关键字来去固定网页去检索该关键字,获取前两页的检索结果,通过前两页的检索结果,通过爬虫,将结果的标题和URL提取出来。
(1),这是表明去哪个网页搜索这个关键字。这个链接相当于以下操作,去CCTV网搜关键字:
(2)通过简单的爬虫,将以上获取到的检索结果界面中的所有结果的URL和标题提取出来:,例如这一句,提取URL。
(3)然后你就会获得一堆的URL,返回给Search接口后,通过 组装结果,插入到HTML中去显示。也就是侧边栏的效果:
1.2 generate-text接口
该接口是将用户输入的关键字当作Prompt,给大模型,让大模型根据这个信息回复点什么东西。中间没有什么特别的处理。要说值得注意的,就是 来将对话信息添加到历史记录里面。
这一步的效果如下,与检索毫无关系:
1.3 page_content接口
该接口是通过URL来获取网页内容。就是一个简单的爬虫程序,将网页中的文字和图片提取出来。
2.1 用户输入关键字后的动作
先来看下前端HTML代码中,当用户点击提交按钮后的动作,重点是下面几行。
可以看到,当用户点击提交按钮后,首先调用了 getA 函数:
getA函数,调用了服务端的 Search接口,去固定网页检索关键字,获取URL和标题列表。
然后,紧接着调用了 generateText 函数:
generateText 函数,调用了服务端的 generate-text 函数,利用大模型进行回复。
2.2 用户点击侧边栏标题后的动作
当用户点击侧边栏的某个标题后,执行的动作如下:
首先,调用了 getPageContent 接口,通过服务端的 page_content 接口,爬取了该URL中的所有文字内容和图片内容。
然后,通过 generateText 接口,调用服务端的 generate-text 接口,使用大模型对这些文字内容进行总结,从而形成下面的效果:
3.1 ai_search.html
3.2 ai_search.py
3.3 运行
运行 ai_search.py,打开提示中链接。
3.4 可能需要安装的依赖
3.5 一定是通过Jinja2加载HTML,而不是直接打开HTML
直接打开HTML文件会显示异常:
本文我们从0开始写了一个AI+搜索的搜索引擎。整体原理还是比较简单的,搜索的原理就是固定URL+关键字,然后爬取网页内的标题和URL,就算是结果了。至于文本总结就更不用多说了,前面的文章详细介绍和实践过。
这个例子很简单,但应该算比较完整了,可以作为后续类似项目的快速开始,在此基础上快速搭建出自己的原型产品。
大家可以上手运行一下,然后运行过程中,你会对这个例子产生一些改进的想法。
有改进的想法,可以一起交流~
大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “?”“”等问题热议不断。
事实上,
继等巨头公司发布AI产品后,很多中小企业也陆续进场!超高年薪,挖掘AI大模型人才! 如今大厂老板们,也更倾向于会AI的人,普通程序员,还有应对的机会吗?
与其焦虑……
不如成为「」,毕竟AI时代,谁先尝试,谁就能占得先机!
但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高。
针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 分享出来:包括等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈
AI大模型已经成为了当今科技领域的一大热点,那以下这些大模型书籍就是非常不错的学习资源。
这套包含640份报告的合集,涵盖了大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。(几乎涵盖所有行业)
四、LLM大模型开源教程(LLaLA/Meta/chatglm/chatgpt)
阶段1:AI大模型时代的基础理解
-
目标:了解AI大模型的基本概念、发展历程和核心原理。
-
内容:
- L1.1 人工智能简述与大模型起源
- L1.2 大模型与通用人工智能
- L1.3 GPT模型的发展历程
- L1.4 模型工程
- L1.4.1 知识大模型
- L1.4.2 生产大模型
- L1.4.3 模型工程方法论
- L1.4.4 模型工程实践
- L1.5 GPT应用案例
阶段2:AI大模型API应用开发工程
-
目标:掌握AI大模型API的使用和开发,以及相关的编程技能。
-
内容:
- L2.1 API接口
- L2.1.1 OpenAI API接口
- L2.1.2 Python接口接入
- L2.1.3 BOT工具类框架
- L2.1.4 代码示例
- L2.2 Prompt框架
- L2.3 流水线工程
- L2.4 总结与展望
阶段3:AI大模型应用架构实践
-
目标:深入理解AI大模型的应用架构,并能够进行私有化部署。
-
内容:
- L3.1 Agent模型框架
- L3.2 MetaGPT
- L3.3 ChatGLM
- L3.4 LLAMA
- L3.5 其他大模型介绍
阶段4:AI大模型私有化部署
-
目标:掌握多种AI大模型的私有化部署,包括多模态和特定领域模型。
-
内容:
- L4.1 模型私有化部署概述
- L4.2 模型私有化部署的关键技术
- L4.3 模型私有化部署的实施步骤
- L4.4 模型私有化部署的应用场景
这份 包括等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓
👉CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)👈