Commit graph

497 commits

Author SHA1 Message Date
Yiorgis Gozadinos
90e9a6bc17
changelog entry + bare-prefix redirect for ingester root_path 2026-06-11 09:30:22 +03:00
Tres Seaver
b78f0ae9ed
feat(ingester): serve control plane under a configurable base path
Add `ingester.api.root_path` so the HTTP control plane (dashboard + API)
can be reverse-proxied behind a sub-path (e.g. /ingester/) on a shared
origin, instead of needing nginx sub_filter URL-rewriting.

- APIConfig.root_path: normalized ('', or single leading slash, no trailing
  slash) via a field_validator; validate_assignment so CLI overrides
  normalize the same way as config-file values.
- Forwarded to FastAPI(root_path=) and uvicorn.Config(root_path=) so
  OpenAPI/docs links are prefix-aware.
- Dashboard route injects a <base href> matching root_path; all dashboard
  fetches are now base-relative, so they resolve under the prefix while
  staying identical at the root.
- `serve --root-path` CLI flag.
- Docs: "Behind a reverse proxy" section with an nginx example.

Closes #431

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-09 23:02:43 -04:00
Yiorgis Gozadinos
4c186b01c7
Add Database and Configuration panels to the ingester dashboard 2026-06-09 12:28:13 +03:00
Yiorgis Gozadinos
a7ed405d75
Add HaikuRAG.import_documents for batch document import 2026-06-09 10:23:37 +03:00
Yiorgis Gozadinos
9ef25e2e53
Order benchmarks docs ORB, T², Wix 2026-06-08 11:51:21 +03:00
Yiorgis Gozadinos
a3a73f1331
Add --filter-ids to run QA on a case-id subset 2026-06-08 09:36:01 +03:00
Yiorgis Gozadinos
cd77bd9889
Bound analysis execute_code calls to avoid request-limit nulls 2026-06-06 14:52:05 +03:00
Yiorgis Gozadinos
e0a892ec97
Update embedding-drift docs for read-only opens 2026-06-05 12:14:14 +03:00
Yiorgis Gozadinos
0e3d53791f
Add rebuild --set-embedder to reconcile embedder identity 2026-06-05 10:42:15 +03:00
Yiorgis Gozadinos
a3cc13230f
test the Postgres queue and document dburi 2026-06-03 14:34:09 +03:00
Yiorgis Gozadinos
46747d369a
Add retention window to ingester queue, prune terminal job rows past retention window 2026-06-03 10:38:58 +03:00
Yiorgis Gozadinos
4ff17a84bb
Update benchmarks 2026-06-02 15:20:17 +03:00
Chris McDonough
7e4aa8c71f
Add configurable max_file_size to reject oversized files before ingestion
Large files buffered entirely in RAM can OOM workers. Add
max_file_size to source config (default None = no limit).

FS checks stat().st_size before read_bytes(). HTTP and WebDAV issue
a HEAD request before GET when a limit is configured. S3 checks the
size from the existing head_async() call before get_async().

FileTooLargeError is classified as PermanentError so oversized files
go straight to the DLQ instead of retrying.
2026-06-01 18:40:46 +03:00
Yiorgis Gozadinos
cbd9b46da6
Results for analysis skill 2026-06-01 10:40:52 +03:00
Yiorgis Gozadinos
e653c49fce
Remove unecessary Mean Reciprocal Rank metric 2026-06-01 10:40:52 +03:00
Yiorgis Gozadinos
00f2a40a60
Refresh benchmarks doc and remove unused eval datasets 2026-06-01 10:40:51 +03:00
Yiorgis Gozadinos
6ac7d5a4be
Add nemotron embedder to ORB benchmarks and consolidate source buckets 2026-06-01 10:40:51 +03:00
Yiorgis Gozadinos
5a23e4eda6
Surface failed discovery sweeps in run-batch 2026-06-01 10:27:31 +03:00
Yiorgis Gozadinos
5ba7838b71
Add haiku-ingester run-batch, remove run-once 2026-05-29 17:00:59 +03:00
Yiorgis Gozadinos
e7c7df2915
Always use the Store-owned embedder 2026-05-29 11:36:53 +03:00
Yiorgis Gozadinos
6eee09743b
Cover PDF attachment ingest through the full create_document_from_source path 2026-05-28 16:07:12 +03:00
Yiorgis Gozadinos
561010d1ec
Add ingester screenshot 2026-05-27 15:53:01 +03:00
Yiorgis Gozadinos
0114653522
Docs update 2026-05-27 13:22:35 +03:00
Yiorgis Gozadinos
1c710433c7
Collapse worker_count and max_concurrent into worker_count 2026-05-27 12:48:14 +03:00
Yiorgis Gozadinos
6f74fe67b3
Cap claimed-row count at max_concurren 2026-05-27 12:10:42 +03:00
Yiorgis Gozadinos
960bf8f3e3
Document auth_token for non-loopback 2026-05-26 16:07:53 +03:00
Yiorgis Gozadinos
6799a4a6d4
Document worker-pool settings 2026-05-26 14:13:16 +03:00
Yiorgis Gozadinos
2febfe2011
Docs & cl 2026-05-26 11:45:35 +03:00
Yiorgis Gozadinos
6bcc2f6357
PDF split-convert-merge for memory-bound large PDFs 2026-05-26 11:44:45 +03:00
Yiorgis Gozadinos
f4468b65ee
Add --host, --port to ingester cli, update docker compose example 2026-05-26 11:44:45 +03:00
Yiorgis Gozadinos
66d5fee682
Docker & docs updates 2026-05-26 11:44:45 +03:00
Yiorgis Gozadinos
055fd23d5d
round-robin docling-serve across multiple base_urls 2026-05-26 11:44:45 +03:00
Yiorgis Gozadinos
5ccbadde0a
Handle shutdown more gracefully, by stopping pollers and cancelling jobs after timeout. Skip periodic poll if a source has pending jobs 2026-05-26 11:44:03 +03:00
Yiorgis Gozadinos
65c309e12b
Handle WebDAV as source 2026-05-26 11:43:30 +03:00
Yiorgis Gozadinos
13cbadeb6f
canonical metadata keys: source_revision + content_type, bump to 0.50.0 2026-05-26 11:43:30 +03:00
Yiorgis Gozadinos
7ea61a7b10
drop the old monitor, rename serve→mcp, add e2e tests 2026-05-26 11:42:41 +03:00
Yiorgis Gozadinos
8e9e84132e
drop list_documents/get_document from default RAG skill 2026-05-26 11:35:43 +03:00
Yiorgis Gozadinos
e881ce285d
update orb benchmark 2026-05-21 14:23:41 +03:00
Yiorgis Gozadinos
e55125763f
Document setting thinking on OpenAI compat providers 2026-05-21 10:25:48 +03:00
Yiorgis Gozadinos
0b36c65b58
Landing page hero with TUI screen recording 2026-05-20 16:56:25 +03:00
Yiorgis Gozadinos
3e8aa8f09f
Move to zensical.toml 2026-05-20 16:01:14 +03:00
Yiorgis Gozadinos
0ee00334c7
drop prose emdashes and semicolons; minor fixes 2026-05-20 14:27:16 +03:00
Yiorgis Gozadinos
f1f2e24639
docs: benchmarks — skill-only framing, move inactive datasets to bottom 2026-05-20 14:27:16 +03:00
Yiorgis Gozadinos
910d178b00
docs: rebuild Skills section, drop pitch prose 2026-05-20 14:27:16 +03:00
Yiorgis Gozadinos
19e2be003e
docs: add chat page, restructure nav, reorder sections 2026-05-20 14:27:16 +03:00
Yiorgis Gozadinos
76804b682f
index, tutorial 2026-05-20 14:27:16 +03:00
Yiorgis Gozadinos
8c57a3ca99
Drop the multi-agent research workflow 2026-05-20 12:46:48 +03:00
Yiorgis Gozadinos
6f95e2bc27
Delete the standalone QA and analysis agents 2026-05-19 11:39:20 +03:00
Yiorgis Gozadinos
ceb645564c
Drop GEPA prompt optimization and --target qa from evaluations 2026-05-19 11:01:07 +03:00
Yiorgis Gozadinos
f208730a5b
Merge pull request #374 from tseaver/feat-cli-search_type
feat: add '--search-type' option to CLI 'search'
2026-05-18 16:39:28 +03:00
Yiorgis Gozadinos
1df6530d03
Bump pydantic-ai, prepare for 2.* 2026-05-18 15:14:29 +03:00
Tres Seaver
70da24b691
docs: add '--search-type' examples to CLI docs 2026-05-18 06:40:41 -04:00
Yiorgis Gozadinos
f588e1150b
add vllm Gemma-4-26B skill QA row to wix table 2026-05-18 09:43:13 +03:00
Yiorgis Gozadinos
abc5a210a6
update benchmarks 2026-05-15 10:04:17 +03:00
Yiorgis Gozadinos
519afe6709
Add cross-encoder reranking provider 2026-05-14 15:43:35 +03:00
Yiorgis Gozadinos
d76c645862
Update benchmarks for orb for gemma4 2026-05-14 14:03:19 +03:00
Yiorgis Gozadinos
a98ddc14b8
Replace picture_description.enabled with processing.pictures enum 2026-05-13 16:22:44 +03:00
Yiorgis Gozadinos
072edad62f
Merge pull request #368 from ggozad/feat/relax-compat-check
Relax embedding compatibility check to vector_dim only
2026-05-13 15:43:37 +03:00
Yiorgis Gozadinos
701e9d3632
Relax embedding compat check to vector_dim only 2026-05-13 14:44:18 +03:00
Yiorgis Gozadinos
8b135c4d4d
Expose embedding batch size as config 2026-05-13 14:09:47 +03:00
Yiorgis Gozadinos
c6cd847299
Add ModelConfig.extra_body for raw provider pass-through 2026-05-13 13:45:09 +03:00
Yiorgis Gozadinos
2189002974
Benchmark update 2026-05-12 17:20:48 +03:00
Yiorgis Gozadinos
a206f8bfcc
Document fetch_remote_images and the docling-serve HTML gap 2026-05-12 15:50:33 +03:00
Yiorgis Gozadinos
6f6ebf27c8
Document s3 storage & monitoring 2026-05-11 11:29:56 +03:00
Yiorgis Gozadinos
ab5cfdd04a
Docs & cl 2026-05-08 11:20:04 +03:00
Yiorgis Gozadinos
cc59dc7203
Use upload_large_folder for hf upload 2026-05-06 13:12:08 +03:00
Yiorgis Gozadinos
ce7201271f
split open_rag_bench dataset into orb_text and orb_multimodal variants 2026-05-06 12:49:03 +03:00
Yiorgis Gozadinos
a45d82f206
Update benchmark 2026-05-05 13:58:48 +03:00
Yiorgis Gozadinos
5c3a864a0b
rename open_rag_bench eval DBs to text/multimodal variants 2026-05-05 12:55:06 +03:00
Yiorgis Gozadinos
ff82d36c2f
add rebuild --descriptions: run VLM over stored picture bytes only 2026-05-05 12:02:46 +03:00
Yiorgis Gozadinos
2038d43435
collapse pictures enum to picture_description.enabled boolean 2026-05-05 11:16:08 +03:00
Yiorgis Gozadinos
17e36fc069
Add first openrag results 2026-05-05 09:50:22 +03:00
Yiorgis Gozadinos
65d9c74224
expose image-as-query through MCP and the CLI. 2026-05-04 11:46:45 +03:00
Yiorgis Gozadinos
21f12cd770
add vision: bool flag on ModelConfig (default False). Gate the agent search tool's BinaryContent attachment on qa.model.vision so picture bytes are only sent to vision-capable QA models. 2026-05-04 10:47:21 +03:00
Yiorgis Gozadinos
d509b0662d
update benchmarks 2026-04-30 16:54:17 +03:00
Yiorgis Gozadinos
7831057339
add processing.pictures enum (none|description|image), replacing the implicit pair of generate_picture_images+picture_description.enabled flags 2026-04-30 14:26:14 +03:00
Yiorgis Gozadinos
3391335e3a
Update qa wix benchmarks 2026-04-29 14:21:40 +03:00
Yiorgis Gozadinos
318266e681
Update benchmark 2026-04-29 13:27:32 +03:00
Yiorgis Gozadinos
8962987ff9
pin judge model to ollama:qwen3.6 2026-04-29 12:24:06 +03:00
Yiorgis Gozadinos
5e31c15907
docs 2026-04-28 14:44:27 +03:00
Yiorgis Gozadinos
ce2df2e0bd
Docs 2026-04-24 14:42:52 +03:00
Yiorgis Gozadinos
ae2b8461be
flatten skill state citations from list[list[str]] to list[str] 2026-04-22 16:50:13 +03:00
Yiorgis Gozadinos
f0016ebcd2
scope citations, searches, and executions to the current invocation 2026-04-22 13:53:39 +03:00
Yiorgis Gozadinos
ff8ad0879c
fix context expansion: respect section boundaries, remove max_context_items 2026-04-20 15:18:16 +03:00
Yiorgis Gozadinos
fa87cf79c5
Docs & cl 2026-04-20 10:14:19 +03:00
Yiorgis Gozadinos
aa4ce07dc9
remove filter parameter from analyze skill tool and clean up unused filter helpers 2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
2a0e89bbe7
add --skill flag to chat TUI for rag and analysis skills 2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
a45820dbf7
add document virtual filesystem to analysis sandbox
Replace get_document() and get_docling_document() with a VFS at
/documents/{id}/ with metadata.json (eager), content.txt (lazy),
and items.jsonl (lazy). Keep search(), list_documents() (now returns
all), and llm() as external functions.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
4118533db1
fold context expansion into sandbox search and remove get_context 2026-04-17 18:35:16 +03:00
Yiorgis Gozadinos
44fd0c9906
add get_context() to analysis sandbox and improve prompt 2026-04-17 18:32:45 +03:00
Yiorgis Gozadinos
d2b3ba1b59
rename RLM agent to analysis throughout the codebase 2026-04-17 18:32:01 +03:00
Yiorgis Gozadinos
499a843a43
remove unused create_analysis_toolset and AnalysisResult 2026-04-17 18:32:01 +03:00
Yiorgis Gozadinos
75c84805b4
Improve judge prompt, QA prompt, and raise max_searches to 5 2026-04-16 12:12:23 +03:00
Yiorgis Gozadinos
b6113bf8ab
replace fixed-radius expansion with section-bounded algorithm
Context expansion is now automatic and structure-aware. For structured
documents, expands within the section containing the match. For sections
that exceed the budget or are too small, expands item-by-item outward
skipping noise labels. Unstructured documents use budget-based outward
expansion. Results sorted by relevance score.
2026-04-16 12:11:53 +03:00
Yiorgis Gozadinos
a51b922be3
fix skill analyze tool ignores state.document_filter 2026-04-09 15:29:20 +03:00
Yiorgis Gozadinos
99af4fe11d
fix skill list_documents tool ignores state.document_filter 2026-04-09 15:29:20 +03:00
Yiorgis Gozadinos
367accb814
Replace MinIO with SeaweedFS for S3 integration tests 2026-04-08 14:19:32 +03:00
Yiorgis Gozadinos
5e7a4ebae5
Update docs 2026-04-08 14:19:32 +03:00
Yiorgis Gozadinos
900c10972b
Update docs 2026-04-08 14:04:33 +03:00
Yiorgis Gozadinos
eb5db78026
clarify domain_preamble purpose 2026-04-01 13:13:52 +03:00
Yiorgis Gozadinos
9d986421a0
add visualize_chunk to generated skills and built-in RAG skill 2026-03-26 11:41:22 +02:00
Yiorgis Gozadinos
75b9a172cb
Minor fixes 2026-03-24 17:45:46 +02:00
Yiorgis Gozadinos
7309d13317
Docs 2026-03-24 16:06:46 +02:00
Yiorgis Gozadinos
47da5bfb6e
Update supported file extensions 2026-03-23 18:03:47 +02:00
Yiorgis Gozadinos
fd327996b8
Configurable judge and reflect models for evaluations 2026-03-18 17:14:11 +02:00
Yiorgis Gozadinos
d4e34ab79f
Support for plantuml diagrams 2026-03-13 17:18:19 +02:00
Yiorgis Gozadinos
e8e02f341d
Update docs 2026-03-12 17:55:17 +02:00
Yiorgis Gozadinos
6ac5f277d8
Rename iterations to num_candidates 2026-03-12 13:00:51 +02:00
Yiorgis Gozadinos
e7f19c4d42
Compactify tuning.md 2026-03-12 12:05:50 +02:00
Yiorgis Gozadinos
8bac8b4104
Properly choose training/eval set 2026-03-12 12:05:50 +02:00
Yiorgis Gozadinos
10abfbe3d8
docs 2026-03-12 12:05:49 +02:00
Yiorgis Gozadinos
45e94ec67a
Set search limit to 10 2026-03-11 12:26:41 +02:00
Yiorgis Gozadinos
e2749ad2a6
Cap QA agent search iterations to reduce response time 2026-03-11 12:13:43 +02:00
Yiorgis Gozadinos
5a0430857f
Enable thinking by default for QA agent 2026-03-05 15:48:08 +02:00
Yiorgis Gozadinos
3cc2d5e19e
Set appropriate temperature and max_tokens defaults 2026-03-05 13:23:50 +02:00
Yiorgis Gozadinos
27a71c7e01
Adapt skill usage to haiku.skills prompt builder. Closes #289 2026-02-28 13:34:54 +02:00
Yiorgis Gozadinos
e2bcbd8eea
Update docs, and download-models for title generation 2026-02-26 11:05:48 +02:00
Yiorgis Gozadinos
d3a1031ec4
Update docs 2026-02-26 09:09:42 +02:00
Yiorgis Gozadinos
6759a2e0a5
Give regex to monty as externals 2026-02-24 13:12:56 +02:00
Yiorgis Gozadinos
d134276819
Update docs 2026-02-24 12:26:04 +02:00
Yiorgis Gozadinos
017712c9b1
Update prompts & docs. Remove docker sandbox workflow 2026-02-24 09:55:45 +02:00
Yiorgis Gozadinos
69083c8cb4
Fix stale docs 2026-02-20 16:59:58 +02:00
Yiorgis Gozadinos
11534bf686
Skills documentation 2026-02-20 16:37:15 +02:00
Yiorgis Gozadinos
37f28ea8de
Clean up stale references and dead code 2026-02-20 16:37:15 +02:00
Yiorgis Gozadinos
eb9436eb2a
Remove unused conversational output mode from research graph 2026-02-20 16:36:50 +02:00
Yiorgis Gozadinos
696f8598eb
Remove get_session_context, handle it automatically in ask() 2026-02-20 16:36:49 +02:00
Yiorgis Gozadinos
bf724ad1ef
Update docs & examples 2026-02-20 16:36:49 +02:00
Yiorgis Gozadinos
8c76897af2
Update tui and app to use the toolkit 2026-02-16 12:54:44 +02:00
Yiorgis Gozadinos
d9acdfba9d
prompt builder 2026-02-13 11:21:09 +02:00
Yiorgis Gozadinos
4247ecbedf
Agentic example with and without agui 2026-02-13 10:40:36 +02:00
Yiorgis Gozadinos
5f6d9e9812
handle state_key duplication between deps and ToolContext 2026-02-13 10:23:12 +02:00
Yiorgis Gozadinos
2496b02a3b
Docs 2026-02-12 17:38:41 +02:00
Yiorgis Gozadinos
05ebd781d4
Move client and tool_context from toolset factories to RunContext.deps 2026-02-12 15:50:46 +02:00
Yiorgis Gozadinos
58c2bd49ea
Clean up server vs client session setting priorities 2026-02-11 16:54:00 +02:00
Yiorgis Gozadinos
5fc4ddff69
Docs 2026-02-11 12:55:09 +02:00
Yiorgis Gozadinos
c916356a42
Clean up toolset exports, simplify update_session_context(), fix health check 2026-02-11 12:46:50 +02:00
Yiorgis Gozadinos
ce3c3e7ed5
Add feature-based chat agent & prompt composition 2026-02-10 14:38:14 +02:00
Yiorgis Gozadinos
feee458d97
Update agents docs 2026-02-10 14:38:13 +02:00
Yiorgis Gozadinos
df57b0cf43
Remove SearchAgent & friends, consolidate duplicate models 2026-02-10 14:38:13 +02:00
Yiorgis Gozadinos
a889883cfc
Update wix benchmarks 2026-02-10 12:49:24 +02:00
Yiorgis Gozadinos
8c2a101a8a
Fix out-of-memory in list_documents by adding column projection 2026-02-06 14:11:36 +01:00
Yiorgis Gozadinos
720f697a48
Cleanup 2026-02-06 12:07:21 +01:00
Yiorgis Gozadinos
f8ec511250
Return consolidated program from RLM agent instead of execution history 2026-02-06 12:07:20 +01:00
Yiorgis Gozadinos
b426827fc2
Docker-based sandbox. Reused within a single rlm() call for latency 2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
fb6bbca124
Remove analyze tool from chat agent, not yet ready for integration 2026-02-06 12:07:19 +01:00
Yiorgis Gozadinos
ed570633cd
Basic integration of RLM with chat agent 2026-02-06 12:07:18 +01:00
Yiorgis Gozadinos
56cf6ebfb6
Docs 2026-02-06 12:07:18 +01:00
Yiorgis Gozadinos
b22ac33dde
Pass OCR options from conversion_options to docling-serve chunker 2026-02-03 11:34:46 +02:00
Yiorgis Gozadinos
ac76ecee86
Remove dead code from iterative research planning refactor 2026-01-31 10:51:34 +02:00
Yiorgis Gozadinos
42f2d0fd0e
docs 2026-01-31 10:13:22 +02:00