简历推荐系统

一个基于AI的简历分析工具,提供职位推荐、技能差距分析和职业规划建议。

  • by rkumarus040599
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 rkumarus040599/prk-mcp-ai-recommender-v1

使用说明

AI简历推荐器

Streamlit应用程序分析简历,并使用人工智能提供Naukri.com的工作建议。

特性

  • PDF简历上传和文本提取
  • 基于人工智能的简历分析(总结、技能差距、职业路线图)
  • 作业关键字提取
  • 从Naukri.com获取实时工作
  • 干净、用户友好的界面

安装

  1. 安装依赖项:
pip install -r requirements.txt
  1. 创建一个 .env 使用API密钥文件:
OPENAI_API_KEY=your_openai_api_key_here
APIFY_API_TOKEN=your_apify_token_here
  1. 运行应用程序:
streamlit run app.py

模拟到无模拟切换

该应用程序支持模拟响应(用于测试)和真实的OpenAI API调用。

当前状态:MOCK模式

该应用程序目前使用模拟响应来避免开发过程中的OpenAI API成本。

从模拟切换到真正的OpenAI:

  1. 打开 app.py
  2. 找到第2-5行:
# Mock version (comment/uncomment to switch)
from src.helper_mock import extract_text_from_pdf, ask_openai
# Real OpenAI version (comment/uncomment to switch)
# from src.helper_no_mock import extract_text_from_pdf, ask_openai
  1. 进行以下两项更改:

    • 注释掉 第3行:添加 # 之前 from src.helper_mock...
    • 取消注释 第5行:删除 # 从 from src.helper_no_mock...
  2. 结果应该如下:

# Mock version (comment/uncomment to switch)
# from src.helper_mock import extract_text_from_pdf, ask_openai
# Real OpenAI version (comment/uncomment to switch)
from src.helper_no_mock import extract_text_from_pdf, ask_openai

真正的OpenAI模式的先决条件:

  • 有效的OpenAI API密钥 .env 文件
  • 充足的OpenAI学分/配额
  • Internet连接

要切换回模拟模式:

  1. 打开 app.py
  2. 找到第2-5行(在非模拟模式下应该看起来像这样):
# Mock version (comment/uncomment to switch)
# from src.helper_mock import extract_text_from_pdf, ask_openai
# Real OpenAI version (comment/uncomment to switch)
from src.helper_no_mock import extract_text_from_pdf, ask_openai
  1. 进行以下两项更改:

    • 取消注释 第3行:删除 # 从 from src.helper_mock...
    • 注释掉 第5行:添加 # 之前 from src.helper_no_mock...
  2. 结果应该如下:

# Mock version (comment/uncomment to switch)
from src.helper_mock import extract_text_from_pdf, ask_openai
# Real OpenAI version (comment/uncomment to switch)
# from src.helper_no_mock import extract_text_from_pdf, ask_openai

注: 一次只能有一个导入行处于活动状态——要么模拟,要么不模拟,永远不要两者都激活。

文件结构

├── app.py                 # Main Streamlit application
├── src/
│   ├── helper_mock.py     # Mock OpenAI responses
│   ├── helper_no_mock.py  # Real OpenAI API calls
│   └── jobs_api.py        # Naukri job fetching
├── requirements.txt       # Dependencies
└── README.md             # This file

故障排除

如果你在模拟模式下遇到OpenAI配额错误:

GitHub版本可能存在以下问题 helper_mock.py如果你看到 openai.RateLimitError 即使在模拟模式下:

  1. 打开 src/helper_mock.py
  2. 更换 ask_openai 功能包括:
def ask_openai(prompt, max_tokens=500):
    # Mock response for testing
    if "summarize" in prompt.lower():
        return "Mock Summary: Experienced software developer with skills in Python, JavaScript, and cloud technologies."
    elif "missing skills" in prompt.lower() or "skill gaps" in prompt.lower():
        return "Mock Skills Gap: Consider learning Docker, Kubernetes, and advanced machine learning frameworks."
    elif "roadmap" in prompt.lower() or "future roadmap" in prompt.lower():
        return "Mock Roadmap: 1. Complete cloud certifications 2. Build portfolio projects 3. Contribute to open source."
    elif "job titles" in prompt.lower():
        return "Mock Keywords: Senior Software Engineer, Backend Developer, Cloud Solutions Architect, DevOps Engineer"
    else:
        return "Mock response for testing purposes."
  1. 保存文件并重新启动应用程序

依赖项

  • 流明
  • 开放人工智能
  • PyPDF2
  • python dotenv
  • apify客户端