From 791bd88c6d9b726a05a8e49e847d416b0b7a4a0b Mon Sep 17 00:00:00 2001 From: ymq Date: Mon, 17 Aug 2026 13:22:25 +0800 Subject: [PATCH] =?UTF-8?q?fix(llm):=20=E4=B8=A5=E6=A0=BC=E6=9C=AC?= =?UTF-8?q?=E6=9C=BA=E6=9E=84=E9=9A=94=E7=A6=BB=EF=BC=8C=E5=8E=BB=E6=8E=89?= =?UTF-8?q?=E7=B3=BB=E7=BB=9F=E7=BA=A7(org=5Fid=3D'0')=E5=85=9C=E5=BA=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pipeline_service/llm_bridge.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/pipeline_service/llm_bridge.py b/pipeline_service/llm_bridge.py index 93d00b1..0e94db5 100644 --- a/pipeline_service/llm_bridge.py +++ b/pipeline_service/llm_bridge.py @@ -33,8 +33,8 @@ def _decrypt_key(encrypted: str) -> str: async def _get_model_config(model_name: str = None, org_id: str = None) -> dict: """Look up model config from llm table. Returns dict with api_base, api_key, model_id. - org_id 多租户隔离:非空时只取「本机构 + 系统级(org_id='0')」的模型, - 且本机构模型优先(ORDER BY (org_id='0') 让系统级排后);org_id 为空时不过滤(向后兼容)。 + org_id 多租户隔离:非空时只取本机构(org_id=${org}$)的模型,不含系统级兜底; + org_id 为空时不过滤(向后兼容)。 """ global _model_cache @@ -51,17 +51,17 @@ async def _get_model_config(model_name: str = None, org_id: str = None) -> dict: sql = "SELECT api_base, api_key, model_id FROM llm WHERE name=${name}$ AND status='active'" params = {"name": model_name} if org_id: - sql += " AND (org_id=${org}$ OR org_id='0')" + sql += " AND org_id=${org}$" params["org"] = org_id - sql += " ORDER BY (org_id='0') ASC LIMIT 1" + sql += " LIMIT 1" recs = await sor.sqlExe(sql, params) else: sql = "SELECT api_base, api_key, model_id, name FROM llm WHERE status='active'" params = {} if org_id: - sql += " AND (org_id=${org}$ OR org_id='0')" + sql += " AND org_id=${org}$" params["org"] = org_id - sql += " ORDER BY (org_id='0') ASC, id LIMIT 1" + sql += " ORDER BY id LIMIT 1" recs = await sor.sqlExe(sql, params) if recs: r = recs[0]