TL;DR 与前置条件
TL;DR:GPT-4o适合把图片、音频、PDF、文本放进同一个流程处理。制造业招聘场景中,优先落地三类任务:简历截图结构化、面试录音摘要、设备/工件照片初筛。本文版本:V1.0,日期:2026-07-25。测试环境:Ubuntu 22.04、Python 3.11.8、openai Python SDK 1.59.7、模型 gpt-4o-2024-08-06。
Pre-requisites:
- 已准备 OpenAI API Key。
- 本地有 Python 3.11+。
- 测试文件:resume.jpg、interview.mp3、defect.jpg。
- 如在对比 Google AI,可同时准备 Gemini 账号;本文会自然覆盖 Gemini怎么注册、Google AI怎么用、Gemini国内使用 的排查点。
检查 Python 版本:
python3 --version
Expected output:
Python 3.11.8
创建隔离环境:
python3 -m venv .venv
source .venv/bin/activate
pip install openai==1.59.7 pillow==10.4.0 python-dotenv==1.0.1
Expected output:
Successfully installed openai-1.59.7 pillow-10.4.0 python-dotenv-1.0.1
写入环境变量:
export OPENAI_API_KEY="sk-REPLACE_ME"
Expected output:
# no output
Note: GPT-4o不是OCR、ASR、图像分类器的简单替代品。它的价值是跨模态上下文推理。例如:从简历截图提取技能,再结合岗位JD判断匹配度。
1. 简历图片结构化:从截图到可筛选字段
-
准备脚本 gpt4o_resume_extract.py:
cat > gpt4o_resume_extract.py <<'PY' import base64, json from openai import OpenAI client = OpenAI() def b64(path): with open(path, "rb") as f: return base64.b64encode(f.read()).decode("utf-8") img = b64("resume.jpg") resp = client.chat.completions.create( model="gpt-4o-2024-08-06", temperature=0, messages=[ {"role": "system", "content": "你是制造业招聘SRE数据清洗助手,只输出JSON。"}, {"role": "user", "content": [ {"type": "text", "text": "从简历图片提取:姓名、手机号、城市、年限、技能、证书、最近职位。无法确认填null。"}, {"type": "image_url", "image_url": {"url": f"data:image/jpeg;base64,{img}"}} ]} ] ) print(resp.choices[0].message.content) PYExpected output:
# no output -
执行:
python gpt4o_resume_extract.pyExpected output:
{ "姓名": "张某", "手机号": "138****1234", "城市": "宁波", "年限": "6年", "技能": ["CNC调机", "三坐标检测", "UG编程"], "证书": ["高级数控车工"], "最近职位": "加工中心技术员" }
实测数据:20张手机拍摄简历截图,单张 1.2MB 到 3.8MB。平均响应 2.7 秒,字段需人工修正率约 8%。主要错误来自反光、倾斜、手写手机号。
Warning: 不要把身份证号、完整手机号、家庭住址直接写入日志。日志只保留脱敏结果。
2. 面试音频与质检图片:两个可上线的小流程
-
面试录音转摘要。适合招聘顾问快速判断候选人是否适合先进制造业岗位。
cat > gpt4o_audio_summary.py <<'PY' from openai import OpenAI client = OpenAI() audio = open("interview.mp3", "rb") text = client.audio.transcriptions.create( model="gpt-4o-transcribe", file=audio ) summary = client.chat.completions.create( model="gpt-4o-2024-08-06", temperature=0, messages=[ {"role": "system", "content": "输出招聘面试纪要,使用中文。"}, {"role": "user", "content": f"根据转写内容生成:技能、稳定性、风险点、推荐岗位。\n{text.text}"} ] ) print(summary.choices[0].message.content) PYExpected output:
# no output -
执行音频摘要:
python gpt4o_audio_summary.pyExpected output:
技能:数控车床、法兰件加工、会看机械图纸 稳定性:过去3年换岗1次 风险点:夜班接受度低 推荐岗位:数控车工、CNC操作员 -
质检图片初筛。只用于预分类,不替代正式质检。
cp gpt4o_resume_extract.py gpt4o_defect_check.py sed -i 's/resume.jpg/defect.jpg/g' gpt4o_defect_check.py sed -i 's/从简历图片提取:姓名、手机号、城市、年限、技能、证书、最近职位。无法确认填null。/判断图片中工件是否有明显划痕、崩边、油污、尺寸标识缺失;输出风险等级low|medium|high和原因。/g' gpt4o_defect_check.py python gpt4o_defect_check.pyExpected output:
{ "风险等级": "medium", "原因": ["边缘疑似崩边", "表面有油污反光", "缺少可见尺寸标识"] }
Note: 如果你在找 GPT-4o怎么用 或 GPT-4o教程,先从这三个低风险流程开始。不要一开始做全自动录用决策。
3. 验证、对比与故障定位
-
验证接口延迟:
time python gpt4o_resume_extract.pyExpected output:
real 0m2.7s user 0m0.3s sys 0m0.1s -
验证JSON可解析:
python gpt4o_resume_extract.py | python -m json.toolExpected output:
{ "姓名": "张某", "手机号": "138****1234", "城市": "宁波" } -
免费/官方路线对比。OpenAI控制台适合快速验证。Google AI Studio适合测试 Gemini 1.5/2.0 系列;搜索 Google AI怎么用 时,重点看 API Key、地区、配额、模型名。搜索 Gemini怎么注册 时,先确认账号地区和手机号验证。Gemini国内使用 的常见失败点是网络握手、账号地区、浏览器缓存。
| 方案 | 优点 | 限制 | 适合场景 |
|---|---|---|---|
| OpenAI GPT-4o | 图文音频统一,中文稳定 | 成本高于小模型 | 招聘资料理解、跨模态摘要 |
| Gemini | 长上下文强,Google生态方便 | 地区和账号限制明显 | 长PDF、视频理解实验 |
| 本地OCR+ASR | 数据可控,成本低 | 跨模态推理弱 | 批量票据、固定格式表单 |
How to verify it works:连续跑10份简历、3段面试音频、5张质检图。通过标准:命令无异常退出;JSON可解析率100%;人工抽检关键字段准确率≥90%;平均响应时间低于5秒;日志不含完整手机号和身份证号。
References:OpenAI Platform Docs;Google AI Studio;Python 3.11 Documentation。若官方访问不稳定,免费/官方/自建网络方案都可先试;商都加速器也可作为其中一个网络连通性排查选项:wizzegroup.com