检索增强生成工具

MCP-RAG是一个基于GroundX和OpenAI的高效检索增强生成工具,支持文档检索、语义搜索和PDF文档处理。

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

使用说明

MCP-RAG:基于RAG的模型上下文协议🚀

使用GroundX和OpenAI的强大而高效的RAG(检索增强生成)实现,使用现代上下文处理(MCP)构建。

🌟 特性

  • 高级RAG实施:利用GroundX进行高精度文档检索
  • 模型上下文协议:与MCP无缝集成,增强上下文处理能力
  • 类型安全:使用Pydantic构建,用于强大的类型检查和验证
  • 灵活的配置:通过环境变量轻松自定义设置
  • 文件摄入:支持PDF文档摄取和处理
  • 智能搜索:具有评分功能的语义搜索功能

🛠️ 先决条件

  • Python 3.12或更高版本
  • OpenAI API密钥
  • GroundX API密钥
  • MCP CLI工具

📦 安装

  1. 克隆存储库:
git clone <repository-url>
cd mcp-rag
  1. 创建并激活虚拟环境:
uv sync
source .venv/bin/activate  # On Windows, use `.venv\Scripts\activate`

⚙️ 配置

  1. 复制示例环境文件:
cp .env.example .env
  1. 在中配置环境变量 .env:
GROUNDX_API_KEY="your-groundx-api-key"
OPENAI_API_KEY="your-openai-api-key"
BUCKET_ID="your-bucket-id"

🚀 用法

启动服务器

使用以下命令运行检查服务器:

mcp dev server.py

文件摄入

要摄取新文档,请执行以下操作:

from server import ingest_documents

result = ingest_documents("path/to/your/document.pdf")
print(result)

执行搜索

基本搜索查询:

from server import process_search_query

response = process_search_query("your search query here")
print(f"Query: {response.query}")
print(f"Score: {response.score}")
print(f"Result: {response.result}")

使用自定义配置:

from server import process_search_query, SearchConfig

config = SearchConfig(
    completion_model="gpt-4",
    bucket_id="custom-bucket-id"
)
response = process_search_query("your query", config)

📚 依赖项

  • groundx (≥2.3.0):核心RAG功能
  • openai (≥1.75.0):OpenAI API集成
  • mcp[cli] (≥1.6.0):现代上下文处理工具
  • ipykernel (≥6.29.5):支持Jupyter笔记本

🔒 安全

  • 永远不要承诺你的 .env 包含API密钥的文件
  • 对所有敏感信息使用环境变量
  • 定期旋转API键
  • 监控API的使用情况是否存在任何未经授权的访问

🤝 贡献

  1. 分叉存储库
  2. 创建功能分支(git checkout -b feature/amazing-feature)
  3. 提交您的更改(git commit -m 'Add some amazing feature')
  4. 推到分支(git push origin feature/amazing-feature)
  5. 打开拉取请求