From 3bb06e32f17956093b229ee69e0bfe04ba4be89c Mon Sep 17 00:00:00 2001 From: ThearchyHelios Date: Tue, 6 Oct 2026 13:13:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B4=E7=90=86=EF=BC=9A=E6=A0=B8=E6=9F=A5?= =?UTF-8?q?=E6=94=B6=E5=B0=BE=E6=97=B6=E4=B8=80=E6=9D=A1=E6=8A=A5=E9=94=99?= =?UTF-8?q?=E7=9A=84=E7=BB=AD=E8=A1=8C=E5=AF=B9=E9=BD=90=EF=BC=8C=E8=A3=81?= =?UTF-8?q?=E5=88=A4=E7=9A=84=20=5FTRUNCATED=20=E6=8C=AA=E5=88=B0=E7=94=A8?= =?UTF-8?q?=E5=AE=83=E7=9A=84=20=5Fask=20=E5=89=8D=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/app/engine/judge.py | 8 ++++---- backend/app/engine/verify_agent.py | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/backend/app/engine/judge.py b/backend/app/engine/judge.py index b43d2f87..d4c3903d 100644 --- a/backend/app/engine/judge.py +++ b/backend/app/engine/judge.py @@ -1070,6 +1070,10 @@ def _items_of(value: Any) -> list[Any] | None: return value if isinstance(value, list) else None +#: _ask 交回的没成的原因:输出到了上限被截断 +_TRUNCATED = "truncated" + + async def _ask(model: Any, messages: list[BaseMessage]) -> tuple[list[Any] | None, list[BaseMessage], str | None, int]: """问一次裁判:(判定清单, 模型的原始回复, 没成的原因, 调了几次模型)。 @@ -1111,10 +1115,6 @@ async def _ask(model: Any, messages: list[BaseMessage]) -> tuple[list[Any] | Non return items, raws, None if items is not None else "format", 2 -#: _ask 交回的没成的原因:输出到了上限被截断 -_TRUNCATED = "truncated" - - def _spent(error: BaseException) -> list[BaseMessage]: """截断时 openai 的异常带着这次的用量:折成一条空回复交给记账(额度是真花出去了,每日上限不能漏掉它)。""" inp, out = error_usage(error) diff --git a/backend/app/engine/verify_agent.py b/backend/app/engine/verify_agent.py index ad5b59a7..022706c9 100644 --- a/backend/app/engine/verify_agent.py +++ b/backend/app/engine/verify_agent.py @@ -963,8 +963,8 @@ async def _verify(state: _State, *, spec: ModelSpec, system: str, task: str, sou declared = list((resolved.get("properties") or {}) if _is_object(resolved) else {}) if declared and not any(k in parsed for k in declared): # 一个要求的字段都没交:不是「查不到」,是没按结构交。不这么分,字段名对不上的回复会被当成什么都没查到 - return await give_up("核查模型没有按结构交结果(交回的内容里没有要求的字段:" - + "、".join(declared[:8]) + ("等" if len(declared) > 8 else "") + ")") + return await give_up("核查模型没有按结构交结果(交回的内容里没有要求的字段:" + "、".join(declared[:8]) + + ("等" if len(declared) > 8 else "") + ")") # ---- 取值、组装理由 cells = _Cells(queries)