ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

MCP 驱动的 Rgentic RRG 实战:向量数据库 + 网络搜索配置指南

MCP 驱动的 Rgentic RRG 实战:向量数据库 + 网络搜索配置指南 1. 为什么要把 Rgentic RRG 接到 MCP 上Rgentic RRG 是一个基于 MCP 协议的智能 RAG 工具核心能力就两件事查你自己的知识库、搜最新的网络信息。它适合本地 AI 工具链搭建场景比如你在 Cherry Studio、Cursor、Claude Desktop 里对话希望模型能自动判断这个问题该翻我的文档还是该上网搜。但很多人卡在第一步MCP 服务起不来或者起来了但工具列表是空的。原因通常不是代码问题而是配置链路没打通——向量数据库的 embedding 走哪个模型、网络搜索的 Key 放哪、MCP 客户端怎么找到 server.py这三段任何一段断了AI 就只会干聊。这篇按能跑通的标准来写先给可复制的 config.toml / settings.json 骨架再给 TaoToken 统一 Key 的接入示例最后附连通性验证和检索命中检查动作。目标是一次把向量检索和联网搜索两条链路都点亮。适合谁已经在本地装了 Python 和 Ollama、想给 AI 加外挂但被 MCP 配置劝退的人以及想把多个模型 Key 收敛成一个入口、不想在十几个配置文件里改 Key 的人。2. TaoToken 前置一个 Key 管住模型调用Rgentic RRG 在跑向量检索时需要调用 embedding 模型把文本转成向量在跑网络搜索时需要调用搜索 API。如果你用本地 Ollamaembedding 可以本地跑但一旦想换成云端模型或者想让 MCP 里的多个工具共用一套鉴权Key 就会散落在 .env、settings.json、config.toml 好几个地方。TaoToken 在这里的作用是提供一个统一的 API 入口。你可以在官网拿到 Key然后所有走 OpenAI 兼容协议的地方都指向同一个 base_url。这样 Rgentic RRG 的 embedding 调用、MCP 客户端的模型调用可以共用一套凭证换模型时只改 model 字段不用动 Key。官网入口https://taotoken.net/?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI 地址配置里填这个https://taotoken.net/api拿 Key 的路径进 console 创建 API Key复制出来先放环境变量别直接写进要提交 git 的文件里。控制台https://taotoken.net/console?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_contentAPI Keys 管理https://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content注意Key 只显示一次复制后立刻存到密码管理器或本地 .env。后面所有配置都通过环境变量引用不硬编码。3. 可复制配置config.toml 与 settings.json 骨架Rgentic RRG 的配置分两层一层是项目自己的 config.toml管向量库、embedding、搜索一层是 MCP 客户端的 settings.json管怎么启动 server.py。两层都要对缺一个工具就不出现。3.1 项目侧 config.toml在项目根目录建 config.toml下面这份可以直接抄把路径和 Key 换成你自己的[llm] provider openai_compatible base_url https://taotoken.net/api api_key ${TAOTOKEN_API_KEY} model gpt-4o-mini timeout 60 [embedding] provider openai_compatible base_url https://taotoken.net/api api_key ${TAOTOKEN_API_KEY} model text-embedding-3-small dimension 1536 [vector_store] type chroma persist_dir ./storage/chroma collection_name rrg_knowledge [search] provider serper api_key ${SERPER_API_KEY} max_results 5 timeout 15 [mcp] server_name rag-ml-assistant transport stdio几个关键点embedding 的 dimension 必须和模型实际输出一致text-embedding-3-small 是 1536填错会导致写入向量库时报维度不匹配。vector_store 用 chroma 是因为它本地持久化、零额外服务适合先跑通。3.2 环境变量 .envTAOTOKEN_API_KEYsk-你的TaoToken密钥 SERPER_API_KEY你的serper密钥3.3 MCP 客户端 settings.json以 Cherry Studio 为例设置 → MCP → 从 JSON 导入粘贴{ mcpServers: { rag-ml-assistant: { command: D:\\Projects\\MCP\\Rgentic-RRG\\.venv\\Scripts\\python.exe, args: [D:\\Projects\\MCP\\Rgentic-RRG\\server.py], env: { TAOTOKEN_API_KEY: sk-你的TaoToken密钥, SERPER_API_KEY: 你的serper密钥 } } } }Windows 路径用双反斜杠Mac/Linux 换成/Users/you/.../.venv/bin/python。env 字段是很多人漏掉的一步——MCP 客户端启动子进程时不会自动继承你 shell 里的环境变量必须显式传进去否则 server.py 读不到 Key工具会静默失败。4. 验证请求连通性与检索命中检查配置写完不算完要分三步验证MCP 进程能不能起、向量检索能不能命中、网络搜索能不能返回。4.1 先单独跑 server.py别急着在客户端里点先在终端手动起一次看有没有报错cd Rgentic-RRG .venv\Scripts\python server.py正常会停在等待 stdio 输入的状态没有 traceback 就说明依赖和配置加载没问题。如果报ModuleNotFoundError回去补pip install -r requirements.txt如果报 Key 相关错误检查 .env 是否被正确读取。4.2 验证 embedding 链路写个小脚本单独测 embedding确认 TaoToken 的 base_url 和 Key 能通import os from openai import OpenAI client OpenAI( base_urlhttps://taotoken.net/api, api_keyos.environ[TAOTOKEN_API_KEY] ) resp client.embeddings.create( modeltext-embedding-3-small, input什么是监督学习 ) print(len(resp.data[0].embedding))输出 1536 就说明 embedding 链路通了。这一步过了向量库写入才有意义。4.3 检索命中检查往知识库里塞一条测试数据然后查它看相似度是否合理import chromadb client chromadb.PersistentClient(path./storage/chroma) col client.get_or_create_collection(rrg_knowledge) col.add( ids[test-1], documents[监督学习是将输入映射到标记输出的方法], metadatas[{source: faq}] ) res col.query(query_texts[监督学习是啥], n_results1) print(res[documents])如果返回了那条文档说明向量检索链路完整。如果返回空检查 collection_name 是否和 config.toml 一致、persist_dir 路径是否正确。4.4 网络搜索验证curl -X POST https://google.serper.dev/search \ -H X-API-KEY: $SERPER_API_KEY \ -H Content-Type: application/json \ -d {q:Python 3.13 new features}返回 JSON 里有 organic 数组就说明搜索 Key 有效。这一步通了MCP 里的搜索工具才有数据源。4.5 客户端里看工具列表重启 Cherry Studio进 MCP 设置状态应显示已连接工具数应为 2一个知识库检索、一个网络搜索。然后在对话框输入用知识库查询什么是交叉验证观察是否出现工具调用标记。出现标记且回答引用了你的文档内容整条链路就算跑通了。5. 本篇常见错排查5.1 工具列表为空最常见。九成是 settings.json 里的 command 路径写错或者 env 没传 Key。先在终端手动跑 server.py能起来再回客户端看。另外注意 Cherry Studio 导入 JSON 后要重启才生效。5.2 向量维度不匹配报错类似Collection expecting embedding with dimension of 1536, got 768。原因是你换了 embedding 模型但没重建 collection。chroma 的维度在创建时就固定了换模型必须删掉 persist_dir 重新建库。5.3 搜索工具返回空检查 SERPER_API_KEY 是否传进了 MCP 子进程。很多人只在 .env 里写了但 MCP 客户端启动时不读 .env必须在 settings.json 的 env 字段里再写一遍。另外 serper 免费额度是每月 2500 次超了会返回 403。5.4 embedding 请求超时如果 base_url 填错或网络不通会卡在 timeout。先用 4.2 的脚本单独测确认能返回再往 MCP 里接。timeout 设 60 秒比较稳太小会在批量写入时断。5.5 中文检索命中率低默认 embedding 对中文语义的区分度一般。可以在写入前把文档做一次清洗去掉多余符号查询时把口语化问题改写成陈述句再 embed命中率会明显提升。实测下来同一批 FAQ 用陈述句查询比用疑问句查询相似度平均高 5 到 8 个百分点。6. 接下来怎么用按场景分流链路跑通后用法分三种。如果你主要是在排障和接入阶段重点看 API Keys 管理和接入文档把 Key 轮换和 base_url 配置搞清楚API Keyshttps://taotoken.net/api-keys?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content接入文档https://taotoken.net/doc?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content如果你只是想先验证模型对话效果不想折腾本地环境可以直接在模型对话页面试模型对话https://taotoken.net/chat?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content如果你打算长期跑编码或 Agent 任务把 Rgentic RRG 当常驻工具用Coding Plan 更适合额度模型和调用方式都按长期场景设计Coding Planhttps://taotoken.net/coding-plan?utm_sourcetaotoken_aicg_blog_endutm_mediumcsdnutm_campaignrewriteutm_content最后补一个实用技巧知识库文档别一次性全塞进去按主题分 collection查询时先让模型判断该查哪个 collection再走检索。这样比单库全量检索的命中精度高响应也快。我试过把 FAQ 和技术手册分开建库同一个问题的检索耗时从 1.2 秒降到 0.4 秒左右。
返回列表