关于 LanceDB
LanceDB 是基于 Node.js 的向量搜索示例项目,面向使用 LanceDB 和 Ollama 嵌入模型处理文档的开发者。项目演示自定义嵌入函数和相似度搜索。
主要功能
- 01连接 LanceDB 数据库
- 02使用 Ollama 创建嵌入
- 03对文档执行向量相似度搜索
- 04展示搜索结果与相似度分数
适用场景
- 01在 LanceDB 中检索相似文档
- 02测试 Ollama 生成的文本嵌入
- 03查看文档搜索结果的相似度
MCP 相关
项目可配置为 MCP 服务,并在 MCP 客户端配置中连接 LanceDB。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
暂未收录安装方式
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
还没有获取到工具列表
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
LanceDB Node.js 向量搜索
使用 LanceDB 和 Ollama 的嵌入模型实现的 Node.js 向量搜索。
概述
本项目演示如何:
- 连接到 LanceDB 数据库
- 使用 Ollama 创建自定义嵌入函数
- 对存储的文档执行向量相似度搜索
- 处理并显示搜索结果
先决条件
- Node.js(v14 或更高版本)
- 本地运行的 Ollama,且已安装
nomic-embed-text模型 - 具有读写权限的 LanceDB 存储位置
安装
- 克隆仓库
- 安装依赖项:
pnpm install
依赖项
@lancedb/lancedb:适用于 Node.js 的 LanceDB 客户端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”表中搜索“如何定义成功标准”,并显示搜索结果及其相似度分数。
许可证
参与贡献
欢迎贡献!请随时提交拉取请求。
评论
支持 Markdown
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。