haiku.rag/haiku_rag_slim
Yiorgis Gozadinos 2da294b850
Put multi-table writes behind one transaction boundary
Four call sites repeated lock, snapshot, try/except, restore. Each used
restore_table_versions, which restores in _tables() order — documents
first, contradicting RESTORE_TABLE_ORDER — and each caught Exception, so
a cancellation mid-write skipped rollback and left the earlier table
writes committed.

Store.write_transaction() holds the lock, snapshots under it, and rolls
back through _rollback_to_snapshot: RESTORE_TABLE_ORDER, shielded from
cancellation, absorbed cancellation re-delivered, rollback failure raised
with the original as cause. The two single-table update_meta sites keep
the bare lock.

The batch documents write moves inside the guarded body; it was outside
the try, so a failure there was never rolled back. Auto-vacuum is
scheduled after the transaction rather than inside it.

restore_table_versions is removed; those four sites were its only callers.
2026-08-19 14:05:40 +03:00
..
haiku/rag Put multi-table writes behind one transaction boundary 2026-08-19 14:05:40 +03:00
LICENSE Restructure into uv workspace to support minimal and full installations 2025-11-04 17:59:12 +02:00
pyproject.toml Fix the MCP registry entry and fill in package and docs metadata 2026-08-18 14:37:05 +03:00
README.md Remove the mxbai reranking provider 2026-07-14 11:09:55 +03:00

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

Document Processing:

  • docling - PDF, DOCX, HTML, and 40+ file formats

Embedding Providers:

  • voyageai - VoyageAI embeddings

Rerankers:

  • cross-encoder - Local reranking via sentence-transformers
  • cohere - Cohere
  • zeroentropy - Zero Entropy

Model Providers:

  • OpenAI/Ollama - included in core (OpenAI-compatible APIs)
  • anthropic - Anthropic Claude
  • groq - Groq
  • google - Google Gemini
  • mistral - Mistral AI
  • bedrock - AWS Bedrock
  • vertexai - Google Vertex AI
# 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/