← Back to directory
H

Haiku RAG

Community
Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling
GitHub source repository ↗
★ 584 Stars Category · Other Very popular Source revision 73d04ddba599
40FMRS · D
Reliability
8/20
Security and permissions
6/20
Maintenance
9/20
Documentation
9/20
Setup experience
8/20

Haiku RAG is a feature-rich agentic RAG server combining LanceDB, Pydantic AI, and Docling, offering hybrid search, multimodal search, citation-based QA, and analysis capabilities. It is suitable for local-first RAG applications, but users should be aware of the risks of sandboxed code execution and its non-official maintenance status.

Read the FMRS scoring method →

Haiku RAG is an opinionated agentic RAG server built on LanceDB, Pydantic AI, and Docling. It offers hybrid search (vector + full-text with Reciprocal Rank Fusion), multimodal and cross-modal search (text-as-query → figure hits, image-as-query), question answering with citations (page numbers, section headings), vision QA (vision-capable models receive figure bytes alongside chunk text), reranking (local cross-encoders, Cohere, Zero Entropy, or vLLM), analysis capability (complex analytical tasks via sandboxed Python execution), conversational RAG (chat TUI and web application), and document structure storage. It supports multiple embedding providers (Ollama, OpenAI, VoyageAI, Cohere, LM Studio, vLLM) and is local-first with embedded LanceDB, also supporting S3, GCS, Azure, and LanceDB Cloud. It provides a CLI, Python API, and MCP server to expose tools for AI assistants like Claude Desktop.

Tools

document management
Tools for adding, removing, or managing indexed documents
search
Perform hybrid search over the document collection
QA
Answer questions based on indexed content with citations
analysis
Execute complex analytical tasks with code execution

Setup

  1. Ensure Python 3.12 or newer.
  2. Install the full package: pip install haiku.rag (or use the slim package haiku.rag-slim).
  3. Configure an embedding provider (e.g., Ollama, OpenAI).
  4. Add the MCP server to your Claude Desktop configuration as shown in the example JSON.
claude_desktop_config.json
{
  "mcpServers": {
    "haiku-rag": {
      "command": "haiku-rag",
      "args": ["mcp", "--stdio"]
    }
  }
}

Fit and risk

Best for

  • Local-first RAG scenarios without mandatory cloud dependencies
  • Question answering systems requiring high-quality citations
  • Research or document analysis involving figures and vision QA
  • Developers who want flexibility in choosing embedding and reranking providers

Not for

  • Fully cloud-hosted large-scale production environments (though cloud storage is supported, it's primarily local-first)
  • Simple keyword search without document structure or images
  • Enterprise users requiring official support or commercial assurance (the project is MIT-licensed community project)

Required permissions

  • File system access: reading and indexing local documents
  • Network access: fetching documents from HTTP, S3, etc., and calling embedding/QA provider APIs
  • Local code execution: analysis capability uses sandboxed Python execution, so this may pose security risks

Risks and side effects

  • Sandboxed code execution may have security risks; ensure inputs are trusted
  • External API calls (embedding, QA) may incur costs
  • Local database and data need proper backups to avoid loss
  • The server is not officially maintained, so compatibility or stability issues may arise

Troubleshooting

  1. 1. Ensure Python version >= 3.12.
  2. 2. Check that the embedding provider is configured correctly (e.g., Ollama is running).
  3. 3. Ensure indexed document paths or URLs are accessible.
  4. 4. Consult the official documentation or GitHub issue tracker.

Use cases

Smart search and Q&A over PDF documents
Multimodal retrieval over document collections, including image queries
Local-first RAG applications via CLI or Python API
Exposing document management, search, QA, and analysis tools to AI assistants like Claude Desktop

Supported clients

Claude DesktopFull support