Skip to content

SY-007-Research/interview_agent

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI 技术面试系统

基于openai-agents-python 实现的面试智能体,通过多 Agent 协作实现从简历分析、面试规划到智能评分的全流程自动化。

✨ 特性

特性 说明
🎤 实时语音交互 语音识别 + 语音合成,营造真实面试氛围
📝 智能面试规划 基于简历自动生成面试问题和流程
🤖 多 Agent 协作 PlannerAgent(规划)→ InterviewAgent(提问)→ SummaryAgent(评分)
🔍 自主知识搜索 Agent 可实时联网查询不熟悉的技术概念
💬 实时对话展示 终端/UI 实时显示面试过程

📁 项目结构

.
├── terminal/                 # 终端版本(CLI)
│   ├── main.py              # 主入口
│   ├── printer.py           # 终端 UI
│   ├── prompts.py           # Agent 提示词
│   ├── tools.py             # 搜索工具
│   └── realtime_tts_player.py
│
├── qt/                      # QT 版本(GUI)
│   ├── main.py              # 主入口
│   ├── interview_worker.py  # 面试流程引擎
│   ├── interview_signals.py # Qt 信号系统
│   ├── prompts.py
│   ├── tools.py
│   └── realtime_tts_player.py
│
├── examples/
│   └── sample_resume.pdf    # 测试用简历
│
├── requirements.txt         # Python 依赖
└── README.md

🚀 快速开始

1. 安装依赖

pip install -r requirements.txt

2. 配置 API 密钥

在项目根目录创建 .env 文件:

# 阿里云 DashScope(通义千问 + 语音)
DASHSCOPE_API_KEY=your_dashscope_key
DASHSCOPE_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
MODEL_NAME=qwen-max

# Tavily(搜索)
TAVILY_API_KEY=your_tavily_key

# 可选:自定义模型
# EXAMPLE_BASE_URL=https://api.openai.com/v1
# EXAMPLE_API_KEY=your_openai_key

获取 API Key:

3. 运行

终端版本

python terminal/main.py

QT 版本

python qt/main.py

4. 使用方式

终端版本

  1. s 开始录音,对着麦克风说话
  2. 回答完成后,按 s 结束录音,自动提交给 AI
  3. AI 会根据简历内容提问,并进行追问
  4. 面试结束后自动生成面评总结
  5. q 退出

QT 版本

  1. 填写好 api_key, 选择好PDF简历,点击初始化面试等待
  2. 开始说话 开始录音,对着麦克风说话
  3. 回答完成后,按 停止 结束录音,自动提交给 AI

🎓 此外

本项目包含两套独立实现,便于对比学习:

版本 技术栈 特点
terminal/ asyncio + sounddevice + rich 纯 Python,无 GUI 依赖,代码简洁
qt/ PySide6 + QThread 跨线程通信,信号槽机制,事件驱动

核心业务逻辑(prompts.py、tools.py)在两套实现中复用,帮助学生理解:

  • 多 Agent 协作架构
  • 异步编程模式
  • 跨线程通信
  • UI 与业务分离

🏅 支持

如果你喜欢这个项目,可以通过以下方式支持我们:

About

An interview assistant built with OpenAI Agents SDK that can plan interview questions, ask questions, evaluate answers, and generate interview reports.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages