使用说明
项目简介
mcp-rag 是一个示例 MCP 服务器,它实现了检索增强生成(RAG)功能。该服务器通过 MCP 协议与 LLM 客户端通信,提供了一个名为 'retrieve' 的工具,允许 LLM 根据用户查询检索相关文档片段,从而增强 LLM 的上下文理解和生成能力。
主要功能点
- MCP 服务器: 遵循 Model Context Protocol,作为 LLM 客户端的上下文服务后端。
- RAG 功能: 实现基于向量索引的文档检索,为 LLM 提供外部知识。
- Retrieve 工具: 提供 'retrieve' 工具,LLM 客户端可以调用此工具并传入查询语句,服务器将返回相关的文档内容。
- 可配置: 支持使用 OpenAI 或 Azure OpenAI 的 Embedding 模型,可以通过环境变量进行配置。
- 快速上手: 提供 Claude Desktop 客户端的快速配置指南。
安装步骤
- 克隆仓库
git clone https://github.com/EasyLLM/mcp-rag.git cd mcp-rag - 配置环境变量
- 设置 'OPENAI_API_KEY' 环境变量,用于 OpenAI API 的访问认证。如果您使用 Azure OpenAI,请设置 'OPENAI_API_BASE' 和 'OPENAI_API_VERSION' 环境变量。
- 设置 'FOLDER_PATH' 环境变量,指向包含您希望索引的文档的文件夹路径。
- 示例 (Linux/macOS):
或 (Windows):export OPENAI_API_KEY="YOUR_OPENAI_API_KEY" export FOLDER_PATH="/path/to/your/documents"$env:OPENAI_API_KEY="YOUR_OPENAI_API_KEY" $env:FOLDER_PATH="C:\path\to\your\documents"
服务器配置
要将此 MCP 服务器连接到 MCP 客户端(例如 Claude Desktop),您需要配置客户端的服务器设置。以下是一个典型的 JSON 配置示例,您需要将其添加到 MCP 客户端的配置文件中。
{ "servers": [ { "serverName": "mcp-rag-server", "command": "python", "args": ["-m", "mcp_rag"] } ] }
配置参数说明:
- 'serverName': 服务器的名称,可以自定义,例如 "mcp-rag-server"。
- 'command': 启动服务器的命令,这里使用 'python' 命令。
- 'args': 传递给 'python' 命令的参数,'-m mcp_rag' 表示以模块方式运行 'mcp_rag' 包,这将启动 'mcp_rag' 服务器。
请注意: 此配置假设您的 Python 环境已配置好,并且 'mcp_rag' 项目可以通过 'python -m mcp_rag' 命令运行。您可能需要根据您的实际环境调整 'command' 和 'args'。
基本使用方法
- 启动服务器: 配置完成后,当 MCP 客户端尝试连接到 "mcp-rag-server" 时,它将使用您提供的 'command' 和 'args' 启动服务器。
- 调用工具: 在 MCP 客户端中,您可以使用 '@retrieve' 工具并提供查询语句来触发文档检索。例如,在 Claude Desktop 中,您可以输入类似 '@retrieve query="你的查询内容"' 的指令。
- 获取结果: 服务器将根据您的查询检索相关文档片段,并将结果返回给 MCP 客户端,LLM 可以利用这些信息生成更丰富的回复。
使用示例 (Claude Desktop):
在 Claude Desktop 中输入:
@retrieve query="什么是 Model Context Protocol?"
服务器将检索与 "Model Context Protocol" 相关的文档内容,并将结果返回给 Claude,Claude 可以根据检索到的信息回答您的问题。
信息
分类
AI与计算