PR: #924
What's Changed
-
New Features
- Provider layer with per-operation models (OpenAI, Groq, Cohere) for embed, rerank, generate, and structured output; defaults in search/defaults.yml.
- Modular operations and orchestrator (expand, interpret, embed, user filter merge, temporal relevance, retrieval, rerank, answer generation).
- New POST /collections/{id}/search (mounted under /collections); legacy GET supported via adapter; docs updated with field mapping.
- Streaming event emitter with richer events; frontend updated to show live results and clear “no results”.
- Faster, safer startup: run Alembic via current interpreter; e2e tests and docs refreshed.
-
Migration
- DB migrations required (search_queries refactor, new columns, comments). They run on startup; manual: alembic upgrade head.
- Clients can keep using legacy GET, but prefer POST. Field changes: search_method→retrieval_strategy, recency_bias→temporal_relevance, expansion_strategy→expand_query (bool), enable_query_interpretation→interpret_filters, enable_reranking→rerank, response_type→generate_answer (bool).
- Set provider keys as available (OPENAI_API_KEY, GROQ_API_KEY, COHERE_API_KEY). Capabilities auto-adjust.
- Dependency bumps: tiktoken ^0.11.0, cryptography ^46.0.2.