译者说明:译自 OpenAI 官方 Cookbook。原文是可运行的 notebook,此处翻译全部说明性内容,参数名原样保留。 这一篇对经常处理扫描件、表格、图表的人特别有用——它把「看不清」和「想不对」分成了两种病。
关于日期:Cookbook 是持续更新的仓库,页面上没有发布日期。本文的日期取自 OpenAI 官方 Cookbook 索引(
registry.yaml)里为这一篇登记的日期,也就是这份内容第一次被生产出来的时间。
原文的核心是一句方法论:
先用最简单的配置试,然后按失败的样子去拧对应的那个旋钮。
不是一上来就把所有参数拉满。因为不同的失败,对应的是不同的旋钮,拧错的那个不但没用,还更慢更贵。
四个旋钮,四种症状
① 图片精度:页面太密的时候
症状:它大体是对的,但总是漏掉小字段和小标注。
处置:把图片精度从默认的 "auto" 调到 "original"。
什么时候需要:手写、小标签、密集表格、低对比度的扫描件、带小字的截图。
② 详细程度:要逐字誊写的时候
症状:意思没错,但版式被压平了——空白、换行、表格的结构被简化掉了。
原文的解释:多模态模型天生倾向于压缩版式。它保留意思,但会简化那些排版信息。
处置:把详细程度设成 text={"verbosity": "high"},鼓励它更逐字、更贴近原样地誊写。
③ 思考深度:要跨区域推的时候
症状:字都认出来了,但答案是错的。
原文的判断很关键:
一旦图片本身已经看得清,下一个瓶颈通常不是「看」,而是「想」。
处置:把思考深度提到 "high" 或 "xhigh"。
什么时候需要:图表、表格、技术示意图,以及任何答案要靠把画面上几个地方的信息拼起来才得出的情况。
④ 多轮查看:证据散在整页各处的时候
症状:一次看不完,需要放大、裁切、旋转、或者中途算一下再继续。
处置:给它代码执行的能力,让它自己分几轮去看。
受限环境下的替代做法:先让它定位到哪几个区域,然后你自己在本地把那几块裁出来,再针对每一块单独提问。
那张对照表
| 你在做什么 | 起手配置 |
|---|---|
| 一般的文档问答与信息抽取 | 精度 "auto" |
| 密集扫描件、手写、极小的标签 | 精度 "original" |
| 逐字誊写 | 详细程度 "high" |
| 定位某个区域在哪 | 要求它按固定网格给坐标 |
| 图表、表格、表单 | 思考深度 "high" 或 "xhigh" |
| 需要分几轮看 | 加上代码执行 |
为什么这一篇值得读
因为它示范了一个通用的排障姿势:
先分清症状是哪一种,再决定拧哪个旋钮。
「它效果不好」不是一个可以处理的描述。「它大体对但漏小字」和「它字认对了但推错了」是两个完全不同的问题,而多数人在遇到前者的时候会去做后者的处置——把思考深度拉满,然后发现没用。
站上有一篇讲同一件事的实操:客户的一张网络面板截图,比我们所有本地测试都准。姿势是一样的:先把症状问清楚,再动手。