返回市场
麦克佩-检索辅助生成

麦克佩-检索辅助生成

作者:kalicyh4 星标更新:2025-11-23

项目介绍

MCP-RAG: 低延迟检索增强生成服务

基于MCP(模型上下文协议)协议的低延迟检索增强生成(RAG)服务架构。

特性

  • 极低延迟(<100ms)本地知识检索
  • 双模式支持原始模式(直接检索)和摘要模式(检索+摘要)
  • LLM摘要功能支持Doubao和Ollama等LLM提供商进行智能摘要
  • 模块化架构MCP服务器作为统一的知识接口层
  • 异步优化异步调用和模型预热机制
  • 可扩展设计重排序器与缓存模块之间的预留接口

技术栈

  • 后端框架:FastAPI
  • 向量数据库:ChromaDB(本地部署)
  • 嵌入模型:Doubao嵌入API(默认),可选本地模型(通过sentence transformers的m3e small/e5 small)
  • LLM模型:Doubao API,Ollama(本地部署)
  • 协议:MCP(模型上下文协议)
  • 包管理:UV(现代Python包管理器)

快速开始

1. 环境要求

  • Python >= 3.13
  • UV包管理器

2. 安装依赖

# 基础安装(仅云端API)
uv sync

# 如果需要使用本地嵌入模型(m3e-small, e5-small)
uv sync --extra local-embeddings

3. 启动服务

uv run mcp-rag serve

初始启动错误(懒得修改)
配置文件设置好后就不会有问题

Web配置页面

uv run mcp-rag web
  • 访问配置页面http://localhost:8000/config-page
  • 访问数据管理页面http://localhost:8000/documents-page
  • 使用HTTP APIhttp://localhost:8 8000/docs (Swagger UI)

4. 配置管理

MCP-RAG现在使用JSON文件进行持久化配置管理

data\config.json 文件存储配置信息,支持通过Web界面进行修改和保存。

默认配置示例:

{
  "host": "0.0.0.0",
  "port": 8000,
  "http_port": 8000,
  "debug": false,
  "vector_db_type": "chroma",
  "chroma_persist_directory": "./data/chroma",
  "qdrant_url": "http://localhost:6333",
  "embedding_provider": "doubao",
  "embedding_model": "doubao-embedding-text-240715",
  "embedding_device": "cpu",
  "embedding_cache_dir": null,
  "embedding_api_key": "KEY-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "embedding_base_url": "https://ark.cn-beijing.volces.com/api/v3",
  "llm_provider": "doubao",
  "llm_model": "doubao-seed-1-6-flash-250828",
  "llm_base_url": "https://ark.cn-beijing.volces.com/api/v3",
  "llm_api_key": "KEY-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  "enable_llm_summary": false,
  "enable_thinking": false,
  "max_retrieval_results": 5,
  "similarity_threshold": 0.7,
  "enable_reranker": false,
  "enable_cache": false
}

MCP服务器配置

Xiaozhi Go Server 可以通过MCP协议与MCP-RAG交互。这里是一个配置示例:

{
    "mcpServers": {
        "rag": {
            "command": "uv",
            "args": [
                "run",
                "mcp-rag",
                "serve"
            ],
            "env": {
                "PYTHONUNBUFFERED": "1",
                "MODEL_TYPE": "OPENAI",

                "OPENAI_API_KEY": "aa2ae42b-c82b-41ec-bf4e-51c8ab0e4d78",
                "OPENAI_API_BASE": "https://ark.cn-beijing.volces.com/api/v3",
                "OPENAI_MODEL": "doubao-1-5-pro-32k-250115",
                "OPENAI_TEMPERATURE": "0",

                "EMBEDDING_PROVIDER": "OPENAI",
                "OPENAI_EMBEDDING_MODEL": "doubao-embedding-text-240715",

                "COLLECTION_NAME": "default_collection"
            }
        }
    }
}

5. 使用MCP工具

{
  "name": "rag_ask",
  "arguments": {
    "query": "查询内容",
    "mode": "raw",
    "limit": 5
  }
}

许可证

MIT许可证

贡献

欢迎提交Issue和Pull Requests!