整理:核查收尾时一条报错的续行对齐,裁判的 _TRUNCATED 挪到用它的 _ask 前面

This commit is contained in:
ThearchyHelios
2026-10-06 13:13:49 +08:00
parent 2c2672cc04
commit 3bb06e32f1
2 changed files with 6 additions and 6 deletions
+4 -4
View File
@@ -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)
+2 -2
View File
@@ -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)