使用说明
MCP-RAG:使用MCP和GroundX的模块化RAG管道
生产就绪的检索增强生成设置
🚀 概述
MCP-RAG 是检索增强生成(RAG)系统的模块化、生产级实现,由以下部件提供动力:
- 🧠 MCP(模型上下文协议) 用于标准化工具编排
- 🔍 地面X 用于语义搜索、摄取和向量存储操作
- 🤖 OpenAI GPT-4 用于LLM驱动的上下文响应生成
它允许在摄取、搜索、生成和工具发现之间进行清晰的职责分离,使其具有可扩展性、灵活性和企业就绪性。
📌 由开发 Somanunnithan 用于构建具有可重用组件的AI驱动应用程序的团队。
📦 特性
- 🔧 模块化工具设计 使用MCP服务器接口
- 🧩 基于YAML的提示模板 使用Jinja2渲染
- 📂 PDF文件摄取 进入GroundX矢量存储
- 🔍 实时语义搜索 通过GroundX搜索工具
- 🤝 即插即用API集成 新工具和服务
📁 项目结构
mcp-rag/
├── server.py # MCP Server initialization
├── config.py # Environment and config management
├── ingestion.py # File ingestion tool logic
├── search.py # Search + LLM generation logic
├── prompts.yaml # Prompt template in Jinja2
├── models.py # Pydantic models for configs
├── .env # API keys (excluded from version control)
├── pyproject.toml # Project config for uv / MCP
├── README.md # This file
🧠 建筑流程
- 用户查询到达MCP服务器
- 服务器将其路由到搜索工具
- 搜索工具查询GroundX API
- 代码段通过YAML提示符呈现
- OpenAI API生成最终LLM响应
🔄 所有工具都是 通过MCP可发现和调用 动态。
🔑 环境设置
创建 .env 用你的钥匙:
OPENAI_API_KEY=your-openai-key
GROUNDEX_API_KEY=your-groundx-key
使用安装 uv:
uv pip install -r pyproject.toml
⚙️ 用法
启动服务器:
mcp dev server.py
摄取PDF:
mcp call ingest_documents --args '{"file_path": "data/sample.pdf"}'
使用查询进行搜索:
mcp call process_search_query --args '{"query": "What is explained in section 3?"}'
📌 清晰的关注点分离
| 角色 | 组件 |
|---|---|
| 工具发现/调用 | MCP服务器 |
| 搜索执行 | GroundX API |
| 响应生成 | OpenAI API |
| 文件上传 | 摄取工具(MCP) |
📚 许可证
该项目根据 MIT许可证.
👨💻 作者
Somanunnithan
云和人工智能架构师| 苏吉特·德
💬 反馈与贡献
请随时提出问题、拉取请求或与作者联系以进行改进或扩展(如多文件摄取、RAG回退链等)。