Commit graph

234 commits

Author SHA1 Message Date
Yiorgis Gozadinos
b5892699a0
Use Mean Reciprocal Rank for single document evaluation as metric. Use Mean Average Precision for variable document evaluation as metric 2025-11-24 14:49:30 +02:00
Yiorgis Gozadinos
89a2668c25
inspector command that runs a textual app to browse documents and chunks in the database 2025-11-21 16:48:34 +02:00
Yiorgis Gozadinos
8c02e865c7
Change default embedding model to qwen3-embedding:4b 2025-11-21 16:30:41 +02:00
Yiorgis Gozadinos
2f54ee7d59
Replace allow_create with cleaner read_only. Elaborate on the test_info tests 2025-11-21 14:37:33 +02:00
Yiorgis Gozadinos
c45d507213
Allow custom config when building research/deep ask graphs. Closes #149 2025-11-21 12:37:41 +02:00
Yiorgis Gozadinos
5c4a32f1c8
Fix ACTIVITY_SNAPSHOT payloads. Closes #150 2025-11-21 12:27:54 +02:00
Yiorgis Gozadinos
5089ea4203
New update_document_fields() method for partial document updates 2025-11-19 11:37:36 +02:00
Yiorgis Gozadinos
0bb3f4301c
Additional options for document conversion with docling 2025-11-18 15:44:04 +02:00
Yiorgis Gozadinos
81b7c7d9d1
Tests for docling-serve chunker 2025-11-17 13:05:06 +02:00
Yiorgis Gozadinos
75cbdb47a8
Add chunker configuration options
- Add `chunker_type` config field to choose between "hybrid" (default) and "hierarchical" chunking strategies
  - Add `chunking_merge_peers` config field for HybridChunker (default: true)
  - Add `chunking_use_markdown_tables` config field to control table serialization format (default: false, matching docling's default)
2025-11-17 13:05:06 +02:00
Yiorgis Gozadinos
de5bb117fe
Chunker abstraction 2025-11-17 13:05:06 +02:00
Yiorgis Gozadinos
541552215e
Switch to using HuggingFace tokenizers 2025-11-17 13:05:05 +02:00
Yiorgis Gozadinos
fe7d0c5c24
Implement docling-serve converter 2025-11-17 13:05:05 +02:00
Yiorgis Gozadinos
7ba1c2376e
Introduce converters for supporting more than local docling document conversion. Transform existing FileReader and utils to "docling-local" converter 2025-11-17 13:05:05 +02:00
Yiorgis Gozadinos
4599dd1481
Drop disable_auto_create flag, simply create only on write operations 2025-11-13 13:53:11 +02:00
Yiorgis Gozadinos
4a623934b2
Log additional ag-ui events in the cli renderer 2025-11-13 13:22:52 +02:00
Yiorgis Gozadinos
68d1127e46
Compute and emit state deltas instead of full state snapshots by default 2025-11-13 13:22:52 +02:00
Yiorgis Gozadinos
032625b0bb
Refactor everything graph-related under the graph module 2025-11-13 13:22:03 +02:00
Yiorgis Gozadinos
8f0597e89e
Update deep ask graph 2025-11-13 13:22:03 +02:00
Yiorgis Gozadinos
dccef431b0
Update tests 2025-11-13 13:22:02 +02:00
Yiorgis Gozadinos
908296e155
Do not create unecessary DoclingDocument when chunks are provided. Rename private _create_with_docling & _update_with_docling to _create_and_chunk & _update_and_rechunk 2025-11-13 13:16:15 +02:00
Yiorgis Gozadinos
b6650d0486
Introduce delete_orphans in monitor (default=false) to delete db entries that do not resolve in the filesystem 2025-11-07 14:40:13 +02:00
Yiorgis Gozadinos
31713e5fb6
Properly skip (and log as such) documents without changing updated_at when the md5 hash is unchanged 2025-11-07 14:00:05 +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
5d88e3b87f
Fix CLI test mocks 2025-11-07 11:52:15 +02:00
Yiorgis Gozadinos
0b696d9629
Remove deprecated use of env variables for configuration 2025-11-07 10:54:32 +02:00
Yiorgis Gozadinos
782fbafb3d
Make graph settings part of config for both deep ask and research graphs 2025-11-06 14:31:22 +02:00
Yiorgis Gozadinos
38861da549
Go back and separate common patters in graph_common 2025-11-06 11:02:32 +02:00
Yiorgis Gozadinos
9075dac23a
Remove graph common and move its content to deep QA, research. 2025-11-06 11:02:32 +02:00
Yiorgis Gozadinos
bc71ad6fb0
Refactor research, deep ask to work with new beta pyndtic AI graph 2025-11-06 11:02:32 +02:00
Yiorgis Gozadinos
b8bc6d9b68
Let ruff know about our package structure 2025-11-05 17:47:27 +02:00
Yiorgis Gozadinos
1f22f74e1a
Add filtering to document listing in CLI/client 2025-11-04 16:02:58 +02:00
Yiorgis Gozadinos
d19d2b7f00
Fix tests 2025-10-31 12:50:08 +02:00
Yiorgis Gozadinos
5c7c79397c
Merge pull request #125 from ggozad/feat/filtering
Filtered searches
2025-10-30 14:28:42 +02:00
Yiorgis Gozadinos
6e0587c40e
Merge pull request #124 from ggozad/fix/add-src-monitor-filter
Apply configured include/exclude filters when using CLI's add-src to add a directory
2025-10-30 14:27:00 +02:00
Yiorgis Gozadinos
2f00686605
Support for zero entropy reranker 2025-10-30 13:36:44 +02:00
Yiorgis Gozadinos
7d57fd6c97
Add filter param to search(). When filtering, we search in two steps: First filter documents, then search on the chunks with document_id IN the filtered documents 2025-10-30 13:03:23 +02:00
Yiorgis Gozadinos
79d3559f15
Apply configured include/exclude filters when using CLIs add-src to add a directory recursively 2025-10-29 14:55:00 +02:00
Yiorgis Gozadinos
f9b6894974
Fix info to not use old .env settings 2025-10-29 13:31:54 +02:00
Yiorgis Gozadinos
5a7d90ce9f
Change default location for config from XDG statndatd to use the platform-specific folder we use for the db as well 2025-10-29 11:50:30 +02:00
Yiorgis Gozadinos
ad1ee52a27
Move monitor config in its own section 2025-10-29 11:23:56 +02:00
Yiorgis Gozadinos
987ddab683
Tests for filtering with pathspec 2025-10-29 10:39:00 +02:00
Yiorgis Gozadinos
cabb7748f5
Filtering based on pathspec 2025-10-29 10:27:16 +02:00
Yiorgis Gozadinos
a15f1d8cf5
Use pathspec for monitor filtering 2025-10-29 10:13:53 +02:00
Yiorgis Gozadinos
e11a5128f9
Pass config to embedders 2025-10-28 09:15:08 +02:00
Yiorgis Gozadinos
4cc25407ef
Properly skip a2a tests if fasta2a not installed 2025-10-27 11:28:35 +02:00
Yiorgis Gozadinos
469d993542
Remove provider API keys from config, rely on environment variables for those 2025-10-23 13:52:57 +03:00
Yiorgis Gozadinos
618b3ffd5f
Refactor config from flat to nested Pydantic models 2025-10-23 13:30:21 +03:00
Yiorgis Gozadinos
082811a846
tests for yaml configuration 2025-10-23 11:58:47 +03:00
Yiorgis Gozadinos
1cab0339ad
add-src in cli & create_document_from_source will recursively add directories 2025-10-16 09:55:50 +03:00
Yiorgis Gozadinos
7b371b96ed
Use TestModel from pydantic AI where appropriate 2025-10-14 13:27:20 +03:00
Yiorgis Gozadinos
c0691bc237
Remove list documents, make separate artifacts for q/a, search & get document 2025-10-13 18:01:24 +03:00
Yiorgis Gozadinos
1f2552bd6a
Make serve cli command run monitor, mcp or a2a independently 2025-10-13 18:01:24 +03:00
Yiorgis Gozadinos
6ea7d73eed
Remove deep q/a from a2a agent 2025-10-13 18:01:23 +03:00
Yiorgis Gozadinos
352637faa6
Refactor into own module 2025-10-13 18:01:23 +03:00
Yiorgis Gozadinos
1a88b0355a
deep q/a skill and skill selection 2025-10-13 18:01:22 +03:00
Yiorgis Gozadinos
5c0f0e5830
Add skills 2025-10-13 18:01:22 +03:00
Yiorgis Gozadinos
48cdb8a1db
Implement an LRUMemoryStorage for context 2025-10-13 18:01:22 +03:00
Yiorgis Gozadinos
e70fa737b7
Tests for a2a 2025-10-13 18:01:21 +03:00
Yiorgis Gozadinos
43dac018c0
Test mcp tools 2025-10-08 09:20:26 +03:00
Yiorgis Gozadinos
5e4928ccad
Make sure vacuum task has been complete before exiting the client 2025-10-07 12:27:55 +03:00
Yiorgis Gozadinos
094f0e0d44
Centralize vacuuming 2025-10-07 12:05:25 +03:00
Yiorgis Gozadinos
c6eaf9d5cd
Add vacuum retention setting 2025-10-07 10:47:28 +03:00
Yiorgis Gozadinos
a6275fcf25
Rename nodes to make it clear they are part of Q/A 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
49eac86259
Add verbose flag to ask 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
2dfb1882dd
Deep QA multi-agent 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
42c54a8d25
Shuffle reusable nodes under graph/ 2025-09-30 16:59:36 +03:00
Yiorgis Gozadinos
05c382fcb5
When rebuilding if a document does not exist anymore, re-embed the chunks instead of failing 2025-09-30 16:57:02 +03:00
Yiorgis Gozadinos
57e86d00fd
Refactor evaluations so that we can perform with multiple datasets..
Introduce Wix dataset.
2025-09-30 11:31:50 +03:00
Yiorgis Gozadinos
19ad1b9d7d
improve output 2025-09-30 11:30:35 +03:00
Yiorgis Gozadinos
87f28ed96b
Update docs 2025-09-30 11:30:35 +03:00
Yiorgis Gozadinos
7cc4e13b57
Make benchmarks use pydantic evals 2025-09-30 11:30:34 +03:00
Yiorgis Gozadinos
14168db795
Fix embedding client test 2025-09-26 13:52:06 +03:00
Yiorgis Gozadinos
184fd12e42
Do not run db upgrades when creating a new db 2025-09-25 10:52:11 +03:00
Yiorgis Gozadinos
064b823020
Break Evaluation node into AnalyzeInsights & DecisionNode. Use a list of updateable insights & gaps 2025-09-24 16:26:48 +03:00
Yiorgis Gozadinos
84e94f8257
Wire gaps that were forgotten 2025-09-24 14:03:53 +03:00
Yiorgis Gozadinos
cf9d6a116f
Do not duplicate ResearchContext in ResearchState 2025-09-24 13:43:07 +03:00
Yiorgis Gozadinos
086eb56d34
Stream research 2025-09-24 11:27:05 +03:00
Yiorgis Gozadinos
8f3055d37d
Parse non-strings 2025-09-23 16:42:40 +03:00
Yiorgis Gozadinos
45d0b47a02
Meta in CLI add-src, add 2025-09-23 16:39:27 +03:00
Yiorgis Gozadinos
5ea5de274c
Make styles consistent 2025-09-23 12:27:01 +03:00
Yiorgis Gozadinos
52ea1ebb70
info command in CLI 2025-09-23 12:20:25 +03:00
Yiorgis Gozadinos
2c93f4f823
Preserve title if it exists when expanding context 2025-09-22 13:45:59 +03:00
Yiorgis Gozadinos
20993b48a7
Fix test after rebase 2025-09-22 12:53:52 +03:00
Yiorgis Gozadinos
73aff1695f
Update LLM prompts/tools to reflect we will pass title (if available) or URI 2025-09-22 12:45:32 +03:00
Yiorgis Gozadinos
4077e3ecb2
Handle title in client & CLI 2025-09-22 12:45:32 +03:00
Yiorgis Gozadinos
dce60fa461
Remove SSE transport, fix cli tests 2025-09-20 10:58:28 +03:00
Yiorgis Gozadinos
cba8ad7696
Research agent as a pydantic graph 2025-09-19 14:39:39 +03:00
Yiorgis Gozadinos
a215a64686
Refactor to give its research subagent full responsibility 2025-09-19 12:10:00 +03:00
Yiorgis Gozadinos
5bfa720864
Remove openai models from research tests 2025-09-19 12:09:59 +03:00
Yiorgis Gozadinos
d1e2470d94
Upgrades are back. Make chunk order a table column rather than a metadata property 2025-09-18 13:42:07 +03:00
Yiorgis Gozadinos
03289bb644
Fix MCP test 2025-09-18 12:54:36 +03:00
Yiorgis Gozadinos
a807f3ea36
Simplify structured output for research agents 2025-09-17 18:31:55 +03:00
Yiorgis Gozadinos
05e08c48e4
Simplify SearchAgent. Omit search results, but keep QA results. 2025-09-17 12:37:16 +03:00
Yiorgis Gozadinos
70544b5112
Research agent tests 2025-09-17 08:54:54 +03:00
Yiorgis Gozadinos
98ca5c4746
Simplify orchestration & subagents 2025-09-17 08:54:54 +03:00
Yiorgis Gozadinos
c029350d79
Make search agent more like a qa agent 2025-09-17 08:51:44 +03:00
Yiorgis Gozadinos
53905c2d69
Simplify search agent 2025-09-17 08:51:44 +03:00
Yiorgis Gozadinos
fe8e48df38
Config research provider/model, CLI 2025-09-17 08:51:44 +03:00
Yiorgis Gozadinos
86b44c47f9
Adapt clarification agent, basic orchestrator 2025-09-17 08:51:43 +03:00