LanceDB Node.js Vector Search
Vector search using the LanceDB vector database and Ollama embedding models.
LanceDB Node.js Vector Search
A Node.js implementation for vector search using LanceDB and Ollama's embedding model.
Overview
This project demonstrates how to:
- Connect to a LanceDB database
- Create custom embedding functions using Ollama
- Perform vector similarity search against stored documents
- Process and display search results
Prerequisites
- Node.js (v14 or later)
- Ollama running locally with the
nomic-embed-textmodel - LanceDB storage location with read/write permissions
Installation
- Clone the repository
- Install dependencies:
pnpm install
Dependencies
@lancedb/lancedb: LanceDB client for Node.jsapache-arrow: For handling columnar datanode-fetch: For making API calls to Ollama
Usage
Run the vector search test script:
pnpm test-vector-search
Or directly execute:
node test-vector-search.js
Configuration
The script connects to:
- LanceDB at the configured path
- Ollama API at
http://localhost:11434/api/embeddings
MCP Configuration
To integrate with Claude Desktop as an MCP service, add the following to your MCP configuration JSON:
{
"mcpServers": {
"lanceDB": {
"command": "node",
"args": [
"/path/to/lancedb-node/dist/index.js",
"--db-path",
"/path/to/your/lancedb/storage"
]
}
}
}
Replace the paths with your actual installation paths:
/path/to/lancedb-node/dist/index.js- Path to the compiled index.js file/path/to/your/lancedb/storage- Path to your LanceDB storage directory
Custom Embedding Function
The project includes a custom OllamaEmbeddingFunction that:
- Sends text to the Ollama API
- Receives embeddings with 768 dimensions
- Formats them for use with LanceDB
Vector Search Example
The example searches for "how to define success criteria" in the "ai-rag" table, displaying results with their similarity scores.
License
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
เซิร์ฟเวอร์ที่เกี่ยวข้อง
Supermarket Database
A dockerized PostgreSQL database project for a supermarket data schema, with MCP integration for Claude Desktop.
Timeplus
Interact with the Timeplus real-time data platform for querying and managing data streams.
Shibui Finance
Ask questions about 5,200+ US stocks in plain English. 64 years of prices, financials, technicals, and backtests.
Michelin MCP
Access structured Michelin restaurant data, including cities, countries, cuisines, awards, and facilities.
ADO.NET MCP Server
A C# MCP server for interacting with databases via ADO.NET, compatible with Virtuoso.
Biomart MCP
Interface with Biomart, a biological data query tool, using the pybiomart Python package.
Movie Database
Access a MongoDB movie database using natural language queries.
Federal Reserve Economic Data
Access financial datasets from the Federal Reserve Economic Data (FRED) API.
CData Raiser's Edge NXT
A read-only MCP server by CData that enables LLMs to query live data from Raiser's Edge NXT.
MCP Simple PubMed
Access PubMed articles through the Entrez API.