返回顶部
热门问答 更多热门问答
技术文章 更多技术文章

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

[复制链接]
链载Ai 显示全部楼层 发表于 昨天 10:11 |阅读模式 打印 上一主题 下一主题

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格式。')


实际运行效果:

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



回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

链载AI是专业的生成式人工智能教程平台。提供Stable Diffusion、Midjourney AI绘画教程,Suno AI音乐生成指南,以及Runway、Pika等AI视频制作与动画生成实战案例。从提示词编写到参数调整,手把手助您从入门到精通。
  • 官方手机版

  • 微信公众号

  • 商务合作

  • Powered by Discuz! X3.5 | Copyright © 2025-2025. | 链载Ai
  • 桂ICP备2024021734号 | 营业执照 | |广西笔趣文化传媒有限公司|| QQ