检索增强生成服务器

一个基于Epstein Files数据集的检索增强生成(RAG)服务器,提供语义搜索功能,支持在CPU和RAM上运行,使用Qdrant Docker进行向量存储。

  • by justinlime
  • Python
  • 本地部署
  • 6 星标
  • 更新于
在 GitHub 查看 justinlime/epstein_rag_mcp

使用说明

Epstein文件RAG MCP服务器

一种模型上下文协议(MCP)服务器,通过HuggingFace的Epstein文件数据集提供检索增强生成(RAG)功能。

特性

  • 🔍 语义搜索超过20000个爱泼斯坦文件文档
  • 🚀 完全在CPU和RAM上运行
  • 💾 通过Qdrant Docker在NVME上进行矢量存储
  • 🎯 用途 all-MiniLM-L6-v2 嵌入模型
  • 📦 无需本地文件-直接通过运行 uv

先决条件

  1. 码头工人 -用于运行Qdrant
  2. 紫外线 -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/qdrant

2.配置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)

首次运行

第一次运行服务器时,它将:

  1. 下载 all-MiniLM-L6-v2 型号(~80MB)
  2. 从HuggingFace获取爱泼斯坦文件数据集(~100MB)
  3. 为所有文档生成嵌入(CPU上10-30分钟)
  4. 在Qdrant中索引它们

后续运行将是即时的,因为数据将保存在Qdrant中。

发展

本地安装

git clone https://github.com/yourusername/epstein-rag-mcp.git
cd epstein-rag-mcp
uv pip install -e .

本地运行

uv run epstein-rag-mcp

Docker管理

# 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。

鸣谢