使用说明

项目简介

HiRAG-MCP服务器是基于Model Context Protocol (MCP) 构建的后端服务,专为HiRAG (Hierarchical Retrieval-Augmented Generation) 框架设计。它通过MCP协议向LLM客户端提供知识库的检索能力,使得LLM应用能够便捷地利用外部知识进行上下文增强。该服务器集成了两种检索工具:'naive_search' (朴素检索) 和 'hi_search' (混合检索),以满足不同的检索需求。

主要功能点

  • 资源管理 (Resources): 通过集成的HiRAG库,服务器能够管理和访问预先索引的知识库(存储在 'test.txt' 或用户自定义的文本文件中)。
  • 工具注册和执行 (Tools):
    • 'naive_search': 对知识库执行朴素的全文检索,根据查询文本返回相关内容片段。
    • 'hi_search': 执行结合本地知识和全局知识的混合检索,提供更全面的上下文信息。
  • Prompt模板 (Prompts): 虽然仓库中没有直接体现Prompt模板的管理,但其核心功能是为LLM提供上下文,可以理解为隐式地服务于Prompt模板,通过检索到的信息来增强LLM的Prompt。
  • 标准化的MCP协议: 使用JSON-RPC over Stdio与客户端通信,确保与任何兼容MCP协议的LLM客户端无缝集成。

安装步骤

  1. 安装 uv (推荐): 如果尚未安装 'uv',请运行以下命令安装:

    curl -LsSf https://astral.sh/uv/install.sh | sh
  2. 创建并激活虚拟环境: 使用 'uv' 创建虚拟环境并激活:

    uv venv
    source .venv/bin/activate
  3. 安装依赖: 使用 'uv' 同步安装项目依赖:

    uv sync

服务器配置

MCP客户端需要以下JSON格式的配置信息来连接HiRAG-MCP服务器。请根据实际情况配置 'command' 和 'args' 字段。

{
  "server name": "HiRAG-MCP Server",
  "command": "mcp",
  "args": [
    "dev",
    "server.py"
  ],
  "comment": "启动HiRAG-MCP服务器的命令。'mcp dev server.py' 表示使用 mcp 命令行工具以开发模式运行 server.py 文件。"
}

基本使用方法

  1. 启动服务器: 在终端中,确保已激活虚拟环境,并使用以下命令启动HiRAG-MCP服务器:

    mcp dev server.py

    服务器成功启动后,将监听来自MCP客户端的请求。

  2. 使用 MCP 客户端调用工具: 配置并运行任何兼容 MCP 协议的 LLM 客户端 (例如 FastMCP client)。客户端需要配置上述 服务器配置 信息以连接到 HiRAG-MCP 服务器。

  3. 调用 'naive_search' 工具: 客户端可以发送 JSON-RPC 请求调用 'naive_search' 工具,例如:

    {
      "jsonrpc": "2.0",
      "method": "naive_search",
      "params": {
        "query": "你的检索问题",
        "max_tokens": 100  // 可选参数,限制返回结果的最大 token 数
      },
      "id": 1
    }
  4. 调用 'hi_search' 工具: 客户端可以发送 JSON-RPC 请求调用 'hi_search' 工具,例如:

    {
      "jsonrpc": "2.0",
      "method": "hi_search",
      "params": {
        "query": "你的检索问题",
        "max_tokens": 100  // 可选参数,限制返回结果的最大 token 数
      },
      "id": 2
    }
  5. 接收响应: 服务器将返回 JSON-RPC 响应,包含检索结果。例如,对于 'naive_search' 或 'hi_search' 工具,响应的 'result' 字段将包含检索到的文本内容。

信息

分类

AI与计算