项目简介
这个MCP服务器专注于提供基于Milvus向量数据库的检索增强生成(RAG)能力。它允许LLM客户端以标准化的方式存储和检索文档,从而为大型语言模型(LLM)提供丰富的上下文信息,支持更准确和相关的响应。
主要功能点
- 文档摄取与管理: 支持将文本内容(如网页内容、上传文件)转化为向量嵌入,并存储到Milvus向量数据库中,方便管理和检索。
- 语义检索: 能够根据LLM客户端的查询,在已存储的文档中执行高效的语义搜索,找出最相关的文档片段。
- 工具暴露: 通过MCP协议,将文档添加和搜索功能作为标准工具暴露给LLM客户端,LLM可以通过调用这些工具来获取或更新上下文信息。
安装步骤
- 克隆仓库:
git clone https://github.com/avikumart/LLM-GenAI-Transformers-Notebooks.git - 进入相关目录:
cd LLM-GenAI-Transformers-Notebooks/mcp-rag-system - 安装Python依赖:
确保您的系统已安装Python 3.8或更高版本。然后安装所需的库:
pip install pymilvus sentence-transformers mcp python-dotenv - 启动Milvus向量数据库: 确保您有一个可访问的Milvus向量数据库实例正在运行。最常见的方式是使用Docker。您可以参考Milvus官方文档来启动一个Milvus独立版实例(例如,使用'docker-compose')。
- 配置环境变量:
在 'mcp-rag-system' 目录下创建一个名为 '.env' 的文件,并填入您的Milvus连接信息:
MILVUS_HOST=localhost # 根据您的Milvus实例的实际IP地址或主机名进行设置 MILVUS_PORT=19530 # 根据您的Milvus实例的实际端口进行设置
服务器配置 (用于MCP客户端)
MCP客户端需要以下JSON格式的配置信息来连接和使用此服务器:
{ "server name": "milvus-rag", "command": "python", "args": [ "mcp-rag-system/mcp_milvus_server.py" ], "comment_server_name": "MCP服务器的唯一名称,用于客户端识别", "comment_command": "MCP服务器的启动命令,通常是Python解释器", "comment_args": "启动MCP服务器脚本的路径和文件名,请根据您的实际部署路径调整" }
基本使用方法
-
启动MCP服务器: 在 'mcp-rag-system' 目录下运行以下命令来启动MCP服务器:
python mcp_milvus_server.py服务器启动后,将通过JSON-RPC协议监听MCP客户端的请求。
-
通过MCP客户端交互: 使用任何支持MCP协议的客户端应用程序(例如,仓库中的'mcp-rag-system/main.py' Streamlit应用或其他自定义的MCP客户端),通过JSON-RPC调用服务器暴露的工具。
- 'add_documents' 工具: 用于向Milvus数据库中添加新的文档。例如,客户端可以发送包含文档内容的请求,服务器会将其处理成向量并存储。
- 'search' 工具: 用于在数据库中执行语义搜索,检索与LLM查询相关的文档片段。LLM客户端将利用这些工具获取实时或持久化的上下文信息,以生成更准确和信息丰富的回复。
信息
分类
AI与计算