LanceDB
Interactúa con documentos en disco usando RAG agentivo y búsqueda híbrida a través de LanceDB.
Documentación
🗄️ Servidor MCP de LanceDB para LLMS
Un servidor de Model Context Protocol (MCP) que permite a los LLMs interactuar directamente con los documentos que tienen en disco a través de RAG agéntico y búsqueda híbrida en LanceDB. Haz preguntas a los LLMs sobre el conjunto de datos en su totalidad o sobre documentos específicos.
✨ Características
- 🔍 Índice vectorial serverless impulsado por LanceDB y catálogo de resúmenes de documentos.
- 📊 Uso eficiente de tokens de LLM. El propio LLM busca lo que necesita cuando lo necesita.
- 📈 Seguridad. El índice se almacena localmente, por lo que no se transfieren datos a la nube cuando se utiliza un LLM local.
🚀 Inicio rápido
Para comenzar, crea un directorio local para almacenar el índice y añade esta configuración a tu archivo de configuración de Claude Desktop:
MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"lancedb": {
"command": "npx",
"args": [
"lance-mcp",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
Requisitos previos
- Node.js 18+
- npx
- Cliente MCP (por ejemplo, la aplicación Claude Desktop)
- Modelos de resumen y embedding instalados (ver config.ts - por defecto usamos modelos de Ollama)
ollama pull snowflake-arctic-embed2ollama pull llama3.1:8b
Demostración
Modo de desarrollo local:
{
"mcpServers": {
"lancedb": {
"command": "node",
"args": [
"PATH_TO_LANCE_MCP/dist/index.js",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
Usa npm run build para compilar el proyecto.
Usa npx @modelcontextprotocol/inspector dist/index.js PATH_TO_LOCAL_INDEX_DIR para ejecutar el inspector de herramientas MCP.
Datos semilla
El script de semilla crea dos tablas en LanceDB: una para el catálogo de resúmenes de documentos y otra para los fragmentos vectorizados de los documentos. Para ejecutar el script de semilla, usa el siguiente comando:
npm run seed -- --dbpath <PATH_TO_LOCAL_INDEX_DIR> --filesdir <PATH_TO_DOCS>
Puedes usar los datos de muestra del directorio docs/. No dudes en ajustar los modelos de resumen y embedding predeterminados en el archivo config.ts. Si necesitas recrear el índice, simplemente vuelve a ejecutar el script de semilla con la opción --overwrite.
Catálogo
- Resumen del documento
- Metadatos
Fragmentos
- Fragmento de documento vectorizado
- Metadatos
🎯 Ejemplos de indicaciones
Prueba estas indicaciones con Claude para explorar la funcionalidad:
"What documents do we have in the catalog?"
"Why is the US healthcare system so broken?"
📝 Herramientas disponibles
El servidor proporciona estas herramientas para interactuar con el índice:
Herramientas de catálogo
catalog_search: Busca documentos relevantes en el catálogo
Herramientas de fragmentos
chunks_search: Encuentra fragmentos relevantes basados en un documento específico del catálogoall_chunks_search: Encuentra fragmentos relevantes de todos los documentos conocidos
📜 Licencia
Este proyecto está licenciado bajo la Licencia MIT; consulta el archivo LICENSE para más detalles.