如何用34行代码实现一个AI搜索引擎?

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}nn搜索引擎结果: n{content1}nn。请问可以帮助用户,需要继续搜索的关键短语有哪些(最多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 = 'nn'.join(google_results)urls = agent.run(f'用户问题: n{question}nn搜索引擎结果: n{google_result}nn。哪些网页对于用户问题比较有帮助?请返回最重要的不超过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 = 'nn'.join(web_contents)agent.run(f'用户问题: n{question}nn搜索引擎结果: n{google_result}nn部分网页内容: n{web_content}nn。请根据用户问题,搜索引擎结果,网页内容,给出用户详细的回答,要求按一定目录结构来输出,并且使用markdown格式。')

实际运行效果:

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

如何用34行代码实现一个AI搜索引擎?

前沿技术新闻资讯

AI与“粉红诱惑”

2024-12-26 18:11:25

前沿技术新闻资讯

SD 3:已开源,附即用方案,附测试对比

2024-12-26 19:59:32

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
购物车
优惠劵
搜索