L

LanceDB-Ollama节点向量检索

@vurtnec/mcp-LanceDB-node
0 Stars 376 次浏览 vurtnec 更新于 2026-08-23

使用 LanceDB 和 Ollama 的嵌入模型的 Node.js 向量搜索实现。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

LanceDB Node.js 向量搜索

使用 LanceDB 和 Ollama 的嵌入模型实现的 Node.js 向量搜索。

概述

本项目演示了如何:

  • 连接到 LanceDB 数据库
  • 使用 Ollama 创建自定义嵌入函数
  • 对存储的文档执行向量相似性搜索
  • 处理并显示搜索结果

前提条件

  • Node.js (v14 或更高版本)
  • 本地运行的 Ollama 并带有 nomic-embed-text 模型
  • 具有读/写权限的 LanceDB 存储位置

安装

  1. 克隆仓库
  2. 安装依赖项:
pnpm install

依赖项

  • @lancedb/lancedb: LanceDB 的 Node.js 客户端
  • apache-arrow: 用于处理列式数据
  • node-fetch: 用于向 Ollama 发起 API 调用

使用

运行向量搜索测试脚本:

pnpm test-vector-search

或者直接执行:

node test-vector-search.js

配置

脚本连接到:

  • 配置路径下的 LanceDB
  • http://localhost:11434/api/embeddings 上的 Ollama API

MCP 配置

要将此项目作为 MCP 服务与 Claude Desktop 集成,请在您的 MCP 配置 JSON 中添加以下内容:

{
  "mcpServers": {
    "lanceDB": {
      "command": "node",
      "args": [
        "/path/to/lancedb-node/dist/index.js",
        "--db-path",
        "/path/to/your/lancedb/storage"
      ]
    }
  }
}

请将路径替换为实际的安装路径:

  • /path/to/lancedb-node/dist/index.js - 编译后的 index.js 文件的路径
  • /path/to/your/lancedb/storage - LanceDB 存储目录的路径

自定义嵌入函数

项目中包含一个自定义的 OllamaEmbeddingFunction,它:

  • 将文本发送到 Ollama API
  • 接收 768 维度的嵌入
  • 格式化它们以便与 LanceDB 一起使用

向量搜索示例

示例在 "ai-rag" 表中搜索 "how to define success criteria",并显示带有相似度得分的结果。

许可证

MIT License

贡献

欢迎贡献!请随时提交 Pull Request。

相关 MCP 服务