From 73ae621f3be9b1a016423e890b7c8de9b1e88bb5 Mon Sep 17 00:00:00 2001 From: Woody Date: Mon, 4 May 2026 14:58:39 +0800 Subject: [PATCH] feat: add Deepseek config fields and DI wiring (Phase 6) Ultraworked with [Sisyphus](https://github.com/code-yeongyu/oh-my-openagent) Co-authored-by: Sisyphus --- backend/.env.example | 5 +++++ backend/app/core/config.py | 7 ++++++- backend/app/core/dependencies.py | 6 ++++++ 3 files changed, 17 insertions(+), 1 deletion(-) diff --git a/backend/.env.example b/backend/.env.example index 4725b33..7898bc7 100644 --- a/backend/.env.example +++ b/backend/.env.example @@ -5,6 +5,11 @@ LLM_TIMEOUT=60.0 LLM_ENABLE_THINKING=false VLLM_ENGINE=false +# Deepseek API (decompose step only, Package 6) +DP_BASE_URL=https://api.deepseek.com +DP_API_KEY=your_deepseek_key_here +DP_MODEL_NAME=deepseek-v4-pro + EMBEDDING_MODEL=qwen/qwen3-embedding-4b EMBEDDING_BASE_URL=https://openrouter.ai/api/v1 EMBEDDING_API_KEY= diff --git a/backend/app/core/config.py b/backend/app/core/config.py index 6477f04..7009ff1 100644 --- a/backend/app/core/config.py +++ b/backend/app/core/config.py @@ -8,13 +8,18 @@ logger = logging.getLogger(__name__) class Settings(BaseSettings): - # LLM access + # LLM access (OpenRouter / vLLM) llm_base_url: str = "https://openrouter.ai/api/v1" llm_api_key: str = "" llm_model_name: str = "qwen/qwen3.5-35b-a3b" llm_enable_thinking: bool = False vllm_engine: bool = False + # Deepseek API (decompose step only, Package 6) + dp_base_url: str = "https://api.deepseek.com" + dp_api_key: str = "" + dp_model_name: str = "deepseek-v4-pro" + # Embeddings embedding_model: str = "qwen/qwen3-embedding-4b" embedding_base_url: str = "https://openrouter.ai/api/v1" diff --git a/backend/app/core/dependencies.py b/backend/app/core/dependencies.py index f695a4a..ab29e9c 100644 --- a/backend/app/core/dependencies.py +++ b/backend/app/core/dependencies.py @@ -17,6 +17,12 @@ def get_llm_client(): return LLMClient(settings) +def get_llm_client_dp(): + settings = get_settings_cached() + from app.services.llm_client_dp import LLMClientDP + return LLMClientDP(settings) + + def get_rag_service(): # Import lazily to avoid circular imports in tests from app.services.rag import RAGService