From 7b664e35d07f3c4c1f340b1acc850d8af4148e66 Mon Sep 17 00:00:00 2001 From: Wenjie Zhang Date: Wed, 6 May 2026 23:09:45 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E9=BB=98=E8=AE=A4?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E5=8F=82=E6=95=B0=E6=8F=90=E5=8F=96=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=EF=BC=8C=E4=BC=98=E5=8C=96=E7=9F=A5=E8=AF=86=E5=BA=93?= =?UTF-8?q?=E6=A3=80=E7=B4=A2=E9=85=8D=E7=BD=AE=E5=8A=A0=E8=BD=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/package/yuxi/knowledge/base.py | 12 +++++++++++- backend/package/yuxi/services/evaluation_service.py | 4 ++++ web/src/components/DebugComponent.vue | 10 ++-------- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/backend/package/yuxi/knowledge/base.py b/backend/package/yuxi/knowledge/base.py index f2d74519..0ccbf048 100644 --- a/backend/package/yuxi/knowledge/base.py +++ b/backend/package/yuxi/knowledge/base.py @@ -453,6 +453,7 @@ class KnowledgeBase(ABC): "llm_info": llm_info.model_dump() if hasattr(llm_info, "model_dump") else llm_info, "metadata": kwargs, "created_at": utc_isoformat(), + "query_params": self._get_default_query_params(db_id), } await self._persist_kb(db_id) @@ -642,6 +643,15 @@ class KnowledgeBase(ABC): return query_params_meta.get("options", {}) return {} + def _get_default_query_params(self, db_id: str) -> dict[str, Any]: + """从 get_query_params_config 中提取所有参数的默认值,返回 {"options": {...}}""" + config = self.get_query_params_config(db_id) + defaults = {} + for opt in config.get("options", []): + if "default" in opt: + defaults[opt["key"]] = opt["default"] + return {"options": defaults} + def get_database_info(self, db_id: str, include_files: bool = True) -> dict | None: """ 获取数据库详细信息 @@ -1046,7 +1056,7 @@ class KnowledgeBase(ABC): "kb_type": kb.kb_type, "embed_info": kb.embed_info, "llm_info": kb.llm_info, - "query_params": kb.query_params, + "query_params": kb.query_params or self._get_default_query_params(kb.db_id), "metadata": ensure_chunk_defaults_in_additional_params(kb.additional_params), "created_at": utc_isoformat(kb.created_at) if kb.created_at else utc_isoformat(), } diff --git a/backend/package/yuxi/services/evaluation_service.py b/backend/package/yuxi/services/evaluation_service.py index bff59ac4..984d7010 100644 --- a/backend/package/yuxi/services/evaluation_service.py +++ b/backend/package/yuxi/services/evaluation_service.py @@ -363,6 +363,10 @@ class EvaluationService: kb_row = await self.kb_repo.get_by_id(db_id) query_params = (kb_row.query_params if kb_row else None) or {} retrieval_config = query_params.get("options", {}) if isinstance(query_params, dict) else {} + if not retrieval_config: + kb_instance = await knowledge_base.aget_kb(db_id) + if kb_instance: + retrieval_config = kb_instance._get_default_query_params(db_id).get("options", {}) logger.info(f"从知识库 {db_id} 加载检索配置: {list(retrieval_config.keys())}") except Exception as e: logger.error(f"获取知识库检索配置失败: {e}") diff --git a/web/src/components/DebugComponent.vue b/web/src/components/DebugComponent.vue index 35501940..c564d951 100644 --- a/web/src/components/DebugComponent.vue +++ b/web/src/components/DebugComponent.vue @@ -681,8 +681,8 @@ const switchToUser = async (user) => { .log-container { height: calc(80vh - 200px); overflow-y: auto; - background: var(--gray-0); - color: var(--gray-1000); + background: #1e1f1f; + color: #ffffff; border-radius: 5px; font-family: 'Consolas', 'Monaco', monospace; font-size: 12px; @@ -754,12 +754,6 @@ const switchToUser = async (user) => { color: var(--gray-500); } -@media (prefers-color-scheme: dark) { - .log-container { - background: var(--gray-900); - } -} - :fullscreen .log-container { height: calc(100vh - 160px); }