在当今竞争激烈的就业市场中,一份精心制作的简历至关重要。如何确保你的简历在众多应聘者中脱颖而出?答案是利用人工智能 (AI) 技术来分析和优化你的简历。本文将向你展示如何使用 Python 编程语言和 Google 的 Gemini AI 模型构建一个强大的简历分析器。这款分析器能够根据职位描述,评估简历的匹配度,并提供改进建议,帮助你提升求职成功率。无论你是求职者还是招聘人员,本文都将为你带来极大的价值。
使用 Python 编程语言构建 AI 驱动的简历分析器。
利用 Google 的 Gemini AI 模型进行简历分析和职位匹配。
通过上传简历和职位描述,获取简历匹配度评分和改进建议。
理解关键步骤:文本提取、提示工程和结果分析。
学习如何构建具有用户友好界面的 Flask Web 应用程序。
掌握使用 Markdown 格式化输出结果的方法。
根据实际需求自定义和扩展简历分析器功能。
简历分析器旨在帮助用户评估其简历与特定职位描述的匹配程度,并提供改进建议。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

该工具通过上传简历(仅支持 PDF 格式)和粘贴职位描述来实现。分析结果将包括匹配度评分、缺失技能列表以及改进建议。
项目功能:
功能演示:
立即学习“Python免费学习笔记(深入)”;
首先,展示了用户界面的基本操作。用户可以点击“选择文件”按钮上传简历,并在文本框中粘贴职位描述。然后,点击“分析简历”按钮,系统将开始分析。分析完成后,用户将看到匹配度评分、缺失技能列表和改进建议。
要构建一个AI简历分析器,首先需要准备合适的开发环境和必要的Python库。这将确保你能顺利运行代码,并与Gemini AI模型进行交互。
1. 开发环境:
2. 安装必要的 Python 库:
打开命令行终端,使用 pip 安装以下库:
pip install google-generativeai pymupdf python-dotenv
google-generativeai: 用于与 Google 的 Gemini AI 模型进行交互。

pymupdf: 用于从 PDF 文件中提取文本。
python-dotenv: 用于加载和管理环境变量。
3. Gemini API 密钥:
你需要一个 Google Cloud 项目并启用 Gemini API 才能获取 API 密钥。访问 Google AI Studio 网站:https://aistudio.google.com/,创建一个新的项目并获取 API 密钥。
4. 环境变量设置:
为了安全地存储 API 密钥,建议将其设置为环境变量。创建一个名为 .env 的文件,并在其中添加以下内容:
GEMINI_API_KEY=你的API密钥
然后,使用 python-dotenv 库加载环境变量。
在分析简历之前,我们需要从 PDF 文件中提取文本内容。这可以通过 pymupdf 库来实现。

以下代码展示了如何定义一个函数,用于提取 PDF 文件中的文本:
import fitz https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b pymupdf
def extract_text_from_resume(pdf_path):
"""从 PDF 文件中提取文本。"""
doc = fitz.open(pdf_path)
text = ""
for page in doc:
text += page.get_text()
return text代码解释:
import fitz:导入 pymupdf 库,并使用别名 fitz。extract_text_from_resume(pdf_path):定义一个名为 extract_text_from_resume 的函数,接受 PDF 文件路径作为参数。doc = fitz.open(pdf_path):使用 fitz.open() 函数打开 PDF 文件。text = "":创建一个空字符串,用于存储提取的文本。for page in doc:遍历 PDF 文件中的每一页。text += page.get_text():使用 page.get_text() 方法提取当前页面的文本,并将其添加到 text 字符串中。return text:返回提取的文本。使用示例:
pdf_path = "kumareshan-Resume.pdf" https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b 你的简历 PDF 文件路径 resume_text = extract_text_from_resume(pdf_path) print(resume_text)
这段代码将从 kumareshan-resume.pdf 文件中提取文本,并将其打印到控制台。
提示工程是与 AI 模型进行有效沟通的关键。一个精心设计的提示 (Prompt) 能够引导 AI 模型生成高质量、符合要求的输出。

以下代码展示了一个用于简历分析的提示:
prompt = f"""
你是一位专业的简历分析师。
请分析以下简历,并根据提供的职位描述给出建议:
简历:
{resume_text}
职位描述:
{job_description}
请执行以下任务:
1. 分析简历与职位描述的匹配度。
2. 给出百分制匹配度评分。
3. 突出显示缺失的技能或经验。
4. 提供改进建议。
请以结构化的格式返回结果:
匹配度评分:XX/100
缺失技能:...
建议:...
总结:...
"""代码解释:
{resume_text} 和职位描述 {job_description} 的占位符,将在后续步骤中被实际内容替换。使用示例:
在后续步骤中,你需要将提取的简历文本和职位描述文本分别赋值给 {resume_text} 和 {job_description} 占位符,然后将整个提示发送给 AI 模型。
为了使用 Gemini Pro 模型,需要进行一些配置。

以下代码展示了如何配置 API 密钥和模型参数:
import os
import google.generativeai as genai
from dotenv import load_dotenv
load_dotenv()
genai.configure(api_key=os.getenv('GEMINI_API_KEY'))
model = genai.GenerativeModel('gemini-pro')代码解释:
import os:导入 os 库,用于访问环境变量。import google.generativeai as genai:导入 google-generativeai 库,并使用别名 genai。from dotenv import load_dotenv:从 python-dotenv 库中导入 load_dotenv 函数。load_dotenv():加载 .env 文件中的环境变量。genai.configure(api_key=os.getenv('GEMINI_API_KEY')):配置 Gemini API 密钥。os.getenv('GEMINI_API_KEY') 用于从环境变量中获取 API 密钥。model = genai.GenerativeModel('gemini-pro'):创建一个 Gemini Pro 模型实例。gemini-pro 是 Gemini Pro 模型的名称。模型参数配置:
Gemini Pro 模型提供了一些参数,可以用于控制生成文本的质量和多样性。以下代码展示了如何配置模型参数:
configuration = {
"temperature": 1,
"top_p": 0.95,
"top_k": 40,
"max_output_tokens": 8192
}
model = genai.GenerativeModel(model_name='gemini-pro', generation_config=configuration)参数解释:
temperature:控制生成文本的随机性。值越高,文本越随机。范围:0.0 - 1.0。top_p:控制生成文本的多样性。值越高,文本越多样。范围:0.0 - 1.0。top_k:控制生成文本的候选词数量。值越高,候选词越多。范围:1 - 100。max_output_tokens:限制生成文本的最大 token 数量。范围:1 - 8192。你可以根据实际需求调整这些参数,以获得最佳的分析效果。
配置好 Gemini Pro 模型后,就可以使用它来分析简历了。

以下代码展示了如何将简历文本和职位描述文本传递给模型,并获取分析结果:
def analyse_resume_gemini(resume_content, job_description):
"""使用 Gemini AI 分析简历。"""
prompt = f"""
你是一位专业的简历分析师。
请分析以下简历,并根据提供的职位描述给出建议:
简历:
{resume_content}
职位描述:
{job_description}
请执行以下任务:
1. 分析简历与职位描述的匹配度。
2. 给出百分制匹配度评分。
3. 突出显示缺失的技能或经验。
4. 提供改进建议。
请以结构化的格式返回结果:
匹配度评分:XX/100
缺失技能:...
建议:...
总结:...
"""
response = model.generate_content(prompt)
return response.text
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b 获取简历文本和职位描述
resume_text = extract_text_from_resume(pdf_path)
job_description = "We are hiring a front end developer"
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b 分析简历
result = analyse_resume_gemini(resume_text, job_description)
https://www.php.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b 打印分析结果
print(result)代码解释:
def analyse_resume_gemini(resume_content, job_description):定义一个名为 analyse_resume_gemini 的函数,接受简历文本和职位描述文本作为参数。prompt = f"""...""":创建包含简历文本和职位描述文本的提示。response = model.generate_content(prompt):使用 Gemini Pro 模型生成内容。prompt 是传递给模型的提示。return response.text:返回生成的文本结果。运行这段代码,你将会看到 Gemini Pro 模型生成的简历分析结果,包括匹配度评分、缺失技能和改进建议。
为了方便用户使用简历分析器,我们可以构建一个简单的 Flask Web 应用程序界面。

以下代码展示了如何创建一个基本的 Flask 应用程序:
from flask import Flask, request, render_template
from analyse_pdf import analyse_resume_gemini, extract_text_from_resume
app = Flask(__name__)
app.config['UPLOAD_FOLDER'] = 'uploads'
os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True)
@app.route('/', methods=['GET', 'POST'])
def index():
if request.method == 'POST':
resume_file = request.files['resume']
job_description = request.form['job_description']
pdf_path = os.path.join(app.config['UPLOAD_FOLDER'], resume_file.filename)
resume_file.save(pdf_path)
resume_content = extract_text_from_resume(pdf_path)
result = analyse_resume_gemini(resume_content, job_description)
return render_template('index.html', result=result)
return render_template('index.html', result=None)代码解释:
from flask import Flask, request, render_template:从 flask 库中导入必要的模块。app = Flask(__name__):创建一个 Flask 应用程序实例。app.config['UPLOAD_FOLDER'] = 'uploads':设置上传文件夹。os.makedirs(app.config['UPLOAD_FOLDER'], exist_ok=True):创建上传文件夹(如果不存在)。@app.route('/', methods=['GET', 'POST']):定义路由,处理 GET 和 POST 请求。if request.method == 'POST':判断请求方法是否为 POST。resume_file = request.files['resume']:获取上传的简历文件。job_description = request.form['job_description']:获取职位描述文本。pdf_path = os.path.join(app.config['UPLOAD_FOLDER'], resume_file.filename):构建 PDF 文件的保存路径。resume_file.save(pdf_path):保存 PDF 文件。resume_content = extract_text_from_resume(pdf_path):提取简历文本。result = analyse_resume_gemini(resume_content, job_description):分析简历。return render_template('index.html', result=result):渲染 index.html 模板,并将分析结果传递给模板。return render_template('index.html', result=None):如果请求方法为 GET,则渲染 index.html 模板,不传递分析结果。创建 index.html 模板:
在 templates 文件夹中创建一个名为 index.html 的文件,并添加以下内容:
<!DOCTYPE html>
<html>
<head>
<title>简历分析器</title>
</head>
<body>
<h1>简历分析器</h1>
<form method="post" enctype="multipart/form-data">
<input type="file" name="resume" accept=".pdf" required><br><br>
<textarea name="job_description" rows="5" cols="50" required></textarea><br><br>
<button type="submit">分析简历</button>
</form>
{% if result %}
<h2>分析结果:</h2>
<pre class="brush:php;toolbar:false;">{{ result }}以上就是利用Python和AI轻松创建简历分析器:教程与代码分享的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号