AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


如何用34行代码实现一个AI搜索引擎?
发布日期:2024-06-13 05:06:37 浏览次数: 1875


AI搜索的最简流程是: 

  1. 将用户问题google搜索一遍

  2. 基于搜索结果,让大模型进行总结输出


但这样的结果一般很粗糙。

一般用户在实际使用的时候,会基于第一次搜索结果进行二次搜索和点开部分网页,这样可以获得更加精细和可靠的结果。

所以更好一点的流程可以是:

  1. 将用户问题google搜索一遍

  2. 基于用户问题和搜索结果,进行可能有帮助的二次google搜索

  3. 基于第一次和第二次的搜索,获取部分和用户问题最相关的网页内容

  4. 基于1、2、3获取的搜索结果和网页内容,进行结构化整理输出给用户。


下面是基于GeneralAgent框架(开源地址: https://github.com/CosmosShadow/GeneralAgent),快速实现的一个AI搜索。

# AI搜索
from GeneralAgent import Agentfrom GeneralAgent import skills
google_results = []
# 步骤1: 第一次google搜索question = input('请输入问题,进行 AI 搜索: ')# question = '周鸿祎卖车'content1 = skills.google_search(question)google_results.append(content1)
# 步骤2: 第二次google搜索: 根据第一次搜索结构,获取继续搜索的问题agent = Agent('你是一个AI搜索助手。')querys = agent.run(f'用户问题: \n{question}\n\n搜索引擎结果: \n{content1}\n\n。请问可以帮助用户,需要继续搜索的关键短语有哪些(最多3个,且和问题本身不太重合)?返回关键短语列表变量([query1, query2])', return_type=list)print(querys)for query in querys:content = skills.google_search(query)google_results.append(content)
# 步骤3: 提取重点网页内容agent.clear()web_contents = []google_result = '\n\n'.join(google_results)urls = agent.run(f'用户问题: \n{question}\n\n搜索引擎结果: \n{google_result}\n\n。哪些网页对于用户问题比较有帮助?请返回最重要的不超过5个的网页url列表变量([url1, url2, ...])', return_type=list)for url in urls:content = skills.web_get_text(url, wait_time=2)web_contents.append(content)
# 步骤4: 输出结果agent.clear()web_content = '\n\n'.join(web_contents)agent.run(f'用户问题: \n{question}\n\n搜索引擎结果: \n{google_result}\n\n部分网页内容: \n{web_content}\n\n。请根据用户问题,搜索引擎结果,网页内容,给出用户详细的回答,要求按一定目录结构来输出,并且使用markdown格式。')


实际运行效果:

搜索"周鸿祎卖车",输出下面的结果:




53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询