使用说明
项目简介
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客户端无缝集成。
安装步骤
-
安装 uv (推荐): 如果尚未安装 'uv',请运行以下命令安装:
curl -LsSf https://astral.sh/uv/install.sh | sh -
创建并激活虚拟环境: 使用 'uv' 创建虚拟环境并激活:
uv venv source .venv/bin/activate -
安装依赖: 使用 '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 文件。" }
基本使用方法
-
启动服务器: 在终端中,确保已激活虚拟环境,并使用以下命令启动HiRAG-MCP服务器:
mcp dev server.py服务器成功启动后,将监听来自MCP客户端的请求。
-
使用 MCP 客户端调用工具: 配置并运行任何兼容 MCP 协议的 LLM 客户端 (例如 FastMCP client)。客户端需要配置上述 服务器配置 信息以连接到 HiRAG-MCP 服务器。
-
调用 'naive_search' 工具: 客户端可以发送 JSON-RPC 请求调用 'naive_search' 工具,例如:
{ "jsonrpc": "2.0", "method": "naive_search", "params": { "query": "你的检索问题", "max_tokens": 100 // 可选参数,限制返回结果的最大 token 数 }, "id": 1 } -
调用 'hi_search' 工具: 客户端可以发送 JSON-RPC 请求调用 'hi_search' 工具,例如:
{ "jsonrpc": "2.0", "method": "hi_search", "params": { "query": "你的检索问题", "max_tokens": 100 // 可选参数,限制返回结果的最大 token 数 }, "id": 2 } -
接收响应: 服务器将返回 JSON-RPC 响应,包含检索结果。例如,对于 'naive_search' 或 'hi_search' 工具,响应的 'result' 字段将包含检索到的文本内容。
信息
分类
AI与计算