The modal listed every document and mounted a checkbox per document, so a corpus of tens of thousands never finished rendering: 67k sequential mounts across two databases, and the same for one database that size. Titles repeat at that scale too, and the ids were derived from the title, so they collided. It shows a page of 200 now, mounted in one call and identified by position, and the search box asks the database for the rest on enter, matching titles and URIs. Typing still narrows the page on screen, for feedback while typing. `search_filter` escapes the term, which is whatever was typed. A federated listing takes its window across the databases rather than filling it from the first one: concatenating hid every database after whichever was listed first, which for a set of a thousand papers and sixty thousand articles meant a page of papers alone. Sorting would not have helped, since document ids and article titles sort into separate runs, so the page is picked by interleaving and the modal sorts it for display. |
||
|---|---|---|
| .. | ||
| haiku/rag | ||
| LICENSE | ||
| pyproject.toml | ||
| README.md | ||
haiku.rag-slim
Opinionated agentic RAG powered by LanceDB, Pydantic AI, and Docling - Core package with minimal dependencies.
haiku.rag-slim is the core package for users who want to install only the dependencies they need. Document processing (docling), and reranker support are all optional extras.
For most users, we recommend installing haiku.rag instead, which includes all features out of the box.
Installation
Python 3.12 or newer required
Minimal Installation
uv pip install haiku.rag-slim
Core functionality with OpenAI/Ollama support, MCP server, and Logfire observability. Document processing (docling) is optional.
With Document Processing
uv pip install haiku.rag-slim[docling]
Adds support for 40+ file formats including PDF, DOCX, HTML, and more.
Available Extras
docling, tui, voyageai, cohere, zeroentropy, cross-encoder, jina,
s3, ingester, and one per model provider: anthropic, google, groq,
mistral, bedrock, vertexai. Ollama and any OpenAI-compatible endpoint need
no extra.
What each provides, and which ones the full haiku.rag package already
includes: Installation.
# Common combinations
uv pip install 'haiku.rag-slim[docling,anthropic,cross-encoder]'
uv pip install 'haiku.rag-slim[docling,groq]'
Usage
See the main haiku.rag repository for:
- Quick start guide
- CLI examples
- Python API usage
- MCP server setup
Documentation
Full documentation: https://ggozad.github.io/haiku.rag/
- Installation - Provider setup
- Configuration - YAML configuration
- CLI - Command reference
- Python API - Complete API docs