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)