利用Python和AI轻松创建简历分析器:教程与代码分享

花韻仙語
发布: 2025-12-20 08:26:19
原创
394人浏览过
在当今竞争激烈的就业市场中,一份精心制作的简历至关重要。如何确保你的简历在众多应聘者中脱颖而出?答案是利用人工智能 (AI) 技术来分析和优化你的简历。本文将向你展示如何使用 Python 编程语言和 Google 的 Gemini AI 模型构建一个强大的简历分析器。这款分析器能够根据职位描述,评估简历的匹配度,并提供改进建议,帮助你提升求职成功率。无论你是求职者还是招聘人员,本文都将为你带来极大的价值。

关键要点

使用 Python 编程语言构建 AI 驱动的简历分析器。

利用 Google 的 Gemini AI 模型进行简历分析和职位匹配。

通过上传简历和职位描述,获取简历匹配度评分和改进建议。

理解关键步骤:文本提取、提示工程和结果分析。

学习如何构建具有用户友好界面的 Flask Web 应用程序。

掌握使用 Markdown 格式化输出结果的方法。

根据实际需求自定义和扩展简历分析器功能。

AI 简历分析器:Python 实现指南

项目概述与功能演示

简历分析器旨在帮助用户评估其简历与特定职位描述的匹配程度,并提供改进建议。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

利用Python和AI轻松创建简历分析器:教程与代码分享

工具通过上传简历(仅支持 PDF 格式)和粘贴职位描述来实现。分析结果将包括匹配度评分、缺失技能列表以及改进建议。

项目功能:

  • 简历上传: 用户可以上传 PDF 格式的简历文件。
  • 职位描述输入: 用户可以粘贴职位描述文本。
  • AI 驱动分析: 系统利用 AI 技术分析简历内容。
  • 匹配度评分: 生成简历与职位描述的匹配度评分(百分制)。
  • 缺失技能识别: 识别简历中未提及但职位描述中要求的关键技能。
  • 改进建议: 提供针对性的简历优化建议,例如量化成就、突出相关技能等。

功能演示:

立即学习Python免费学习笔记(深入)”;

首先,展示了用户界面的基本操作。用户可以点击“选择文件”按钮上传简历,并在文本框中粘贴职位描述。然后,点击“分析简历”按钮,系统将开始分析。分析完成后,用户将看到匹配度评分、缺失技能列表和改进建议。

代码准备与环境配置

要构建一个AI简历分析器,首先需要准备合适的开发环境和必要的Python库。这将确保你能顺利运行代码,并与Gemini AI模型进行交互。

1. 开发环境:

  • Python 3.6+:确保你的系统安装了 Python 3.6 或更高版本。你可以从 Python 官网下载并安装:https://www.python.org/downloads/
  • pip: Python 的包管理工具,用于安装和管理项目依赖。
  • 代码编辑器: 选择你喜欢的代码编辑器,例如 VS Code、PyCharm 等。

2. 安装必要的 Python 库:

打开命令行终端,使用 pip 安装以下库:

pip install google-generativeai pymupdf python-dotenv
登录后复制
  • google-generativeai: 用于与 Google 的 Gemini AI 模型进行交互。

    利用Python和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 简历中提取文本

在分析简历之前,我们需要从 PDF 文件中提取文本内容。这可以通过 pymupdf 库来实现。

利用Python和AI轻松创建简历分析器:教程与代码分享

以下代码展示了如何定义一个函数,用于提取 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 交互指令

提示工程是与 AI 模型进行有效沟通的关键。一个精心设计的提示 (Prompt) 能够引导 AI 模型生成高质量、符合要求的输出。

Content at Scale
Content at Scale

SEO长内容自动化创作平台

Content at Scale 154
查看详情 Content at Scale

利用Python和AI轻松创建简历分析器:教程与代码分享

以下代码展示了一个用于简历分析的提示:

prompt = f"""
你是一位专业的简历分析师。
请分析以下简历,并根据提供的职位描述给出建议:

简历:
{resume_text}

职位描述:
{job_description}

请执行以下任务:
1.  分析简历与职位描述的匹配度。
2.  给出百分制匹配度评分。
3.  突出显示缺失的技能或经验。
4.  提供改进建议。

请以结构化的格式返回结果:
匹配度评分:XX/100
缺失技能:...
建议:...
总结:...
"""
登录后复制

代码解释:

  • 该提示首先定义了 AI 模型的角色:专业的简历分析师。
  • 然后,它指示 AI 模型分析简历,并根据提供的职位描述给出建议。
  • 提示中包含了简历内容 {resume_text} 和职位描述 {job_description} 的占位符,将在后续步骤中被实际内容替换。
  • 提示明确了 AI 模型需要执行的任务:匹配度分析、缺失技能识别和改进建议。
  • 最后,提示要求 AI 模型以结构化的格式返回结果,方便用户阅读和理解。

使用示例:

在后续步骤中,你需要将提取的简历文本和职位描述文本分别赋值给 {resume_text}{job_description} 占位符,然后将整个提示发送给 AI 模型。

配置Gemini Pro模型

为了使用 Gemini Pro 模型,需要进行一些配置。

利用Python和AI轻松创建简历分析器:教程与代码分享

以下代码展示了如何配置 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 AI 分析简历

配置好 Gemini Pro 模型后,就可以使用它来分析简历了。

利用Python和AI轻松创建简历分析器:教程与代码分享

以下代码展示了如何将简历文本和职位描述文本传递给模型,并获取分析结果:

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 Web 应用程序界面。

利用Python和AI轻松创建简历分析器:教程与代码分享

以下代码展示了如何创建一个基本的 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 }}
登录后复制
{% endif %}

以上就是利用Python和AI轻松创建简历分析器:教程与代码分享的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号