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.
Похожие серверы
Tableau MCP Server
Connects Claude Desktop to Tableau Server, enabling natural language interactions with your Tableau data and administrative capabilities.
DeepMemory
DeepMemory MCP is a small Model Context Protocol (MCP) server that provides long-term memory storage for conversational agents.
Go MCP Postgres
A standalone MCP server for interacting with PostgreSQL databases. It supports CRUD operations, a read-only mode, and query plan checking.
Aptos Blockchain MCP
Interact with the Aptos blockchain, supporting both testnet and mainnet for AI applications.
DART-MCP
Perform financial analysis using the DART API and Claude.
1C Metadata
Obtain 1C configuration metadata via an external 1C HTTP service.
Ashare-MCP
A stock market data service for querying A-share market data from Sina and Tencent Finance.
MCP Yahoo Finance
Access real-time stock prices, company information, and financial data from Yahoo Finance.
supOS MCP Server
Provides access to supOS open APIs for querying topic structures, real-time and historical data, and executing SQL queries.
BrianKnows
Access BrianKnows' extensive blockchain knowledge base.