检索增强生成服务器

一个基于Rust和Rocket框架构建的轻量级检索增强生成服务器,提供简单的HTTP API搜索功能,并支持扩展RAG能力。

  • by KonstantinSKY
  • Rust
  • 本地部署
  • 更新于
在 GitHub 查看 konstantinsky/rag-mcp-server

使用说明

RAG MCP服务器

Rust中使用Rocket框架构建的最小模型上下文协议(MCP)服务器。该服务器为搜索功能提供简单的HTTP API,并设计为扩展RAG(Retrieval-Augedged Generation)功能。

特性

  • HTTP API:用于搜索查询的简单REST端点
  • 火箭框架:使用Rust的Rocket web框架构建
  • JSON支持:接受并返回JSON有效载荷
  • 控制台的日志:将收到的查询打印到控制台进行调试
  • 最小设计:干净、重点突出的实施已准备好扩展

API终点

POST/搜索

接受带有搜索查询的JSON有效负载,并返回一个简单的响应。

请求:

{
  "query": "your search query here"
}

答复:

{
  "result": "ok"
}

快速开始

先决条件

  • 锈1.70+和货物
  • 不需要额外的依赖关系

安装与运行

  1. 克隆存储库:

    git clone https://github.com/KonstantinSKY/rag-mcp-server.git
    cd rag-mcp-server
    
  2. 构建并运行服务器:

    cargo run
    

    服务器将于启动 http://127.0.0.1:8000

  3. 测试服务器:

    curl -X POST http://localhost:8000/search \
      -H "Content-Type: application/json" \
      -d '{"query": "test search query"}'
    

    预期响应:

    {"result":"ok"}
    

    控制台输出:

    Received query: test search query
    

项目结构

rag_mcp_server/
├── src/
│   └── main.rs          # Main server implementation
├── promts/
│   └── p1.md           # Project specification
├── Cargo.toml          # Dependencies and project config
└── README.md           # This file

依赖项

  • 火箭:支持JSON的Web框架
  • 塞尔德:序列化/反序列化
  • 瑟德约森:JSON处理
  • 东京:异步运行时

发展

建筑

cargo build

测试

# Start the server
cargo run

# In another terminal, test the endpoint
curl -X POST http://localhost:8000/search \
  -H "Content-Type: application/json" \
  -d '{"query": "hello world"}'

未来的增强功能

此最小服务器旨在通过以下方式进行扩展:

  • RAG功能:向量嵌入和相似性搜索
  • 文档存储:与矢量数据库集成
  • AI模型集成:与语言模型的连接
  • 认证:API密钥或基于令牌的身份验证
  • 速率限制:请求限制和滥用保护
  • 模型上下文协议:完全符合MCP规范

贡献

  1. 分叉存储库
  2. 创建要素分支
  3. 进行更改
  4. 如果适用,添加测试
  5. 提交拉取请求

许可证

此项目根据MIT许可证获得许可-有关详细信息,请参阅许可证文件。

作者

由...创建 康斯坦丁斯基

链接

  • 仓库: https://github.com/KonstantinSKY/rag-mcp-server
  • 问题: https://github.com/KonstantinSKY/rag-mcp-server/issues
  • 火箭框架: https://rocket.rs/
  • 模型上下文协议: https://modelcontextprotocol.io/