Skip to main content
Glama
vurtnec

LanceDB Node

by vurtnec

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: MCP Tooling Lab

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.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables semantic search and retrieval of information from technical documentation PDFs using RAG-powered natural language queries with Ollama embeddings and LLMs.
    6
    -
  • F
    license
    B
    quality
    D
    maintenance
    A Node.js-based MCP server that enables AI agents to generate embeddings, index documents, and perform semantic vector searches using OpenAI and Chroma. It facilitates the creation of retrieval-augmented generation (RAG) pipelines for internal knowledge assistants and document-based workflows.
    3
    -
  • A
    license
    Not graded
    quality
    C
    maintenance
    Local offline semantic search over documents (txt, md, pdf, docx, pptx, csv). Indexes folders into a LanceDB vector database with multilingual embeddings and supports hybrid vector + keyword search via Reciprocal Rank Fusion. No API keys, no cloud, no Docker required.
    29
    AGPL 3.0