背景
go-rag 目前的检索能力均基于知识库向量存储(ES8 / Qdrant),Agent 与用户在知识库未覆盖的问题上无法获取实时网络信息。
建议集成的功能
You.com Search API
- API 地址:
https://ydc-index.io/v1/search
- 认证方式:
X-API-Key,通过环境变量 YDC_API_KEY 配置(也支持配置文件覆盖)
- 返回结果包含
title、description、snippets(关键摘录片段),提供网页与新闻双通道结果
- 新账户赠送 $100 免费额度,注册即可获取 API Key
实现方案
完全参照项目现有模式,纯增量实现,不改动现有向量检索链路:
server/core/websearch/youcom.go — 实现 eino retriever.Retriever 接口的联网检索组件,结果映射为
schema.Document(ID=url,Content=标题+描述+摘录,MetaData 含 url/title/source)
server/api/rag/v1/websearch.go + internal/controller/rag/rag_v1_websearch.go — 新增 POST /v1/websearch 接口,与现有
/v1/retriever 的参数风格一致(question / top_k)
server/internal/mcp/websearch.go — 新增 MCP 工具 web_search,与现有 retriever 工具注册方式一致
- 配置:
config_demo.yaml 新增 websearch.youcom 段(apiKey / count / timeout),apiKey 留空时读取环境变量 YDC_API_KEY
- 未配置 Key 时返回友好提示,不影响进程启动与其他功能
- 附带完整单元测试(httptest 模拟,离线可运行)与 README 说明
集成收益
- Agent 通过 MCP
web_search 工具或 /v1/websearch 接口即可获取带来源链接的实时网络信息,与知识库检索互补
- 结果附带摘录片段,便于交叉验证信息来源
- 零侵入:现有向量检索链路完全不受影响,默认关闭(未配置 Key 即不可用)
实现已完成并通过全部测试(含真实环境端到端验证),随后提交 PR。期待反馈,欢迎讨论。
背景
go-rag 目前的检索能力均基于知识库向量存储(ES8 / Qdrant),Agent 与用户在知识库未覆盖的问题上无法获取实时网络信息。
建议集成的功能
You.com Search API
https://ydc-index.io/v1/searchX-API-Key,通过环境变量YDC_API_KEY配置(也支持配置文件覆盖)title、description、snippets(关键摘录片段),提供网页与新闻双通道结果实现方案
完全参照项目现有模式,纯增量实现,不改动现有向量检索链路:
server/core/websearch/youcom.go— 实现 einoretriever.Retriever接口的联网检索组件,结果映射为schema.Document(ID=url,Content=标题+描述+摘录,MetaData 含 url/title/source)server/api/rag/v1/websearch.go+internal/controller/rag/rag_v1_websearch.go— 新增POST /v1/websearch接口,与现有/v1/retriever的参数风格一致(question / top_k)server/internal/mcp/websearch.go— 新增 MCP 工具web_search,与现有retriever工具注册方式一致config_demo.yaml新增websearch.youcom段(apiKey / count / timeout),apiKey 留空时读取环境变量YDC_API_KEY集成收益
web_search工具或/v1/websearch接口即可获取带来源链接的实时网络信息,与知识库检索互补实现已完成并通过全部测试(含真实环境端到端验证),随后提交 PR。期待反馈,欢迎讨论。