使用说明
项目简介
Recall.js 是一个用于构建 RAG (检索增强生成) 应用的工具,它以 JavaScript 库和命令行实用程序的形式提供。该项目旨在提供快速、易用和可嵌入的本地语义搜索能力。通过集成 Model Context Protocol (MCP) 服务器功能,Recall.js 可以作为 LLM 客户端的上下文信息提供者,实现基于本地知识库的检索服务。
主要功能点
- 本地知识库管理: Recall.js 使用 CozoDB 向量数据库来索引和查询数据,支持本地存储和快速检索。
- 语义搜索: 提供 'search' 工具,允许 LLM 客户端通过文本查询在本地知识库中进行语义搜索,并返回相关结果。
- 多语言支持: 支持多语言嵌入,允许以一种语言添加数据,并以另一种语言进行查询。
- MCP 服务器接口: 通过标准 MCP 协议与 LLM 客户端通信,提供工具注册和执行能力。
- Stdio 传输协议: 使用 Stdio 作为 MCP 服务器的传输协议,方便集成和部署。
安装步骤
- 安装 Node.js 和 npm: 确保你的系统已安装 Node.js 和 npm。
- 安装 Recall.js: 在命令行中执行以下命令安装 Recall.js 库:
npm install @sjovanovic/recall.js
服务器配置
要将 Recall.js 作为 MCP 服务器运行,你需要配置 MCP 客户端以连接到该服务器。以下是一个典型的 MCP 客户端配置示例,用于启动 Recall.js MCP 服务器:
{ "serverName": "Recall.js", "command": "node", "args": [ "path/to/your/node_modules/@sjovanovic/recall.js/dist/recall.js", "--mcp" ], "transport": "stdio" }
配置参数说明:
- 'serverName': MCP 服务器的名称,可以自定义。
- 'command': 启动 MCP 服务器的命令,这里使用 'node'。
- 'args': 启动命令的参数数组:
- '"path/to/your/node_modules/@sjovanovic/recall.js/dist/recall.js"': 指向 'recall.js' 脚本文件的路径。你需要根据你的实际安装路径进行调整。通常,'node_modules' 目录位于你的项目根目录下。
- '"--mcp"': Recall.js 的参数,用于启用 MCP 服务器模式。
- 'transport': 指定 MCP 服务器使用的传输协议,这里使用 'stdio'。
注意: 请根据你的实际环境调整 'path/to/your/node_modules/@sjovanovic/recall.js/dist/recall.js' 为 'recall.js' 脚本的真实路径。你可以通过在你的项目根目录下运行 'npm list @sjovanovic/recall.js' 来查找安装路径。
基本使用方法
-
启动 MCP 服务器: 配置完成后,启动你的 MCP 客户端,客户端将根据配置信息启动 Recall.js MCP 服务器。
-
调用 'search' 工具: 在 LLM 应用的 Prompt 中,你可以通过提及 'Recall search' 并提供搜索文本来调用 Recall.js 的语义搜索工具。例如:
请使用 Recall search 工具搜索 "机器学习的应用场景"。MCP 服务器将接收到客户端的工具调用请求,执行语义搜索,并将结果返回给客户端。LLM 可以利用这些结果来增强其生成内容。
-
数据管理: 可以使用 Recall.js 提供的命令行工具或 JavaScript API 来添加、删除和管理本地知识库中的数据。例如,使用命令行添加数据:
node path/to/your/node_modules/@sjovanovic/recall.js/dist/recall.js --add '深度学习是机器学习的一个分支|深度学习|{"category":"AI"}'
重要提示:
- Recall.js 首次运行时会下载本地语言模型 MiniLM-L12-v2,这可能需要一些时间,请耐心等待。
- MCP 服务器功能在 Recall.js 中标记为 "Experimental",可能在未来的版本中有所调整。
信息
分类
数据库与文件