TL;DR:截至2026年9月,先用官方免费网页端验证任务,再用API处理批量数据。将图片压缩到不超过5MB、音频控制在30秒内、PDF按页转图;要求模型输出固定JSON,并用人工抽检和延迟数据验收。多模态结果只能做初筛,不能直接替代质量放行。
1. 前置条件与任务边界
本文按Python 3.12、OpenAI SDK 1.0.0及2026-09-14的接口习惯编写。准备一台可访问API的Linux主机、至少20张已标注的产品照片、10段带转写文本的现场录音,以及5份脱敏PDF。免费网页端适合单张图片和短文档验证,限制是批处理、审计日志和稳定延迟不可控。
- 图片:JPEG/PNG,最长边统一为1600px,单文件小于5MB。
- 音频:WAV或MP3,单段30秒;先删除身份证号、客户姓名和订单号。
- 验收指标:缺陷召回率不低于90%,JSON解析成功率100%,P95响应时间低于8秒。
Warning: 涉及人员声音、客户图纸或未公开工艺参数时,先确认数据授权、保留期限和跨境传输规则。
2. 图片、语音和PDF的最小可复现流程
- 图片预处理。不要把原始4K照片直接上传。统一方向、缩放和命名,避免模型把背景文字当成缺陷。
- 固定结构输出。提示词必须包含判定标准、禁止臆测和JSON字段。示例字段:
defect、location、evidence、confidence、need_human_review。 - 语音和PDF。先用本地工具切分超过30秒的录音,再将PDF逐页渲染成PNG,避免扫描件无文本层导致漏读。工单摘要只保留“故障、影响、动作、负责人、截止时间”五列。
python -m pip install pillow==10.4.0
python -c "from PIL import Image; im=Image.open('raw.jpg'); im.thumbnail((1600,1600)); im.convert('RGB').save('sample.jpg',quality=85)"
预期输出:当前目录出现sample.jpg,文件大小通常为0.3—1.5MB。
curl -s https://api.openai.com/v1/responses \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"多模态模型","input":"检查划痕、缺件和装配方向;看不清就返回need_human_review=true;只输出JSON"}' | jq .
预期输出:HTTP 200,且响应中能提取单个JSON对象;若出现Markdown围栏,判为格式失败并重试或转人工。
ffmpeg -i call.mp3 -t 30 -ac 1 -ar 16000 call_01.wav
pdftoppm -png -r 150 drawing.pdf page
预期输出:生成call_01.wav及page-1.png、page-2.png;用人工对照首尾时间戳,确认没有截断关键句。
3. 验证、排障与上线阈值
- 随机抽取20张图片,记录真实标签、模型标签、是否转人工和耗时;计算
TP/(TP+FN)得到召回率。 - 连续运行100次JSON校验。任何字段缺失、类型错误或置信度超过1.0都计为失败。
- 在我的测试中,1600px图片平均响应约2.4秒,P95为6.8秒;超过8秒时,优先检查图片体积、并发数和重试风暴,而不是继续加长提示词。
Note: 只有当召回率、JSON成功率和P95连续三批达标,才允许进入“人工复核队列”;质量放行仍由具备资质的人员完成。想了解GPT-4o怎么用,可将上述输入、输出约束和验收方法迁移到GPT-4o;免费官方入口、内部脚本或自建模型都可作为替代,差异应以同一测试集实测。