项目简介

这个MCP服务器专注于提供基于Milvus向量数据库的检索增强生成(RAG)能力。它允许LLM客户端以标准化的方式存储和检索文档,从而为大型语言模型(LLM)提供丰富的上下文信息,支持更准确和相关的响应。

主要功能点

  • 文档摄取与管理: 支持将文本内容(如网页内容、上传文件)转化为向量嵌入,并存储到Milvus向量数据库中,方便管理和检索。
  • 语义检索: 能够根据LLM客户端的查询,在已存储的文档中执行高效的语义搜索,找出最相关的文档片段。
  • 工具暴露: 通过MCP协议,将文档添加和搜索功能作为标准工具暴露给LLM客户端,LLM可以通过调用这些工具来获取或更新上下文信息。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/avikumart/LLM-GenAI-Transformers-Notebooks.git
  2. 进入相关目录:
    cd LLM-GenAI-Transformers-Notebooks/mcp-rag-system
  3. 安装Python依赖: 确保您的系统已安装Python 3.8或更高版本。然后安装所需的库:
    pip install pymilvus sentence-transformers mcp python-dotenv
  4. 启动Milvus向量数据库: 确保您有一个可访问的Milvus向量数据库实例正在运行。最常见的方式是使用Docker。您可以参考Milvus官方文档来启动一个Milvus独立版实例(例如,使用'docker-compose')。
  5. 配置环境变量: 在 '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服务器脚本的路径和文件名,请根据您的实际部署路径调整"
}

基本使用方法

  1. 启动MCP服务器: 在 'mcp-rag-system' 目录下运行以下命令来启动MCP服务器:

    python mcp_milvus_server.py

    服务器启动后,将通过JSON-RPC协议监听MCP客户端的请求。

  2. 通过MCP客户端交互: 使用任何支持MCP协议的客户端应用程序(例如,仓库中的'mcp-rag-system/main.py' Streamlit应用或其他自定义的MCP客户端),通过JSON-RPC调用服务器暴露的工具。

    • 'add_documents' 工具: 用于向Milvus数据库中添加新的文档。例如,客户端可以发送包含文档内容的请求,服务器会将其处理成向量并存储。
    • 'search' 工具: 用于在数据库中执行语义搜索,检索与LLM查询相关的文档片段。LLM客户端将利用这些工具获取实时或持久化的上下文信息,以生成更准确和信息丰富的回复。

信息

分类

AI与计算