使用RAG-MCP Assistant进行实时网络搜索
概述
该存储库提供了一个高级AI助手,它将使用您自己的知识库的检索增强生成(RAG)与实时网络搜索相结合。如果在您的本地文档中找不到答案,系统将通过MCP服务器无缝地回退到网络搜索,整合这两个来源以获得更准确的按需答案。 关键技术: LangChain、FAISS、PyTorch、OpenAI、模型上下文协议(MCP).
______________________________________________________________________
🚀 特性
- 混合RAG管道: 自动合并本地矢量搜索和新的web/API结果。
- MCP服务器集成: 当本地数据不足时,调用外部工具或web API。
- 代理编排: 使用高级逻辑在RAG和MCP之间动态决定。
- 引用和透明度: 明确指出每个答复的来源。
- 生产就绪: Docker部署、健康检查、错误处理和日志记录。
- 可扩展性: 轻松添加新的文档源、搜索工具或LLM提供者。
______________________________________________________________________
🏛️ 建筑
flowchart TD
U[User Query] --> A[RAG Agent Orchestrator]
A -- Vector Search --> V[FAISS/Chroma Vector DB]
A -- Fallback / Insufficient --> M[MCP Server]
M -- Web/API Search --> W[Search Tool, Scraper]
A --> R[LLM Response Generator]
R --> O[Unified Final Answer]- 完整的架构和组件描述: docs/SYSTEM_DESIGN.md
______________________________________________________________________
📦 安装
需求
- Python 3.8+
- OpenAI和/或其他LLM API密钥
- 对于网络搜索: SerpAPI 或类似
克隆和安装
git clone https://github.com/PranithChowdary/Real-time-web-search-RAG-with-MCP.git
cd Real-time-web-search-RAG-with-MCP
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Add your API keys to .env样品 .env 文件可以在以下位置找到 .env.示例
Docker(可选)
docker-compose up -d______________________________________________________________________
🚦 快速开始
在一个终端中启动MCP服务器:
python -m src.mcp_server.server在另一个终端中,运行一个基本查询:
python examples/basic_usage.py或者启动CLI演示:
python examples/cli_demo.py______________________________________________________________________
使用示例
python
from src.agent.orchestrator import RAGMCPOrchestrator
assistant = RAGMCPOrchestrator()
response = assistant.query("Give me the latest on generative AI agents.")
print(response)REST API
启动API服务器和POST查询以 /query.
添加文档
assistant.add_documents(["my_docs/intro_ai.pdf", "my_docs/ml_basics.txt"])
assistant.update_vector_store()______________________________________________________________________
🛠 配置
通过配置所有API密钥、服务器端口和型号名称 .env 文件。看 文档/部署.md 用于扩展、prod部署和安全说明。
______________________________________________________________________
📑 文档
- 系统设计: docs/SYSTEM_DESIGN.md
- API参考: docs/API_REFERENCE.md文件
- 部署指南: 文档/部署.md
______________________________________________________________________
🤝 贡献
欢迎投稿!
- 分叉,创建一个功能分支,提交拉取请求。
- 请添加新功能的测试,并根据需要更新文档。
______________________________________________________________________
📄 许可证
MIT许可证——见 许可证 全文。
______________________________________________________________________
致谢
______________________________________________________________________
如果你觉得这个项目有用,请在仓库上加星并分享你的反馈!
______________________________________________________________________
