Skip to content

haodehaode378/ai-interview-bot

Repository files navigation

AI 面试机器人(AI Interview Bot)

一个可运行的三阶段 AI 面试项目,支持 3 个 Agent 分工协作,并且每个 Agent 使用独立的 API 配置(API Key / Base URL / Model)。

项目能力

  • 三阶段面试流程
    • HR 初面(第一轮)
    • Comprehensive 综合面(第二轮:专业+压力)
    • Evaluation 评审总结(第三轮:结构化评审)
  • 每个 Agent 独立 API 配置
  • 前端三页面切换
    • 页面1:API 配置
    • 页面2:岗位与候选人信息
    • 页面3:对话面试(左右结构)
  • 门禁逻辑
    • API 未验证通过,不能进入页面2
    • 岗位信息未填完整,不能进入页面3
  • 简历上传解析(PDF / DOCX / TXT
  • 逐题问答(一次一题)
  • 评审结果按 JSON Schema 校验

项目结构

ai-interview-bot/
|-- app.py
|-- interview_bot.py
|-- resume_parser.py
|-- requirements.txt
|-- openai.yaml
|-- web/
|   `-- app_with_resume_upload.py
|-- docs/
|   |-- architecture.md
|   `-- integration.md
|-- prompts/
|   |-- hr_interviewer.md
|   |-- comprehensive_interviewer.md
|   |-- evaluation_reviewer.md
|   `-- shared_rules.md
|-- schemas/
|   |-- interview_state.schema.json
|   `-- evaluation_result.schema.json
|-- examples/
|   `-- candidate_session.json
|-- tests/
|   `-- test_interview_flow.py
`-- screenshots/
    |-- 01-api-config.png
    |-- 02-interview-context.png
    |-- 03-chat-interview.png
    `-- 04-final-evaluation.png

安装依赖

pip install -r requirements.txt

启动 Web(推荐)

python web/app_with_resume_upload.py

浏览器访问:http://127.0.0.1:7860

Web 使用步骤

  1. 在页面1填写 3 个 Agent 的 API 配置并点击“验证 3 个 Agent API 配置”。
  2. 进入页面2填写岗位信息和候选人背景(可上传简历自动填充)。
  3. 进入页面3点击“开始第一轮面试”,然后逐题提交候选人回答。
  4. 系统自动推进阶段并输出最终评审结果。

CLI 运行(可选)

python app.py \
  --hr-api-key <KEY_1> --hr-base-url <URL_1> --hr-model <MODEL_1> \
  --comp-api-key <KEY_2> --comp-base-url <URL_2> --comp-model <MODEL_2> \
  --eval-api-key <KEY_3> --eval-base-url <URL_3> --eval-model <MODEL_3> \
  --job-position "Backend Engineer" \
  --job-description "Build and maintain backend services" \
  --candidate-background "2 years backend experience, Python, SQL"

测试

python -m unittest discover -s tests -p "test_*.py" -v

页面截图

1)API 配置

API 配置

2)岗位与候选人信息

岗位与候选人信息

3)对话面试

对话面试

4)最终评审

最终评审

常见问题

  1. 对话区报 messages format 错误
    请确认运行的是当前仓库最新的 web/app_with_resume_upload.py

  2. API 验证 401/404
    优先检查 Base URLModel 与供应商文档是否一致,再检查 API Key 是否有效。

  3. 点击“下一步”没有跳转
    这是门禁逻辑:必须先通过 API 验证,且岗位信息必填项不能为空。

  4. 上传区文字看不清
    当前版本已做高对比样式;如果浏览器装了全局深色插件,建议先关闭再看页面效果。

About

一个可运行的三阶段 AI 面试项目,支持 3 个 Agent 分工协作,并且每个 Agent 使用独立的 API 配置(API Key / Base URL / Model)。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages