haiku.rag
RAG agêntico sobre seus próprios documentos em um LanceDB embarcado, sem servidor de banco de dados para executar. Busca híbrida com reclassificação, análise Docling para PDFs e mais de 40 formatos, recuperação multimodal e respostas citadas com números de página e títulos de seção.
Documentação
haiku.rag
RAG agêntico que responde perguntas sobre seus próprios documentos com citações a números de página e títulos de seção. Executa localmente em um banco de dados embutido, sem necessidade de servidor.
Construído sobre LanceDB, Pydantic AI e Docling. Documentação completa em ggozad.github.io/haiku.rag.
Novo: busca por visão e multimodal. A ingestão ciente de imagens captura bytes de figuras embutidas; modelos de QA com capacidade de visão os recebem junto com o texto. Embedders multimodais colocam vetores de imagens no mesmo espaço que o texto, permitindo consulta por texto → resultados de figuras e recuperação por imagem como consulta.
Recursos
- Pesquisa híbrida — Vetor + texto completo com fusão de classificação recíproca (Reciprocal Rank Fusion)
- Pesquisa multimodal e entre modalidades — Embedders multimodais (vLLM, VoyageAI, Cohere) colocam vetores de imagens no mesmo espaço que o texto; suporta consulta por texto → resultados de figuras e imagem como consulta
- Resposta a perguntas — Capacidade de RAG com citações (números de página, títulos de seção)
- QA com visão — Modelos com capacidade de visão recebem bytes de figuras junto com o texto dos chunks; anexe suas próprias imagens a perguntas em
ask,analyze, MCP e no TUI de chat - Reclassificação — cross-encoders locais, Cohere, Zero Entropy ou vLLM
- Capacidade de análise — Tarefas analíticas complexas via execução de código Python em sandbox (agregação, computação, análise de múltiplos documentos)
- Compactação de evidências — Capacidade opcional que substitui os resultados de busca de perguntas anteriores na solicitação pelas evidências citadas, para que conversas longas parem de reenviar tudo o que recuperaram
- Política de citação — Capacidade opcional que exige que cada resposta declare o que a fundamenta, incluindo declarar que nada a fundamenta
- RAG conversacional — TUI de chat e aplicação web para conversas de múltiplas voltas com memória de sessão
- Estrutura de documentos — Armazena o DoclingDocument completo, permitindo expansão de contexto ciente da estrutura
- Múltiplos provedores — Embeddings: Ollama, OpenAI, VoyageAI, Cohere, LM Studio, vLLM (multimodal via
multimodal: trueem vLLM/VoyageAI/Cohere). QA: qualquer modelo suportado pelo Pydantic AI - Local-first — LanceDB embutido, sem necessidade de servidores. Também suporta S3, GCS, Azure e LanceDB Cloud
- CLI e API Python — Funcionalidade completa a partir da linha de comando ou código
- Servidor MCP — Exponha como ferramentas para assistentes de IA (Claude Desktop, etc.)
- Fundamentação visual — Veja chunks destacados nas imagens das páginas originais
- Ingestor de produção — Serviço
haiku-ingesterde longa duração com fila SQLite persistente, pool de trabalhadores assíncronos com tentativas e fila de mensagens mortas, adaptadores de fonte FS / HTTP / S3 / WebDAV, plano de controle FastAPI e painel de navegador para operadores. Veja docs/ingester.md. - Tags — Nomeie estados do banco de dados com
haiku-rag tage reverta para eles - Inspetor — TUI para navegar por documentos, chunks e resultados de busca
Instalação
Requer Python 3.12 ou mais recente
Pacote Completo (Recomendado)
pip install haiku.rag
Inclui todos os recursos: processamento de documentos, todos os provedores de embeddings e reclassificadores.
Usando uv? uv pip install haiku.rag
Pacote Enxuto (Dependências Mínimas)
pip install haiku.rag-slim
Instale apenas os extras que você precisa. Veja a documentação de Instalação para as opções disponíveis.
Início Rápido
Nota: Requer um provedor de embeddings (Ollama, OpenAI, etc.). Veja o Tutorial para instruções de configuração.
# Index a PDF
haiku-rag add-src paper.pdf
# Search
haiku-rag search "attention mechanism"
# Ask questions with citations
haiku-rag ask "What datasets were used for evaluation?"
# Ask about an image (vision-capable model)
haiku-rag ask "Does this figure match the spec in the design doc?" --image figure.png
# Analyze — complex analytical tasks via code execution
haiku-rag analyze "How many documents mention transformers?"
# Interactive chat — multi-turn conversations with memory
haiku-rag chat
# Continuously ingest from configured sources (FS, HTTP, S3, WebDAV)
haiku-ingester serve
Veja Configuração para opções de personalização.
API Python
from haiku.rag.client import HaikuRAG
async with HaikuRAG("knowledge.lancedb", create=True) as rag:
# Index documents
await rag.create_document_from_source("paper.pdf")
await rag.create_document_from_source("https://arxiv.org/pdf/1706.03762")
# Search — returns chunks with provenance
results = await rag.search("self-attention")
for result in results:
print(f"{result.score:.2f} | p.{result.page_numbers} | {result.content[:100]}")
# QA with citations
answer, citations = await rag.ask("What is the complexity of self-attention?")
print(answer)
for cite in citations:
print(f" [{cite.chunk_id}] p.{cite.page_numbers}: {cite.content[:80]}")
Para composição direta de agentes, veja a documentação de capacidades.
Servidor MCP
Use com assistentes de IA como Claude Desktop:
haiku-rag mcp --stdio
Adicione à sua configuração do Claude Desktop:
{
"mcpServers": {
"haiku-rag": {
"command": "haiku-rag",
"args": ["mcp", "--stdio"]
}
}
}
Fornece ferramentas para gerenciamento de documentos, busca, QA e análise diretamente no seu assistente de IA.
Exemplos
Veja o diretório de exemplos para exemplos funcionais:
- Configuração Docker - Implantação Docker completa com ingestão contínua (
haiku-ingester) e servidor MCP - Aplicação Web - RAG conversacional full-stack com frontend CopilotKit
Documentação
Documentação completa em: https://ggozad.github.io/haiku.rag/
- Início Rápido - Configuração do provedor e primeira ingestão
- Instalação - Pacotes e extras
- Configuração - Referência YAML
- CLI - Referência de comandos
- API Python - Documentação completa da API
- Capacidades - Capacidades nativas de RAG e análise do Pydantic AI
- Ajuste - Ajuste de recuperação e qualidade de respostas
- Ingestor - Ingestor de produção para indexação contínua de FS, HTTP, S3 e WebDAV
- MCP - Integração com Model Context Protocol
- Processamento remoto - Descarregue a conversão para docling-serve
- Aplicações - TUI de chat, aplicação web e inspetor
- Benchmarks - Benchmarks de desempenho
- Changelog - Histórico de versões
Licença
Este projeto é licenciado sob a Licença MIT.
mcp-name: io.github.ggozad/haiku-rag