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.
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
Una implementación de Node.js para la búsqueda vectorial utilizando LanceDB y el modelo de incrustación de Ollama.