AnythingLLM 接入 Web Search

前言

在前面的文章中,我们介绍了如何使用 AnythingLLM 和 Ollama 搭建私有知识库。虽然这个组合已经具备了处理私有数据和文档的 AI 应用能力,但在实际应用中,我们通常还需要结合 Web 搜索能力,以便获取最新的信息并输出更加有效的结果。

本文将详细介绍如何在 AnythingLLM 中启用 Web 搜索功能,并配置 Google Search Engine 和 DuckDuckGo 搜索引擎。此外,我还将介绍一下如何在网络受限的情况下,通过 Web Scraping 实现搜索功能。

Web Search

  1. 打开设置:在 AnythingLLM 的设置界面中,找到“代理技能”选项。
  2. 启用 Web Search:在代理技能列表中找到 Web Search,点击开启。
  3. 选择搜索引擎:选择一个搜索引擎。如果你只是想尝试一下,建议选择 DuckDuckGo,因为它无需任何配置即可直接使用。

注意:
无论是DuckDuckGo 还是 Google Search Engine,都需要科学上网才能正常使用。

申请 Google Search API Key

  1. 访问 Google Search 控制台:前往 Google Search 控制台 创建一个新的搜索引擎。

  2. 自定义搜索引擎:创建完成后,点击“自定义”按钮,进入配置页面。

  3. 获取搜索引擎 ID:在配置页面中,找到搜索引擎 ID,并记录下来。这个 ID 在后续配置 AnythingLLM 时会用到。

  4. 获取 API Key:在页面底部,点击“开始使用”按钮,然后点击“获取密钥”按钮。

  5. 创建 API Key:自定义一个项目名称,勾选“Yes”,然后点击“下一步”。

注意:
申请 API Key 时可能需要使用海外 IP 进行全局代理,否则可能会受到地区限制。

  1. 复制 API Key:创建成功后,复制生成的 API Key。

配置 Google Search Engine

  1. 回到 AnythingLLM:在 AnythingLLM 的设置界面中,将搜索引擎修改为 Google Search Engine

  2. 输入配置信息:在相应的输入框中,填入之前获取的 Search Engine IDAPI Key,然后点击保存。

  3. 测试搜索功能:回到聊天界面,通过 @agent + 提示词 的方式启用搜索功能。例如,输入“@agent 帮我搜索最近王星在泰国失联相关信息”,系统将返回搜索结果。

Web Scraping 功能

受限于网络环境,如果 Web Search Agent 无法正常工作,可以使用 AnythingLLM 自带的 web-scraping 功能作为折中方案来进行搜索。

  1. 未启用 Web Search Agent 时的搜索:当 Web Search Agent 未启用时,直接让 agent 进行搜索,系统会尝试使用 web-scraping 爬取百度页面。

Web Search 不进行搜索

在使用 AnythingLLM 的 Web Search 功能时,可能会遇到 Agent 未按预期进行搜索的情况,以下是两个常见的问题。

1. 没有使用正确的 Agent

问题描述

当你开启了 Web Search 功能并发送了一段话后,发现 Agent 并没有使用 web-browsing 进行搜索,而是直接基于本地知识库或模型生成回答。

原因分析

Agent 可能没有正确识别你的意图,或者你没有明确指示它使用 web-browsing 功能。

解决方案

  • 明确指示使用 Web Search:在提示词中明确指定使用 web-browsing。例如:

    • 直接提问:“@agent 使用 web-browsing 搜索最近 OpenAI 发布了哪些新功能。”

    • 或者明确指示:“@agent 请帮我搜索一下最新的科技新闻。”

  • 检查 Agent 配置:确保在 AnythingLLM 的设置中,Web Search 功能已正确启用,并且选择了合适的搜索引擎(如 Google 或 DuckDuckGo)。

2. 网络错误

问题描述

当 Agent 尝试进行 Web 搜索时,返回了类似“搜索时遇到错误”或“网络错误”的提示。

原因分析

  • 代理问题:AnythingLLM 是从内部直接发送请求的,即使你的设备开启了全局代理,AnythingLLM 也可能无法正确使用代理。

  • API 限制:如果你使用的是 Google Search API,可能会因为 API 配额用尽或配置错误导致请求失败。

结语

通过本文的步骤,可以成功配置 Google Search Engine / DuckDuckGo 搜索引擎,并了解了如何在网络受限的情况下使用 Web Scraping 进行搜索。Google API 每天提供 100 次免费搜索,而 DuckDuckGo 则无需任何配置即可使用。如果网络环境受限,Web Scraping 是一个不错的替代方案。

相关链接


AnythingLLM 接入 Web Search
https://blog.pangcy.cn/2025/01/13/AI 工具与技术/RAG/AnythingLLM 接入 Web Search/
作者
子洋
发布于
2025年1月13日
许可协议