local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Provides a vector search implementation using Node.js, enabling semantic search capabilities for documents stored in a LanceDB database.
Leverages Ollama's embedding model (nomic-embed-text) to create custom embedding functions for converting text into vector representations that can be searched.
Supports package management for the MCP server installation and dependency management using pnpm.
LanceDB Node.js 向量搜索
使用 LanceDB 和 Ollama 的嵌入模型进行向量搜索的 Node.js 实现。
概述
该项目演示了如何:
- 连接到 LanceDB 数据库
- 使用 Ollama 创建自定义嵌入函数
- 对存储的文档执行向量相似性搜索
- 处理并显示搜索结果
先决条件
- Node.js(v14 或更高版本)
- Ollama 使用
nomic-embed-text
模型在本地运行 - 具有读/写权限的 LanceDB 存储位置
安装
- 克隆存储库
- 安装依赖项:
依赖项
@lancedb/lancedb
:Node.js 的 LanceDB 客户端apache-arrow
:用于处理列式数据node-fetch
:用于向 Ollama 发出 API 调用
用法
运行向量搜索测试脚本:
或者直接执行:
配置
该脚本连接到:
- LanceDB 在配置的路径下
- Ollama API 位于
http://localhost:11434/api/embeddings
MCP 配置
要与 Claude Desktop 作为 MCP 服务集成,请将以下内容添加到您的 MCP 配置 JSON 中:
用您的实际安装路径替换路径:
/path/to/lancedb-node/dist/index.js
- 已编译 index.js 文件的路径/path/to/your/lancedb/storage
- 您的 LanceDB 存储目录的路径
自定义嵌入函数
该项目包括一个自定义的OllamaEmbeddingFunction
,它:
- 向 Ollama API 发送文本
- 接收 768 维的嵌入
- 格式化它们以便与 LanceDB 一起使用
向量搜索示例
该示例在“ai-rag”表中搜索“如何定义成功标准”,并显示其相似度分数的结果。
执照
贡献
欢迎贡献代码!欢迎提交 Pull 请求。
This server cannot be installed
使用 LanceDB 和 Ollama 的嵌入模型进行向量搜索的 Node.js 实现。