Commit graph

28 commits

Author SHA1 Message Date
Yiorgis Gozadinos
483c0ec354
Give the docs an architecture page and one extras list
overview.md repeated the landing page: the same install-and-ask block and
five of six identical links. It was positioning prose, where the docs had no
page describing how the system works.

Rewrite it as Architecture, following the data through: source adapter,
converter, chunker, embedder, transaction; then storage and its versioning;
then retrieval, with the 10x rerank fetch and section-bounded expansion; then
the two capabilities; then laptop versus ingester. Retitled in the nav and on
the landing page, filename kept so existing links resolve.

Extras were listed in three places and none was complete.
docs/installation.md now carries a table of all fifteen slim extras, what each
provides, and which the full package already includes.
haiku_rag_slim/README.md names them and links there. The claim that other
providers need their own pydantic-ai extra was wrong: haiku.rag-slim defines
anthropic, google, groq, mistral, bedrock and vertexai itself.

configuration/storage.md opens with the four operational constraints, which
were either buried in an S3 section or undocumented: one writer per URI,
reader lag by read_consistency_interval_seconds, migrate after a
schema-changing upgrade, and the fixed embedding dimension with what
ConfigMismatchError means and which rebuild mode resolves it.

The one-writer rule is stated as a haiku.rag constraint, which is what it is:
the multi-table lock, version snapshot and rollback are process-local, so a
second writer can commit inside another's transaction and be reverted by its
rollback. storage.md and ingester.md both claimed it was a LanceDB property
that corrupts manifests. The S3 deployment section now links to the
constraint instead of restating it.

Get started reads index, Quickstart, Installation, Architecture. The landing
page's list was missing Installation.
2026-08-20 15:07:06 +03:00
Yiorgis Gozadinos
72ef18e39d
Reject unknown and out-of-range configuration values
Every section inherited plain BaseModel, so unknown keys were dropped
silently: providers.docling_serve.timeout was documented for months while
being ignored, and a typo in any setting took the default. Sections now
derive from ConfigModel, which forbids extras, so a stale or misspelled key
fails with its path. This already found search.context_radius in a live app
config and providers.vllm in soliplex's example.

converter, chunker and chunker_type are Literals. Sizes, limits,
dimensions, token budgets, attempt counts and breaker thresholds must be
positive; retention, delays, intervals and cooldowns non-negative;
similarity_threshold within 0-1; port within 0-65535. port 0 keeps its
OS-assigned meaning and worker_count allows 0 for an API-and-reaper-only
process.

get_reranker caught ImportError and returned None, so a configured reranker
whose extra was missing silently disappeared. It now propagates.
raise_missing_extra names the install command and re-raises when the failure
came from inside an installed package, so a broken transitive import is not
reported as a missing one. zeroentropy imported bare and now guards like the
others.

The haiku.rag package declares the jina extra. jina-local already worked
there through cross-encoder's transitive transformers and torch; the
resolved package set is unchanged, but the support is now promised rather
than inherited.

Provider fields stay unconstrained: get_model ends in a pass-through to
pydantic-ai for any provider it supports, so a Literal there would reject
valid configurations.
2026-08-19 15:32:51 +03:00
Yiorgis Gozadinos
88651a42d2
Fix packaging and settings facts in the docs
`docs/installation.md` claimed the full package contained every extra. It
pulls `docling`, `voyageai`, `cohere`, `zeroentropy`, `cross-encoder` and
`tui`, so `jina`, `s3` and `ingester` need installing separately. Without
`jina`, `provider: jina-local` falls back to no reranking. Anthropic is not
built in, and only the slim Docker image is published.

`docs/tuning.md` pointed at `claim_timeout_s`, which `WorkerConfig` now
rejects.
2026-07-28 18:22:05 +03:00
Yiorgis Gozadinos
144900d385
Remove the mxbai reranking provider 2026-07-14 11:09:55 +03:00
Yiorgis Gozadinos
66d5fee682
Docker & docs updates 2026-05-26 11:44:45 +03:00
Yiorgis Gozadinos
910d178b00
docs: rebuild Skills section, drop pitch prose 2026-05-20 14:27:16 +03:00
Yiorgis Gozadinos
eb5d0b0622
Use tui as an optional group. vb 2026-01-13 12:30:19 +02:00
Yiorgis Gozadinos
090be293d2
Clarify folder mounts in docker docs, check monitor paths exist in FileWatcher 2025-12-19 11:58:08 +02:00
Yiorgis Gozadinos
5612ecaee7
Fix documentation configuration index 2025-11-26 10:24:53 +02:00
Yiorgis Gozadinos
41ea675964
Update and restructure docs 2025-11-25 12:14:24 +02:00
Yiorgis Gozadinos
f728fea489
Stop building full docker image 2025-11-18 14:48:34 +02:00
Yiorgis Gozadinos
d197fb5a35
Update docker example & relevant docs 2025-11-17 14:21:08 +02:00
Yiorgis Gozadinos
973522ffe2
Documentation 2025-11-17 13:07:46 +02:00
Yiorgis Gozadinos
9ee64a33e0
Remove A2A from haiku.rag, turn it into an example 2025-11-07 13:31:51 +02:00
Yiorgis Gozadinos
ef5e829bdc
Update docs 2025-11-05 12:56:03 +02:00
Yiorgis Gozadinos
700e7c94e0
Update docs 2025-11-04 18:49:57 +02:00
Yiorgis Gozadinos
2f00686605
Support for zero entropy reranker 2025-10-30 13:36:44 +02:00
Yiorgis Gozadinos
110cc447e7
Update documentation to remove references to env variables and replace with yaml config 2025-10-23 15:56:34 +03:00
Mikko Ohtamaa
47d0b7851e
Update Python version requirement to 3.12 2025-10-17 16:24:23 +02:00
Yiorgis Gozadinos
b9c22e634c
Update docs to refer to docker 2025-10-16 17:25:02 +03:00
Yiorgis Gozadinos
0e1bf3e00d
CLI command to prefetch models (Ollama & Docling) 2025-09-23 16:30:56 +03:00
Yiorgis Gozadinos
bc28e60cf7
Support vLLM for QA agents 2025-09-04 15:20:37 +03:00
Yiorgis Gozadinos
f2847d0524
Reranking support for vLLM, documentation update 2025-09-04 13:13:10 +03:00
Yiorgis Gozadinos
628bdc8151
Cleanup 2025-09-01 14:56:15 +03:00
Yiorgis Gozadinos
4e2e6e490e
Update extras and docs 2025-08-15 21:44:33 +02:00
Yiorgis Gozadinos
ad9879802a
Fix incorrect syntax for uv pip install with extras 2025-07-20 22:40:12 +03:00
Yiorgis Gozadinos
b28ed57cf5
Update docs 2025-07-04 11:55:04 +03:00
Yiorgis Gozadinos
a704f300bc
Initial skeleton for docs 2025-06-25 20:16:08 +03:00