Files
DocsGPT/tests
Alex f6400cd736 feat: per-source RAG configuration (retrieval strategies, chunking, exposure, prescreen)
Introduces a per-source config contract that makes RAG behavior strategy-dispatched instead of a single hardcoded path. Every source gains a validated JSONB config; an empty/absent config reproduces current behavior byte-for-byte, and the whole path is gated by PER_SOURCE_RETRIEVAL_ENABLED.

Foundation: sources.config JSONB column + migration 0022_source_config; SourceConfig/ChunkingConfig/RetrievalConfig pydantic models (strict on write, lenient on read); ChunkerCreator and RetrieverCreator.register registries; config threaded through the upload routes, ingest/remote/connector workers, and reingest.

Retrieval: a Dispatcher groups sources by retriever key (all-classic collapses to today's single ClassicRAG under one shared token budget; non-classic retrievers get their own instance), removing the previous single-global-retriever collapse in stream_processor. Per-source chunks, score_threshold (honored for pgvector/mongodb, safely ignored elsewhere), and rephrase_query toggle. New PATCH /api/sources/<id>/config with team-aware (effective_write_owner) authz and a requires_reingest signal.

Chunking strategies: recursive, markdown, parent_child (selectable per source; re-ingest to apply). Search exposure: per-source prefetch vs agentic_tool for agentic/research agents. Map-reduce prescreen: optional LLM relevance pre-filter implemented as a composable post-retrieval stage that wraps any retriever.

Backend and frontend (shared Retrieval options panel + edit modal) with tests; backend suite and frontend vitest green. Excludes the wiki and GraphRAG flagships.
2026-06-20 21:54:23 +01:00
..
2026-06-08 15:07:31 +01:00
2026-06-12 18:19:15 +04:00
2026-06-14 21:36:07 +01:00
2026-04-18 13:13:57 +01:00
2026-03-30 16:13:08 +01:00
2026-03-12 14:46:26 +00:00
2026-05-15 12:23:31 +01:00
2026-04-18 13:13:57 +01:00
2026-04-18 13:13:57 +01:00
2026-04-27 22:09:33 +01:00
2026-06-14 21:36:07 +01:00
2026-05-15 12:23:31 +01:00
2026-03-30 16:13:08 +01:00
2026-01-22 13:11:24 +02:00
2026-03-29 09:46:07 +01:00
2026-04-18 13:13:57 +01:00
2026-06-16 09:21:21 +01:00
2026-04-18 13:13:57 +01:00
2026-04-18 13:13:57 +01:00
2026-06-16 18:08:04 +01:00
2026-04-21 14:22:32 +01:00
2026-04-18 13:13:57 +01:00