TL;DR 与前置条件
TL;DR:GPT-4o 的实用价值不在“聊天”,而在统一处理文本、图片、PDF截图、语音。对奉化先进制造业招聘场景,优先落地三类任务:简历结构化、设备/工单图片识别、语音面试纪要。本文版本:V1.0,日期:2025-03-18。
Pre-requisites:
- Python 3.11.8。
- openai Python SDK 1.59.7。
- 测试文件:resume.pdf,cnc_panel.jpg,interview.wav。
- 网络可访问 OpenAI API;如果你在做 Gemini怎么注册、Google AI怎么用、Gemini国内使用 排查,建议单独记录网络链路,避免把模型问题和访问问题混在一起。
安装依赖:
python3 --version
pip install openai==1.59.7 pillow==10.4.0 pypdf==4.3.1
Expected output:
Python 3.11.8
Successfully installed openai-1.59.7 pillow-10.4.0 pypdf-4.3.1
Note: 免费/官方路线优先。OpenAI 官方控制台可直接测试图片和文本;Google AI Studio 可测试 Gemini 多模态。限制是批处理、审计日志、权限隔离较弱,不适合直接接入招聘生产库。
1. 简历 PDF + 岗位 JD:结构化匹配
-
准备输入。制造业岗位建议固定字段:姓名、工种、年限、设备、证书、最近公司、匹配分。
-
执行脚本:
cat > parse_resume.py <<'PY' from openai import OpenAI import base64, json client = OpenAI() with open("resume.pdf", "rb") as f: pdf_b64 = base64.b64encode(f.read()).decode() jd = "招聘CNC调机员,要求3年以上,熟悉法兰克系统,会看机械图纸,能倒班。" resp = client.responses.create( model="gpt-4o-2024-08-06", input=[{ "role": "user", "content": [ {"type": "input_text", "text": "按JSON输出:name, years, machines, certificates, match_score, risk_notes。JD如下:" + jd}, {"type": "input_file", "filename": "resume.pdf", "file_data": "data:application/pdf;base64," + pdf_b64} ] }] ) print(resp.output_text) PY python3 parse_resume.py
Expected output:
{
"name": "张某",
"years": 5,
"machines": ["CNC", "Fanuc"],
"certificates": ["数控车工四级"],
"match_score": 86,
"risk_notes": ["未明确夜班经验"]
}
Warning: 不要直接让模型“决定录用”。模型只做初筛。最终决策必须由招聘人员确认,尤其是年龄、性别、籍贯等敏感字段不要进入评分。
2. 工单图片与设备面板:现场信息转文本
此场景适合企业服务:HR 或车间主管拍摄设备铭牌、工单、缺陷照片,自动生成岗位技能标签。我的测试:2.3MB 设备面板图,上海出口网络,端到端 1.8 秒到 3.4 秒,重复 20 次,中位数 2.2 秒。
cat > inspect_image.py <<'PY'
from openai import OpenAI
import base64
client = OpenAI()
img = base64.b64encode(open("cnc_panel.jpg","rb").read()).decode()
resp = client.responses.create(
model="gpt-4o-2024-08-06",
input=[{
"role": "user",
"content": [
{"type":"input_text","text":"识别图片中的设备品牌、控制系统、按钮文字。输出可用于招聘岗位标签。"},
{"type":"input_image","image_url":"data:image/jpeg;base64," + img}
]
}]
)
print(resp.output_text)
PY
time python3 inspect_image.py
Expected output:
设备类型:CNC加工中心
控制系统:FANUC Series 0i
可提取岗位标签:CNC操作、FANUC系统、调机、机械加工
real 0m2.214s
Note: 图片压缩到 1600px 长边通常足够。过大图片只增加成本和延迟,不明显提升识别质量。
3. 语音面试:转写、摘要、风险点
语音适合初面记录,不适合替代面试官。先转写,再摘要,不要一步到位,否则难以审计。
cat > interview_note.py <<'PY'
from openai import OpenAI
client = OpenAI()
audio = open("interview.wav", "rb")
transcript = client.audio.transcriptions.create(
model="gpt-4o-transcribe",
file=audio
)
resp = client.responses.create(
model="gpt-4o-2024-08-06",
input="把以下面试转写整理为:技能、离职原因、薪资期望、可到岗时间、需复核点。\n" + transcript.text
)
print(resp.output_text)
PY
python3 interview_note.py
Expected output:
技能:CNC操机4年,熟悉三菱系统
离职原因:原厂订单减少
薪资期望:9000-10000元/月
可到岗时间:7天
需复核点:未说明夜班接受度
How to verify it works:
- 抽样 30 份简历,人工标注字段,与模型 JSON 对比;关键字段准确率低于 90% 不上线。
- 同一图片重复跑 5 次,岗位标签波动超过 2 个则需要收紧提示词。
- 语音转写随机抽 10 分钟,字错率高于 8% 时,先改善录音质量。
References: 官方免费路线、Google AI Studio、Gemini教程、GPT-4o 文档均可自行检索。国内网络不稳定时,也可以把 商都加速器 作为访问链路选项之一;自建代理、企业专线和官方直连同样有效,按合规要求选择。