From 3b5bd79839211262833a6311f4c485a97f7393fd Mon Sep 17 00:00:00 2001 From: Woody Date: Mon, 4 May 2026 14:59:08 +0800 Subject: [PATCH] feat: wire LLMClientDP into query decompose pipeline (Phase 6) QueryDecomposer now uses LLMClientDP (Deepseek) while RelevanceFilter and RAGService continue using LLMClient (OpenRouter/vLLM). Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- backend/app/routers/query.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend/app/routers/query.py b/backend/app/routers/query.py index 77b3ba4..da85a3f 100644 --- a/backend/app/routers/query.py +++ b/backend/app/routers/query.py @@ -11,6 +11,7 @@ from app.models.query import QueryRequest, SubQuestionSources from app.models.common import SourceMetadata from app.services.history_service import HistoryService from app.services.llm_client import LLMClient +from app.services.llm_client_dp import LLMClientDP from app.services.prompt_service import PromptService from app.services.query_decomposer import QueryDecomposer from app.services.relevance_filter import RelevanceFilter @@ -177,13 +178,14 @@ async def _query_stream(request: QueryRequest): try: history_service = HistoryService(db_path=settings.history_db_path) + llm_client_dp = LLMClientDP(settings) llm_client = LLMClient(settings) rag = RAGService(llm_client=llm_client, settings=settings, prompt_service=prompt_service) active_profile = prompt_service.get_active_profile_name() logger.info("Query: %s. Active prompt profile: %s", request.question, active_profile) - decomposer = QueryDecomposer(llm_client, prompt_service=prompt_service) + decomposer = QueryDecomposer(llm_client_dp, prompt_service=prompt_service) # Stage 1: Decompose stage_start = time.perf_counter()