现代上下文处理-RAG
通过 GroundX 和 OpenAI 实现了检索增强生成(RAG),允许用户导入文档并进行语义搜索,并通过现代上下文处理(MCP)实现高级上下文处理。
服务介绍
MCP-RAG: Model Context Protocol with RAG 🚀
使用 GroundX 和 OpenAI 构建的强大高效的 RAG(检索增强生成)实现,结合了现代上下文处理 (MCP)。
🌟 特性
- 高级 RAG 实现:利用 GroundX 进行高精度文档检索
- 模型上下文协议:与 MCP 无缝集成以增强上下文处理
- 类型安全:使用 Pydantic 构建,进行健壮的类型检查和验证
- 灵活配置:通过环境变量轻松自定义设置
- 文档摄入:支持 PDF 文档的摄入和处理
- 智能搜索:带有评分功能的语义搜索能力
🛠️ 前提条件
- Python 3.12 或更高版本
- OpenAI API 密钥
- GroundX API 密钥
- MCP CLI 工具
📦 安装
- 克隆仓库:
git clone <repository-url>
cd mcp-rag
- 创建并激活虚拟环境:
uv sync
source .venv/bin/activate # On Windows, use `.venv\Scripts\activate`
⚙️ 配置
- 复制示例环境文件:
cp .env.example .env
- 在
.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 笔记本支持
🔒 安全
- 永远不要提交包含 API 密钥的
.env文件 - 对所有敏感信息使用环境变量
- 定期更换您的 API 密钥
- 监控 API 使用情况以防止未经授权的访问
🤝 贡献
- 叉分仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m 'Add some amazing feature') - 推送到该分支 (
git push origin feature/amazing-feature) - 打开一个拉取请求