Epstein文件RAG MCP服务器
一种模型上下文协议(MCP)服务器,通过HuggingFace的Epstein文件数据集提供检索增强生成(RAG)功能。
特性
- 🔍 语义搜索超过20000个爱泼斯坦文件文档
- 🚀 完全在CPU和RAM上运行
- 💾 通过Qdrant Docker在NVME上进行矢量存储
- 🎯 用途
all-MiniLM-L6-v2嵌入模型 - 📦 无需本地文件-直接通过运行
uv
先决条件
- 码头工人 -用于运行Qdrant
- 紫外线 -Python包管理器
安装紫外线:
curl -LsSf https://astral.sh/uv/install.sh | sh快速开始
1.启动Qdrant Docker容器
# Create storage directory on your NVME
mkdir -p /path/to/nvme/qdrant_storage
# Run Qdrant
docker run -d \
--name qdrant \
-p 6333:6333 \
-p 6334:6334 \
-v /path/to/nvme/qdrant_storage:/qdrant/storage \
qdrant/qdrant2.配置LLM客户端
将此添加到您的MCP服务器配置中(例如,Claude Desktop配置):
{
"mcpServers": {
"epstein-rag": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/justinlime/epstein-rag-mcp.git",
"epstein-rag-mcp"
],
"env": {
"QDRANT_HOST": "localhost",
"QDRANT_PORT": "6333"
}
}
}
}3.重新启动LLM客户端
就是这样!服务器将自动:
- 下载并安装依赖项
- 加载嵌入模型
- 从HuggingFace获取数据集(仅限第一次运行)
- 创建嵌入并在Qdrant中对其进行索引
- 准备好回答问题
用法
配置后,您的LLM可以使用 search_epstein_files 工具:
示例查询:
- “查找提及航班日志的文件”
- “搜索对特定个人的引用”
- “哪些文件讨论金融交易?”
配置
环境变量
QDRANT_HOST-Qdrant服务器主机(默认值:localhost)QDRANT_PORT-Qdrant服务器端口(默认值:6333)
首次运行
第一次运行服务器时,它将:
- 下载
all-MiniLM-L6-v2型号(~80MB) - 从HuggingFace获取爱泼斯坦文件数据集(~100MB)
- 为所有文档生成嵌入(CPU上10-30分钟)
- 在Qdrant中索引它们
后续运行将是即时的,因为数据将保存在Qdrant中。
发展
本地安装
git clone https://github.com/yourusername/epstein-rag-mcp.git
cd epstein-rag-mcp
uv pip install -e .本地运行
uv run epstein-rag-mcpDocker管理
# View logs
docker logs qdrant
# Stop Qdrant
docker stop qdrant
# Start Qdrant
docker start qdrant
# Access web UI
# Open http://localhost:6333/dashboard故障排除
“无法连接到Qdrant”
确保Docker容器正在运行:
docker ps | grep qdrant端口已在使用中
更改端口映射:
docker run -d --name qdrant -p 6335:6333 ...然后更新 QDRANT_PORT 到 6335 在您的配置中。
索引速度慢
这在CPU上是正常的。第一次运行可能需要10-30分钟,具体取决于您的硬件。减少 BATCH_SIZE 如果内存不足,请在代码中。
建筑
┌─────────────┐
│ LLM Client │
└──────┬──────┘
│ MCP Protocol
│
┌──────▼──────────────────┐
│ epstein-rag-mcp │
│ ┌──────────────────┐ │
│ │ Sentence │ │
│ │ Transformer │ │
│ │ (all-MiniLM-L6) │ │
│ └─────────┬────────┘ │
│ │ │
│ ┌─────────▼────────┐ │
│ │ Dataset Loader │ │
│ │ (HuggingFace) │ │
│ └──────────────────┘ │
└────────┬─────────────────┘
│
┌────▼─────┐
│ Qdrant │
│ Docker │
└────┬─────┘
│
┌────▼─────┐
│ NVME │
└──────────┘许可证
麻省理工学院
贡献
欢迎投稿!请打开问题或PR。
鸣谢
- 数据集: tensonaut/EPSTEIN_FILES_20K
- 嵌入模型: 句子转换器/全MiniLM-L6-v2
- 矢量存储: Qdrant
