现代检索增强生成服务器
一个使用 GroundX 和 OpenAI 实现检索增强生成(Retrieval-Augmented Generation)的服务器,支持语义搜索和文档检索,并通过现代上下文处理技术提升上下文处理能力。
服务介绍
MCP-RAG: 基于RAG的模型上下文协议 🚀
使用GroundX和OpenAI实现的强大且高效的RAG(检索增强生成)方案,构建于现代上下文处理(MCP)之上。
🌟 特性
- 高级RAG实现:利用GroundX进行高精度文档检索
- 模型上下文协议:与MCP无缝集成以增强上下文处理能力
- 类型安全:使用Pydantic构建,提供强大的类型检查和验证
- 灵活配置:通过环境变量轻松自定义设置
- 文档摄入:支持PDF文档的摄入和处理
- 智能搜索:具备评分功能的语义搜索能力
🛠️ 先决条件
- Python 3.12或更高版本
- OpenAI API密钥
- GroundX API密钥
- MCP CLI工具
📦 安装
-
克隆仓库:
bash
git clone
cd mcp-rag -
创建并激活虚拟环境:
bash
uv sync
source .venv/bin/activate # 在Windows上,请使用.venvScriptsactivate
⚙️ 配置
-
复制示例环境文件:
bash
cp .env.example .env -
在
.env中配置您的环境变量:
env
GROUNDX_API_KEY="your-groundx-api-key"
OPENAI_API_KEY="your-openai-api-key"
BUCKET_ID="your-bucket-id"
🚀 使用方法
启动服务器
运行inspect服务器:
bash
mcp dev server.py
文档摄入
要摄入新文档:
python
from server import ingest_documents
result = ingest_documents("path/to/your/document.pdf")
print(result)
执行搜索
基本搜索查询:
python
from server import process_search_query
response = process_search_query("在这里输入你的搜索查询")
print(f"查询: {response.query}")
print(f"得分: {response.score}")
print(f"结果: {response.result}")
使用自定义配置:
python
from server import process_search_query, SearchConfig
config = SearchConfig(
completion_model="gpt-4",
bucket_id="custom-bucket-id"
)
response = process_search_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 '添加一些惊人的特性') - 推送到该分支 (
git push origin feature/amazing-feature) - 打开一个拉取请求