LanceDB Node

by vurtnec
Verified

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

  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

Una implementación de Node.js para la búsqueda vectorial utilizando LanceDB y el modelo de incrustación de Ollama.

  1. Overview
    1. Prerequisites
      1. Installation
        1. Dependencies
          1. Usage
            1. Configuration
              1. MCP Configuration
                1. Custom Embedding Function
                  1. Vector Search Example
                    1. License
                      1. Contributing
                        ID: ag91p7a1yh