Skip to main content
Glama

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

Related MCP server: Workspace Code Search MCP Server

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

  1. Clonar el repositorio

  2. Instalar dependencias:

pnpm install

Dependencias

  • @lancedb/lancedb : Cliente LanceDB para Node.js

  • apache-arrow : para manejar datos en columnas

  • node-fetch : para realizar llamadas API a Ollama

Uso

Ejecute el script de prueba de búsqueda de vectores:

pnpm test-vector-search

O ejecutar directamente:

node test-vector-search.js

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:

{ "mcpServers": { "lanceDB": { "command": "node", "args": [ "/path/to/lancedb-node/dist/index.js", "--db-path", "/path/to/your/lancedb/storage" ] } } }

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

Licencia MIT

Contribuyendo

¡Agradecemos sus contribuciones! No dude en enviar una solicitud de incorporación de cambios.

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/vurtnec/mcp-LanceDB-node'

If you have feedback or need assistance with the MCP directory API, please join our Discord server