项目简介

Onyx MCP 服务器是一个实现了 Model Context Protocol (MCP) 的后端应用,旨在将 Onyx AI 知识库的功能(文档搜索、智能问答)暴露给任何兼容 MCP 的大型语言模型 (LLM) 客户端。它充当了 MCP 客户端与 Onyx API 之间的桥梁,使 LLM 能够访问和利用您的 Onyx 知识数据。

主要功能点

  • 增强搜索: 允许 LLM 客户端对您的 Onyx 文档进行语义搜索,并支持基于 LLM 的结果相关性过滤。
  • 上下文检索: 除了匹配的文档片段,还可以检索其上下文(匹配片段上方和下方的相邻片段)。
  • 全文检索: 支持选择性地检索整个文档内容,而不仅仅是片段。
  • 智能问答: 利用 Onyx 强大的问答 API,结合 RAG(检索增强生成)技术,为 LLM 提供基于知识库的全面答案。
  • 文档范围过滤: 支持指定在特定的文档集合中进行搜索或问答,提高结果的相关性。
  • 会话管理: 问答工具支持维护对话上下文,允许 LLM 进行多轮交流。

安装步骤

要安装并运行 Onyx MCP 服务器,您需要 Node.js (v16 或更高版本) 以及一个具备 API 访问权限和 API Token 的 Onyx 实例。

  1. 克隆仓库: 使用 Git 克隆项目的代码到您的本地。

  2. 安装依赖: 进入克隆下来的项目目录,使用 npm 安装所需的依赖库。

  3. 构建服务器: 运行构建命令,生成可执行的服务器文件。

  4. 配置环境变量: 设置两个必要的环境变量,用于连接您的 Onyx 实例:

    • 'ONYX_API_TOKEN': 您的 Onyx API 令牌。
    • 'ONYX_API_URL': 您的 Onyx API 地址,例如 'http://localhost:8080/api'。
  5. 启动服务器: 运行启动命令,服务器将在标准输入/输出 (Stdio) 模式下启动,准备接收 MCP 客户端的连接。

服务器配置 (供 MCP 客户端使用)

MCP 客户端需要知道如何启动并连接到这个服务器。配置通常在 MCP 客户端的设置文件中完成。您需要提供以下信息:

  • 服务器名称: 客户端内部用来引用此服务器的唯一名称,例如 'onyx-search'。
  • 启动命令 (command): 启动服务器进程的命令,例如 'node'。
  • 启动参数 (args): 传递给启动命令的参数列表,其中包含服务器主文件的路径,例如 '/path/to/onyx-mcp-server/build/index.js'。请将 '/path/to/onyx-mcp-server/' 替换为您实际的项目路径。
  • 环境变量 (env): 客户端在启动服务器进程时需要注入的环境变量,主要是 'ONYX_API_TOKEN' 和 'ONYX_API_URL'。

请参考您的 MCP 客户端文档,找到添加自定义 MCP 服务器的具体方法,并填入上述信息。

基本使用方法

一旦在您的 MCP 客户端中配置并成功连接了 Onyx MCP 服务器,LLM 将可以通过客户端暴露的接口来调用服务器提供的工具。

本项目提供了两个核心工具:

  • 'search_onyx': 用于执行知识库搜索。LLM 可以通过调用此工具,提供搜索关键词、可选的文档集合、结果数量等参数,来获取相关的文档片段或全文内容。
  • 'chat_with_onyx': 用于进行知识库问答。LLM 可以通过调用此工具,提供问题、可选的文档集合、甚至指定一个对话 ID 来继续之前的对话,获取基于 Onyx 知识库生成的答案。

LLM 会根据用户的指令和自身的判断,决定何时以及如何调用这些工具来获取额外上下文或生成回复。您可以通过在与 LLM 交互时提及您的知识库内容或提出相关问题来触发工具的使用。

信息

分类

AI与计算