Búsqueda vectorial de LanceDB Node.js
Una implementación de Node.js para la búsqueda vectorial utilizando LanceDB y el modelo de incrustación de Ollama.
Descripción general
Este proyecto demuestra cómo:
- Conectarse a una base de datos LanceDB
- Cree funciones de incrustación personalizadas con Ollama
- Realizar una búsqueda de similitud vectorial en los documentos almacenados
- Procesar y mostrar los resultados de la búsqueda
Prerrequisitos
- Node.js (v14 o posterior)
- Ollama ejecutándose localmente con el modelo
nomic-embed-text
- Ubicación de almacenamiento de LanceDB con permisos de lectura y escritura
Instalación
- Clonar el repositorio
- Instalar dependencias:
Dependencias
@lancedb/lancedb
: Cliente LanceDB para Node.jsapache-arrow
: para manejar datos en columnasnode-fetch
: para realizar llamadas API a Ollama
Uso
Ejecute el script de prueba de búsqueda de vectores:
O ejecutar directamente:
Configuración
El script se conecta a:
- LanceDB en la ruta configurada
- API de Ollama en
http://localhost:11434/api/embeddings
Configuración de MCP
Para integrarse con Claude Desktop como un servicio MCP, agregue lo siguiente a su JSON de configuración de MCP:
Reemplace las rutas con sus rutas de instalación reales:
/path/to/lancedb-node/dist/index.js
- Ruta al archivo index.js compilado/path/to/your/lancedb/storage
- Ruta a su directorio de almacenamiento de LanceDB
Función de incrustación personalizada
El proyecto incluye una OllamaEmbeddingFunction
personalizada que:
- Envía texto a la API de Ollama
- Recibe incrustaciones con 768 dimensiones
- Los formatea para usarlos con LanceDB
Ejemplo de búsqueda de vectores
El ejemplo busca "cómo definir criterios de éxito" en la tabla "ai-rag" y muestra los resultados con sus puntajes de similitud.
Licencia
Contribuyendo
¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Una implementación de Node.js para la búsqueda vectorial utilizando LanceDB y el modelo de incrustación de Ollama.
Related MCP Servers
- -securityAlicense-qualityProvides RAG capabilities for semantic document search using Qdrant vector database and Ollama/OpenAI embeddings, allowing users to add, search, list, and delete documentation with metadata support.Last updated -54TypeScriptApache 2.0
Chroma MCP Serverofficial
AsecurityAlicenseAqualityA server that provides data retrieval capabilities powered by Chroma embedding database, enabling AI models to create collections over generated data and user inputs, and retrieve that data using vector search, full text search, and metadata filtering.Last updated -12188PythonApache 2.0- -securityAlicense-qualityA Model Context Protocol server that enables semantic search capabilities by providing tools to manage Qdrant vector database collections, process and embed documents using various embedding services, and perform semantic searches across vector embeddings.Last updated -89TypeScriptMIT License
- -securityAlicense-qualityEnables semantic search across multiple Qdrant vector database collections, supporting multi-query capability and providing semantically relevant document retrieval with configurable result counts.Last updated -46TypeScriptMIT License