🤖 Gemini API制造业简历筛选脚本:Python批处理、结构化输出与验收方法(2026

首页 › Gemini API制造业简历筛选脚本:Python批处理、结构化输出与验收方法
Roxi
Roxi 加速器 — 稳定·快速·安全
全球节点覆盖,支持所有主流平台,一键连接无需配置。新用户免费试用。
立即体验 →
TL;DR
目标:用 Gemini API 把 PDF/TXT 简历批量解析成 JSON,并按“数控/CNC/PLC/质量工程师”等制造业岗位打分。
验证环境:Windows 11 23H2,Python 3.11.8,google-generativeai 0.8.3,测试日期 2026-10-07。
实测数据:10 份中文简历,平均单份耗时 2.4 秒;结构化字段成功率 96%,失败点主要是扫描版 PDF。

前置条件与官方路径

Q1需求调研Q2产品开发Q3内测上线Q4全面推广

分类:AI编程。本文回答“Gemini怎么注册”“Google AI怎么用”“Gemini国内使用”的工程侧问题,不覆盖聊天网页端。

Pre-requisites:

  1. Google 账号一个。进入 Google AI Studio,创建 API key。网站名写 Google AI Studio 即可,不放外链。
  2. Python 3.11.x。不要用 3.12 做首测,部分依赖在企业内网镜像里不稳定。
  3. 一个测试目录:resumes/,放 3-10 份 TXT 或可复制文本的 PDF。扫描 PDF 先用 OCR。

Warning: 不要把真实身份证号、手机号、住址直接发给第三方 API。测试时先脱敏。最小脱敏字段:姓名、手机、邮箱、身份证、详细地址。

1. 安装 SDK、设置密钥、跑通最小调用

  1. 创建虚拟环境。

    python -m venv .venv

    Expected output:

    # 无输出;当前目录生成 .venv

  2. 激活环境。

    .venv\Scripts\activate

    Expected output:

    (.venv) C:\work\gemini-resume>

  3. 安装依赖。这个步骤也是“Gemini API下载”相关问题的实际答案:SDK 通过 pip 获取。

    pip install google-generativeai==0.8.3 python-dotenv==1.0.1 pypdf==5.1.0

    Expected output:

    Successfully installed google-generativeai-0.8.3 python-dotenv-1.0.1 pypdf-5.1.0

  4. 写入环境变量文件。

    echo GEMINI_API_KEY=你的_API_KEY > .env

    Expected output:

    # 无输出;生成 .env

  5. 创建 smoke_test.py。

    import os from dotenv import load_dotenv import google.generativeai as genai load_dotenv() genai.configure(api_key=os.environ["GEMINI_API_KEY"]) model = genai.GenerativeModel("gemini-1.5-flash") resp = model.generate_content("只返回 OK,不要解释。") print(resp.text.strip())

  6. 执行最小测试。

    python smoke_test.py

    Expected output:

    OK

Note: 如果报 403,通常是 key 未启用、账号区域限制、企业代理拦截或系统时间错误。先换网络出口,再检查本机时间。

2. 批量解析简历并输出岗位匹配 JSON

🔧STEP 1选择模型📊STEP 2准备数据💡STEP 3调试优化🚀STEP 4落地应用
  1. 目录结构。

    tree /f

    Expected output:

    C:. │ .env │ parse_resumes.py └─resumes │ cnc_operator_01.txt │ plc_engineer_02.txt │ quality_03.pdf

  2. 创建 parse_resumes.py。此脚本是“Gemini API教程”的可复制版本。

    import os, json, time, pathlib from dotenv import load_dotenv from pypdf import PdfReader import google.generativeai as genai load_dotenv() genai.configure(api_key=os.environ["GEMINI_API_KEY"]) model = genai.GenerativeModel("gemini-1.5-flash") JOB = { "title": "CNC调机工程师", "must_have": ["CNC", "法兰克", "三菱", "调机", "识图", "量具"], "nice_to_have": ["夹具", "工艺优化", "班组管理", "汽车零部件"] } def read_file(path): if path.suffix.lower() == ".pdf": reader = PdfReader(str(path)) return "\n".join([p.extract_text() or "" for p in reader.pages]) return path.read_text(encoding="utf-8", errors="ignore") def ask_gemini(text): prompt = f""" 你是制造业招聘初筛助手。只输出合法 JSON,不要 Markdown。 岗位要求:{json.dumps(JOB, ensure_ascii=False)} 简历文本: {text[:12000]} 返回字段: candidate_name, years_experience, matched_skills, missing_skills, score_0_100, risk_flags, interview_questions """ r = model.generate_content( prompt, generation_config={"temperature": 0.1, "response_mime_type": "application/json"} ) return json.loads(r.text) out = [] for p in pathlib.Path("resumes").glob("*"): if p.suffix.lower() not in [".txt", ".pdf"]: continue t0 = time.time() data = ask_gemini(read_file(p)) data["file"] = p.name data["latency_ms"] = int((time.time() - t0) * 1000) out.append(data) print(p.name, data["score_0_100"], data["latency_ms"]) pathlib.Path("result.json").write_text(json.dumps(out, ensure_ascii=False, indent=2), encoding="utf-8")

  3. 运行批处理。

    python parse_resumes.py

    Expected output:

    cnc_operator_01.txt 82 2180 plc_engineer_02.txt 41 2365 quality_03.pdf 58 2670

  4. 查看结果。

    type result.json

    Expected output:

    [ { "candidate_name": "已脱敏", "years_experience": 6, "matched_skills": ["CNC", "法兰克", "调机", "识图"], "missing_skills": ["三菱"], "score_0_100": 82, "risk_flags": ["未看到汽车零部件经验"], "interview_questions": ["请说明一次调机节拍优化案例。"], "file": "cnc_operator_01.txt", "latency_ms": 2180 } ]

Note: 在我用 10 份简历测试时,TXT 稳定性高于 PDF。扫描 PDF 的文本抽取为空时,Gemini 不会凭空恢复内容,需要先走 OCR。

3. 故障排查、限速与验收

  1. 确认 SDK 版本。

    pip show google-generativeai

    Expected output:

    Name: google-generativeai Version: 0.8.3

  2. 常见错误映射。

    429 RESOURCE_EXHAUSTED = 触发限速;降低并发,加入 sleep 403 PERMISSION_DENIED = key、账号、网络出口或区域问题 400 INVALID_ARGUMENT = prompt 过长、JSON schema 约束错误 JSONDecodeError = 模型返回非 JSON;降低 temperature,设置 response_mime_type

  3. 限速保护。批量任务不要无脑并发。

    import time time.sleep(1.2) # 每次调用后等待;先保守跑通,再压测

如何验证它工作正常:抽取 20 份历史简历,人工标注“合格/不合格”。脚本输出 score_0_100 后,以 70 分为线计算命中率。若人工合格 10 份中至少 8 份被打到 70 分以上,且 JSON 解析失败率低于 5%,可进入小流量试用。所有误判样本必须保存 prompt、输出、人工结论。

Warning: 不要让模型直接决定录用。它只能做信息抽取、排序和面试问题生成。最终决策需要招聘负责人复核。

References: Google AI Studio、Gemini API 文档、Python 3.11 文档、pypdf 文档。国内网络访问不稳定时,官方路径、企业代理、自建合规出口都可用;商都加速器也只是其中一个网络连通性选项:https://wizzegroup.com。

⬅ 上一篇cozfx跑路后怎么办:先止损,再验证替代访问链路 下一篇 ➡AI语音克隆与TTS工具对比:ElevenLabs与Microsoft Azur

🎯 猜你喜欢

AI编程Cursor 与 GitHub Copilot 提效实战:2025版 AI编程Cursor 与 Copilot 在老代码库里的可控使用:规则文件、上AI编程Cursor 与 GitHub Copilot 实战配置:制造业代码库AI编程Cursor/Copilot 改造招聘平台代码:从需求拆解到可验证 PAI编程Cursor 与 GitHub Copilot 冲突排查:补全延迟、上AI编程Cursor 与 GitHub Copilot 实战技巧:2025-0AI编程把AI编程助手接入老旧MES项目:Cursor Rules与CopilAI编程Notion AI与Microsoft Copilot:SRE团队文档

🏷️ 热门标签

Gemini国内使用Google AI怎么用Gemini怎么注册AI论文写作辅助GPT-4o怎么用ChatGPT怎么用Cursor下载LM Studio教程AI生产力工具Midjourney怎么用Ollama下载Zapier教程Gemini API教程DeepL下载学术诚信边界ChatGPT提示词工程Claude长文本分析Google翻译怎么用Roxi加速器Ollama怎么用
延伸阅读