Skip to content

失败的模型调用也算进用量 - #110

Merged
JunieXD merged 2 commits into
mainfrom
failed-call-usage
Nov 14, 2026
Merged

JunieXD merged 2 commits into
mainfrom
failed-call-usage

Conversation

@JunieXD

@JunieXD JunieXD commented Nov 14, 2026

Copy link
Copy Markdown
Contributor

关联

路线图 #2「失败的模型调用也算进用量」。

改了什么

初筛、读图或抽取中途失败,或者读了图片但通知没变、不用再抽取时,已经花掉的用量交不到网站,抓取看板上的用量就少了(总体设计 §8.6)。

  • 抓取节点:调用模型的几步(初筛、读图、抽取)改成往调用方给的列表里加用量,每次调用一返回就加,后面失败了也留着,和试抓已有的写法一样。附件上不再单独带读图的用量。
    • 初筛等同一批并发的调用都返回了再报失败;System One 回了用量但答案不对的,那次的用量也记下。
    • 没随初筛或抽取交上去的用量,随 POST /runs 的 usage 交,标明是初筛还是抽取。
  • 网站:POST /crawler/runs 收 usage。第一次收到这一轮时,记进 model_calls(snapshot_id 为空),抓取看板照常按天、按来源汇总;同一轮重交,不重复记。
  • 总体设计 §8.6、接口和数据表文档跟着改。

怎么验证的

  • 网站 pnpm check 通过,101 个测试。新测试:一轮带着失败调用的用量交两次,只记一次。
  • 抓取节点 ./check.sh 通过,344 个测试。新测试覆盖:
    • 初筛一批里一个先失败、另一个晚返回;
    • 一条通知读了一张图、下一张没读成;
    • 抽取答错;
    • 通知没变但重新读了图。
  • 另请 Codex 逐文件审过、在单独的库里跑过检查。它报的初筛那两处漏计已经修了;上面那个初筛的测试,换回原来的写法会失败。

没做的

  • 网站拒收抽取或初筛结果(网站报错)时,这一轮会中断,这次调用的用量也会丢。这是网站出错,不是模型调用失败。要是改成随这一轮再交一次,碰上网站其实已经收下、只是响应丢了的情况,同一份用量就会记两遍,所以这次不改。
  • 抓取节点进程被直接杀掉时,内存里还没交上去的用量会丢。

影响

  • 抓取节点接口:POST /crawler/runs 多了必填的 usage,两边一起改了。
  • 表结构、MCP 工具:无。

初筛、读图或抽取中途失败,或者读了图片却不用再抽取(通知没变)时,已经花掉的用量交不到网站,抓取看板上的用量就少了。

- 调用模型的几步改成往调用方给的列表里加用量,每次调用一返回就加,失败了也留着;附件上不再单独带读图的用量
- 没随初筛或抽取交上来的用量,随 POST /runs 的 usage 交,标明是初筛还是抽取
- 网站在第一次收到这一轮时记进 model_calls,同一轮重交不重复记
同一批里一个先失败、另一个晚点成功时,晚的那次用量会漏掉;System One 回了用量但答案不对时,那次的用量也会漏掉。
@JunieXD
JunieXD merged commit 3da11ed into main Nov 14, 2026
2 checks passed
@JunieXD
JunieXD deleted the failed-call-usage branch November 14, 2026 20:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant