使用说明
项目简介
本项目 'Qdrant 记忆上下文服务器' 是一个基于 Model Context Protocol (MCP) 构建的后端服务,它利用 Qdrant 向量数据库作为记忆存储,并提供工具让 LLM 应用能够存储和检索信息,从而为 LLM 应用提供上下文支持。
主要功能点
- 记忆存储 (qdrant-store): 允许 LLM 应用将文本信息及其关联的元数据存储到 Qdrant 向量数据库中,作为长期记忆。
- 记忆检索 (qdrant-find): 允许 LLM 应用根据查询语句在 Qdrant 数据库中检索相关的信息,并返回检索结果,为 LLM 提供上下文信息。
- 可配置的嵌入模型: 支持 FastEmbed 嵌入模型,可以将文本信息转换为向量表示,以便在 Qdrant 中进行高效的语义搜索。
- 灵活的部署方式: 支持通过 Stdio 或 SSE 传输协议与 MCP 客户端通信。
安装步骤
- 克隆仓库:
git clone https://github.com/LeenaKI/qdrant_mcp_server.git cd qdrant_mcp_server - 安装依赖:
pip install .
服务器配置
MCP 客户端需要配置以下 JSON 信息以连接到 'Qdrant 记忆上下文服务器':
{ "server_name": "qdrant-mcp-server", // 服务器名称,可自定义 "command": "mcp-server-qdrant", // 启动服务器的命令 (需要确保 mcp-server-qdrant 命令在环境变量 PATH 中,或者使用可执行文件的完整路径) "args": ["--transport", "stdio"] // 启动参数,这里使用 stdio 传输协议,也可以选择 "sse" }
参数说明:
- 'server_name': 服务器的名称,用于在 MCP 客户端中标识该服务器。可以自定义设置。
- 'command': 启动 'Qdrant 记忆上下文服务器' 的命令。安装项目后,会在 Python 的 scripts 目录生成 'mcp-server-qdrant' 可执行文件。请确保该命令可以被 MCP 客户端执行,可能需要将其所在目录添加到系统的 PATH 环境变量中,或者直接使用可执行文件的完整路径。
- 'args': 传递给 'command' 的命令行参数。
- '--transport': 指定 MCP 服务器使用的传输协议,可选值包括 'stdio' 和 'sse'。'stdio' 适用于标准输入输出流,'sse' 适用于 Server-Sent Events。根据 MCP 客户端的支持情况和实际部署环境选择合适的传输协议。默认为 'stdio'。
环境变量配置:
'Qdrant 记忆上下文服务器' 依赖以下环境变量进行配置:
- 'QDRANT_URL' (必须): Qdrant 服务器的 URL 地址。例如 'http://localhost:6333'。如果使用本地 Qdrant,可以设置为 ':memory:' (内存模式) 或指定本地存储路径。
- 'COLLECTION_NAME' (必须): Qdrant 中用于存储记忆的 Collection 名称。
- 'QDRANT_API_KEY' (可选): 连接 Qdrant 服务器的 API 密钥,如果 Qdrant 服务器需要身份验证则需要配置。
- 'QDRANT_LOCAL_PATH' (可选): 如果使用本地 Qdrant 模式,指定本地存储路径。
- 'EMBEDDING_MODEL' (可选): 指定 FastEmbed 使用的嵌入模型名称,默认为 'sentence-transformers/all-MiniLM-L6-v2'。
- 'TOOL_STORE_DESCRIPTION' (可选): 'qdrant-store' 工具的描述信息,用于 LLM 理解工具用途。
- 'TOOL_FIND_DESCRIPTION' (可选): 'qdrant-find' 工具的描述信息,用于 LLM 理解工具用途。
在运行服务器之前,请确保已配置上述必要的环境变量,例如可以通过 '.env' 文件或直接在运行环境中设置。
基本使用方法
- 启动 MCP 服务器: 在配置好环境变量后,通过 MCP 客户端配置中指定的 'command' 和 'args' 启动 'Qdrant 记忆上下文服务器'。
- 在 MCP 客户端中使用工具:
- qdrant-store 工具: 用于存储信息。在 LLM 应用中,当需要记住某些信息时,可以调用 'qdrant-store' 工具,并提供 'information' (要存储的文本信息) 和可选的 'metadata' (JSON 格式的元数据)。
- qdrant-find 工具: 用于检索信息。在 LLM 应用中,当需要查询记忆或获取上下文信息时,可以调用 'qdrant-find' 工具,并提供 'query' (查询语句)。服务器会返回在 Qdrant 中检索到的相关信息。
示例 (MCP 客户端调用):
假设 MCP 客户端已经连接到 'Qdrant 记忆上下文服务器',以下是一些工具调用的示例 (具体调用方式取决于 MCP 客户端的实现):
-
存储信息:
{ "action": "call_tool", "tool_name": "qdrant-store", "parameters": { "information": "我的家乡是北京。", "metadata": {"source": "user_profile", "topic": "hometown"} } } -
检索信息:
{ "action": "call_tool", "tool_name": "qdrant-find", "parameters": { "query": "我的家乡" } }
通过上述步骤,LLM 应用可以利用 'Qdrant 记忆上下文服务器' 提供的工具,实现记忆存储和检索功能,从而增强 LLM 的上下文理解和长期记忆能力。
信息
分类
数据库与文件