使用说明
项目简介
QDrant RagDocs MCP 服务器是一个基于 Model Context Protocol (MCP) 构建的应用后端,专注于为大型语言模型 (LLM) 提供增强检索生成 (RAG) 能力。它通过集成 Qdrant 向量数据库和 Ollama (免费)/OpenAI (付费) 嵌入模型,实现了对文档的语义搜索、管理和访问。该服务器允许用户添加、搜索、列出和删除文档,并利用向量相似性进行高效的文档检索,从而为 LLM 应用提供丰富的上下文信息。
主要功能点
- 文档添加与管理: 支持添加带有元数据的文档,方便用户组织和管理知识库。
- 语义搜索: 通过自然语言查询,利用向量相似性在文档中进行高效的语义搜索。
- 文档列表: 提供文档列表功能,支持分页、分组和排序,方便用户浏览和查找文档。
- 文档删除: 允许用户删除不再需要的文档,维护知识库的整洁性。
- 灵活的嵌入支持: 支持免费的 Ollama 本地模型和付费的 OpenAI API,用户可以根据需求选择合适的嵌入服务。
- 自动文本处理: 自动进行文本分块和嵌入向量生成,简化文档处理流程。
- 向量存储: 使用 Qdrant 向量数据库存储文档嵌入向量,实现快速的相似性搜索。
安装步骤
- 安装 Node.js: 确保您的系统已安装 Node.js 16 或更高版本。
- 安装 RagDocs MCP Server: 打开终端,运行以下命令全局安装 RagDocs MCP Server:
npm install -g @mcpservers/ragdocs - 安装和运行 Qdrant (可选):
- 本地 Docker 部署 (免费): 如果您选择本地 Qdrant,请确保 Docker 已安装并运行。在终端中运行以下命令启动 Qdrant Docker 容器:
docker run -d --name qdrant -p 6333:6333 -p 6334:6334 qdrant/qdrant - Qdrant Cloud 部署 (托管服务): 您也可以使用 Qdrant Cloud 提供的托管服务,并获取 API 密钥。
- 本地 Docker 部署 (免费): 如果您选择本地 Qdrant,请确保 Docker 已安装并运行。在终端中运行以下命令启动 Qdrant Docker 容器:
- 配置环境变量: 根据您的需求配置以下环境变量:
- 'QDRANT_URL': Qdrant 实例的 URL。本地 Docker 部署默认为 'http://127.0.0.1:6333',Qdrant Cloud 部署请使用您的集群 URL。
- 'QDRANT_API_KEY' (可选): 当使用 Qdrant Cloud 时,需要设置 API 密钥。
- 'EMBEDDING_PROVIDER' (可选): 嵌入提供商,可选值为 'ollama' (默认,免费) 或 'openai' (付费)。
- 'OPENAI_API_KEY' (可选): 当 'EMBEDDING_PROVIDER' 设置为 'openai' 时,需要设置 OpenAI API 密钥。
- 'EMBEDDING_MODEL' (可选): 指定嵌入模型。Ollama 默认为 'nomic-embed-text',OpenAI 默认为 'text-embedding-3-small'。
服务器配置
以下 JSON 配置信息用于 MCP 客户端配置 RagDocs MCP 服务器。请根据您的实际环境选择合适的配置,并将其添加到 MCP 客户端的服务器配置中。
本地 Qdrant 和 Ollama 配置 (默认,免费):
{ "mcpServers": { "ragdocs": { "command": "node", // 启动服务器的命令,这里使用 node "args": ["@mcpservers/ragdocs"], // 启动服务器的参数,指向 RagDocs 入口 "env": { "QDRANT_URL": "http://127.0.0.1:6333", // Qdrant 服务器 URL,本地 Docker 部署默认地址 "EMBEDDING_PROVIDER": "ollama" // 嵌入提供商设置为 Ollama (本地模型) } } } }
Qdrant Cloud 和 Ollama 配置:
{ "mcpServers": { "ragdocs": { "command": "node", "args": ["@mcpservers/ragdocs"], "env": { "QDRANT_URL": "https://your-cluster-url.qdrant.tech", // 替换为您的 Qdrant Cloud 集群 URL "QDRANT_API_KEY": "your-qdrant-api-key", // 替换为您的 Qdrant Cloud API 密钥 "EMBEDDING_PROVIDER": "ollama" // 嵌入提供商设置为 Ollama } } } }
本地 Qdrant 和 OpenAI 配置:
{ "mcpServers": { "ragdocs": { "command": "node", "args": ["@mcpservers/ragdocs"], "env": { "QDRANT_URL": "http://127.0.0.1:6333", // Qdrant 服务器 URL,本地 Docker 部署默认地址 "EMBEDDING_PROVIDER": "openai", // 嵌入提供商设置为 OpenAI "OPENAI_API_KEY": "your-api-key" // 替换为您的 OpenAI API 密钥 } } } }
基本使用方法
RagDocs MCP 服务器通过工具 (Tools) 的形式向 MCP 客户端提供功能。您可以使用 MCP 客户端调用以下工具来操作文档:
-
add_document: 添加文档到 RAG 系统。
- 参数:
- 'url' (必需): 文档 URL 或标识符。
- 'content' (必需): 文档内容。
- 'metadata' (可选): 文档元数据,例如 'title' (文档标题), 'contentType' (内容类型,如 "text/markdown")。
- 参数:
-
search_documents: 通过语义相似性搜索文档。
- 参数:
- 'query' (必需): 自然语言搜索查询。
- 'options' (可选): 搜索选项,例如 'limit' (结果数量限制,1-20), 'scoreThreshold' (相似度阈值,0-1), 'filters' (过滤器,例如 'domain', 'hasCode', 'after', 'before')。
- 参数:
-
list_documents: 列出所有存储的文档,支持分页和分组。
- 参数 (均为可选):
- 'page' (页码,默认为 1)。
- 'pageSize' (每页文档数,1-100,默认为 20)。
- 'groupByDomain' (是否按域名分组,默认为 false)。
- 'sortBy' (排序字段,"timestamp", "title", 或 "domain")。
- 'sortOrder' (排序顺序,"asc" 或 "desc")。
- 参数 (均为可选):
-
delete_document: 从 RAG 系统中删除文档。
- 参数:
- 'url' (必需): 要删除的文档 URL。
- 参数:
您需要在 MCP 客户端中构建符合 MCP 协议的 JSON-RPC 请求,调用上述工具并传递相应的参数,即可与 RagDocs MCP 服务器进行交互,实现文档的 RAG 功能。
信息
分类
AI与计算