LanceDB
Interaja com documentos em disco usando RAG agentivo e busca híbrida via LanceDB.
Documentação
🗄️ Servidor MCP LanceDB para LLMs
Um servidor Model Context Protocol (MCP) que permite que LLMs interajam diretamente com os documentos que possuem em disco por meio de RAG agêntico e busca híbrida no LanceDB. Faça perguntas às LLMs sobre o conjunto de dados como um todo ou sobre documentos específicos.
✨ Recursos
- 🔍 Índice vetorial serverless e catálogo de resumos de documentos baseado em LanceDB.
- 📊 Uso eficiente de tokens de LLM. A própria LLM consulta o que precisa quando precisa.
- 📈 Segurança. O índice é armazenado localmente, portanto nenhum dado é transferido para a nuvem ao usar uma LLM local.
🚀 Início Rápido
Para começar, crie um diretório local para armazenar o índice e adicione esta configuração ao seu arquivo de configuração do 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"
]
}
}
}
Pré-requisitos
- Node.js 18+
- npx
- Cliente MCP (aplicativo Claude Desktop, por exemplo)
- Modelos de sumarização e embedding instalados (veja config.ts - por padrão usamos modelos Ollama)
ollama pull snowflake-arctic-embed2ollama pull llama3.1:8b
Demonstração
Modo de Desenvolvimento Local:
{
"mcpServers": {
"lancedb": {
"command": "node",
"args": [
"PATH_TO_LANCE_MCP/dist/index.js",
"PATH_TO_LOCAL_INDEX_DIR"
]
}
}
}
Use npm run build para compilar o projeto.
Use npx @modelcontextprotocol/inspector dist/index.js PATH_TO_LOCAL_INDEX_DIR para executar o inspetor de ferramentas MCP.
Dados de Seed
O script de seed cria duas tabelas no LanceDB - uma para o catálogo de resumos de documentos e outra para os chunks vetorizados dos documentos. Para executar o script de seed, use o seguinte comando:
npm run seed -- --dbpath <PATH_TO_LOCAL_INDEX_DIR> --filesdir <PATH_TO_DOCS>
Você pode usar dados de exemplo do diretório docs/. Sinta-se à vontade para ajustar os modelos padrão de sumarização e embedding no arquivo config.ts. Se precisar recriar o índice, basta executar novamente o script de seed com a opção --overwrite.
Catálogo
- Resumo do documento
- Metadados
Chunks
- Chunk de documento vetorizado
- Metadados
🎯 Exemplos de Prompts
Experimente estes prompts com o Claude para explorar a funcionalidade:
"What documents do we have in the catalog?"
"Why is the US healthcare system so broken?"
📝 Ferramentas Disponíveis
O servidor fornece estas ferramentas para interação com o índice:
Ferramentas de Catálogo
catalog_search: Buscar documentos relevantes no catálogo
Ferramentas de Chunks
chunks_search: Encontrar chunks relevantes com base em um documento específico do catálogoall_chunks_search: Encontrar chunks relevantes de todos os documentos conhecidos
📜 Licença
Este projeto está licenciado sob a Licença MIT - consulte o arquivo LICENSE para obter detalhes.