模块化RAG管道

MCP-RAG是一个模块化的检索增强生成系统,结合了MCP协议和GroundX技术,适用于构建AI驱动的应用程序。

  • by sujithadr
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 sujithadr/mcp-rag

使用说明

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

🧠 建筑流程

  1. 用户查询到达MCP服务器
  2. 服务器将其路由到搜索工具
  3. 搜索工具查询GroundX API
  4. 代码段通过YAML提示符呈现
  5. 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回退链等)。