基于MCP(模型上下文协议)协议的低延迟检索增强生成(RAG)服务架构。
# 基础安装(仅云端API)
uv sync
# 如果需要使用本地嵌入模型(m3e-small, e5-small)
uv sync --extra local-embeddings
uv run mcp-rag serve
初始启动错误(懒得修改)
配置文件设置好后就不会有问题
uv run mcp-rag web
http://localhost:8000/config-pagehttp://localhost:8000/documents-pagehttp://localhost:8 8000/docs (Swagger UI)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
}
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"
}
}
}
}
{
"name": "rag_ask",
"arguments": {
"query": "查询内容",
"mode": "raw",
"limit": 5
}
}
MIT许可证
欢迎提交Issue和Pull Requests!