chrysopedia/backend/pipeline
jlightner 4aa4b08a7f feat: Per-stage LLM model routing with thinking modality and think-tag stripping
- Added 8 per-stage config fields: llm_stage{2-5}_model and llm_stage{2-5}_modality
- LLMClient.complete() accepts modality ('chat'/'thinking') and model_override
- Thinking modality: appends JSON instructions to system prompt, strips <think> tags
- strip_think_tags() handles multiline, multiple blocks, and edge cases
- Pipeline stages 2-5 read per-stage config and pass to LLM client
- Updated .env.example with per-stage model/modality documentation
- All 59 tests pass including new think-tag stripping test
2026-03-30 02:12:14 +00:00
..
__init__.py chore: Extended Settings with 12 LLM/embedding/Qdrant config fields, cr… 2026-03-29 22:30:31 +00:00
embedding_client.py feat: Created sync EmbeddingClient, QdrantManager with idempotent colle… 2026-03-29 22:39:04 +00:00
llm_client.py feat: Per-stage LLM model routing with thinking modality and think-tag stripping 2026-03-30 02:12:14 +00:00
qdrant_client.py feat: Created sync EmbeddingClient, QdrantManager with idempotent colle… 2026-03-29 22:39:04 +00:00
schemas.py chore: Extended Settings with 12 LLM/embedding/Qdrant config fields, cr… 2026-03-29 22:30:31 +00:00
stages.py feat: Per-stage LLM model routing with thinking modality and think-tag stripping 2026-03-30 02:12:14 +00:00