English: README_en.md
RAG MCP(Model Context Protocol)项目是一个综合系统,旨在通过模块化和可扩展的架构来管理和与大型语言模型(LLMs)交互。它提供了向量化、存储和数据检索的工具,以及与客户端应用程序无缝集成的 API。
- 向量化:将文本数据转换为向量表示,以实现高效的相似性搜索。
- 存储:使用数据库后端存储和管理向量化数据。
- 搜索:执行相似性搜索以检索相关数据。
- API 集成:提供 RESTful API 供客户端交互。
- 前端仪表盘:基于 Next.js 的仪表盘,用于管理和监控系统。
- Docker 化环境:预配置的 Docker 设置,便于部署。
rag_mcp/
├── api/ # 向量化、上传和搜索的后端 API
├── assets/ # 静态资源
├── core/ # 核心服务和模式
├── database/ # 数据库模型和初始化
├── docker/ # Docker 配置文件
├── front/ # 基于 Next.js 的前端仪表盘
├── logs/ # 日志文件
├── mcp_server/ # MCP 服务器实现
├── test/ # 系统测试用例
├── upload/ # 上传的文件
├── utils/ # 工具函数
- Python 3.9+
- Node.js 18+
- Docker
- PostgreSQL
- 克隆仓库:
git clone https://github.com/hellolukeding/rag_mcp.git cd rag_mcp - 设置 Python 环境:
python3 -m venv .venv source .venv/bin/activate pip install -r requirements.txt - 安装前端依赖:
cd front/client npm install - 启动 Docker 容器:
cd ../../docker docker-compose up -d - 运行后端服务器:
cd ../mcp_server/server python mcp_server.py - 启动前端:
cd ../../front/client npm run dev
打开浏览器并导航到 http://localhost:3000 访问前端仪表盘。
- 启动验证码:
POST /api/v1/auth/captcha/start - 上传文件:
POST /api/v1/upload - 搜索:
GET /api/v1/search
详细的 API 文档请参考 api/ 目录。
MCP 服务器提供了一个 JSON-RPC 接口,允许客户端与其交互。以下是连接 MCP 服务器的步骤:
确保 MCP 服务器已启动并运行,默认监听地址(Streamable HTTP 模式)为 http://127.0.0.1:18080。如果你需要使用 stdio 或其他 transport,请使用对应的启动参数。
以下是一个使用 Python 的示例代码:
import requests
import json
# MCP 服务器地址
MCP_SERVER_URL = "http://127.0.0.1:18080/jsonrpc"
# 定义 JSON-RPC 请求
payload = {
"jsonrpc": "2.0",
"method": "vectorize",
"params": {
"text": "这是一个示例文本"
},
"id": 1
}
# 发送请求
response = requests.post(MCP_SERVER_URL, data=json.dumps(payload), headers={"Content-Type": "application/json"})
# 处理响应
if response.status_code == 200:
result = response.json()
print("向量化结果:", result)
else:
print("请求失败,状态码:", response.status_code)method: 调用的 MCP 方法,例如vectorize。params: 方法的参数,例如文本内容。id: 请求的唯一标识符。
vectorize: 将文本转换为向量。search: 根据向量执行相似性搜索。upload: 上传文件。
更多方法和参数请参考 api/ 目录中的文档。
运行测试套件以确保所有组件正常工作:
pytest- Fork 此仓库。
- 创建新分支:
git checkout -b feature-branch
- 提交更改:
git commit -m "添加新功能" - 推送到分支:
git push origin feature-branch
- 打开 Pull Request。
此项目基于 MIT 许可证授权。详情请参阅 LICENSE 文件。
English version: README_en.md