Skip to content

LoRA42a/ai-interview-coach

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AI面试智能评测系统

English | 中文


中文版本

📖 项目简介

AI面试智能评测系统是一个基于多模态人工智能技术的面试训练与评估平台。系统通过整合语音识别、情感分析、面部表情识别、眼神交流检测等多种AI技术,为求职者提供全方位的面试模拟和专业评估服务。

✨ 核心功能

1. 智能简历分析

  • 基于AI大模型的简历评估
  • 岗位匹配度分析
  • 简历优化建议生成
  • 支持多种格式(PDF、DOCX、TXT)

2. DISC性格测试

  • 标准化DISC性格评估
  • 20题专业测评
  • 四维性格分析(支配型、影响型、稳健型、谨慎型)
  • 个性化性格报告

3. 多模态面试评测

  • 语音情感分析:基于CNN-Transformer模型的实时情感识别
  • 面部表情识别:7种基础表情检测(高兴、悲伤、生气、惊讶、害怕、厌恶、正常)
  • 眼神交流检测:基于MediaPipe的眼神接触分析
  • 语音转文字:实时语音识别与文本分析

4. 智能问题生成

  • 基于岗位和简历的个性化问题
  • 多类型问题(技术、行为、情景、项目、职业规划)
  • 难度自适应调整
  • 智能追问机制

5. 综合评估报告

  • 六维能力评估(专业知识、技能匹配、语言表达、逻辑思维、创新能力、应变抗压)
  • 多模态数据可视化
  • 关键问题定位
  • 个性化改进建议
  • 学习路径推荐

6. 题库管理系统

  • 企业真题库
  • 按领域和岗位分类
  • 历史记录追踪
  • 智能推荐

🛠️ 技术栈

后端技术

  • 框架:Flask + Flask-SocketIO
  • 数据库:SQLite + SQLAlchemy ORM
  • AI模型
    • 情感分析:CNN-Transformer混合模型
    • 面部识别:MediaPipe Face Mesh
    • 语音识别:讯飞语音API
    • 大语言模型:讯飞星火认知大模型
  • 深度学习:TensorFlow 2.6.0、Keras
  • 音频处理:Librosa、FFmpeg
  • 计算机视觉:OpenCV、MediaPipe

前端技术

  • 框架:Vue 3 + Vite
  • UI组件:Element Plus
  • 数据可视化:Chart.js
  • 实时通信:Socket.IO Client
  • 路由:Vue Router

📦 安装部署

环境要求

  • Python 3.8+
  • Node.js 14+
  • FFmpeg(用于音频处理)
  • CUDA(可选,用于GPU加速)

后端安装

# 进入后端目录
cd backend

# 安装Python依赖
pip install -r requirements.txt

# 初始化数据库
python init_database.py

# 启动后端服务
python app.py

后端服务将在 http://localhost:5000 启动

前端安装

# 进入前端目录
cd interview-ui

# 安装依赖
npm install

# 启动开发服务器
npm run dev

前端服务将在 http://localhost:5137 启动

🎯 使用指南

1. 简历投递

  • 上传个人简历(支持PDF、DOCX格式)
  • 填写岗位JD(职位描述)
  • 系统自动进行简历评估

2. DISC性格测试

  • 完成20道性格测试题
  • 获取四维性格分析报告
  • 了解个人性格特征

3. 开始面试

  • 选择面试领域和岗位
  • 系统生成个性化面试问题
  • 实时语音/文字回答
  • 多模态数据采集

4. 查看报告

  • 综合能力评估
  • 多模态分析结果
  • 关键问题定位
  • 改进建议
  • 学习路径推荐

📊 系统架构

interview/
├── backend/                 # 后端服务
│   ├── app.py              # Flask应用主入口
│   ├── models.py           # 数据库模型
│   ├── config.py           # 配置文件
│   ├── routes/             # API路由
│   │   ├── interview.py    # 面试相关接口
│   │   └── asr.py          # 语音识别接口
│   ├── services/           # 业务服务层
│   │   ├── emotion_service.py              # 情感分析服务
│   │   ├── eye_contact_service.py          # 眼神检测服务
│   │   ├── xfyun_service.py                # 讯飞API服务
│   │   ├── xfyun_asr_service.py            # 讯飞语音识别
│   │   ├── interview_analysis_service.py   # 面试分析服务
│   │   └── question_generation_service.py  # 问题生成服务
│   ├── static/             # 静态文件
│   └── instance/           # 实例数据
└── interview-ui/           # 前端应用
    ├── src/
    │   ├── views/          # 页面组件
    │   ├── components/     # 通用组件
    │   ├── services/       # API服务
    │   ├── utils/          # 工具函数
    │   └── router.js       # 路由配置
    └── public/             # 公共资源

🔧 配置说明

后端配置

编辑 backend/config.py

class Config:
    # 数据库配置
    SQLALCHEMY_DATABASE_URI = 'sqlite:///interview.db'
    
    # 讯飞API配置(需要申请)
    XFYUN_APPID = 'your_app_id'
    XFYUN_API_KEY = 'your_api_key'
    XFYUN_API_SECRET = 'your_api_secret'

前端配置

编辑 interview-ui/src/api.js

const API_BASE_URL = 'http://localhost:5000';

🤖 AI模型说明

1. 情感分析模型

  • 架构:CNN + Transformer Encoder
  • 输入:音频特征(MFCC、ZCR、RMSE)
  • 输出:三分类(积极、中性、消极)
  • 准确率:79%+

2. 面部表情识别

  • 技术:MediaPipe Face Mesh + 讯飞人脸识别API
  • 检测点:468个面部关键点
  • 表情类别:7种基础表情

3. 眼神交流检测

  • 技术:MediaPipe Iris Tracking
  • 检测指标:头部姿态、凝视方向、眨眼频率
  • 判定标准:多维度综合评估

📈 性能优化

  • GPU加速:支持CUDA加速深度学习推理
  • 模型量化:减少模型大小和推理时间
  • 异步处理:WebSocket实时通信
  • 缓存机制:减少重复计算
  • 批处理:提高吞吐量

🔒 隐私与安全

  • 所有数据本地存储
  • 不上传敏感信息到第三方
  • 支持数据导出和删除
  • 符合数据保护法规

📝 开发计划

  • 支持更多语言模型
  • 增加视频面试录制功能
  • 支持多人模拟面试
  • 移动端适配
  • 企业版功能

🤝 贡献指南

欢迎提交Issue和Pull Request!

📄 开源协议

MIT License

📧 联系方式

如有问题或建议,欢迎通过Issue联系。


English Version

📖 Project Overview

AI Interview Intelligence Assessment System is a comprehensive interview training and evaluation platform based on multimodal artificial intelligence technology. The system integrates various AI technologies including speech recognition, emotion analysis, facial expression recognition, and eye contact detection to provide job seekers with comprehensive interview simulation and professional assessment services.

✨ Core Features

1. Intelligent Resume Analysis

  • AI-powered resume evaluation
  • Job matching analysis
  • Resume optimization suggestions
  • Multiple format support (PDF, DOCX, TXT)

2. DISC Personality Assessment

  • Standardized DISC personality evaluation
  • 20-question professional assessment
  • Four-dimensional personality analysis (Dominance, Influence, Steadiness, Conscientiousness)
  • Personalized personality report

3. Multimodal Interview Assessment

  • Speech Emotion Analysis: Real-time emotion recognition based on CNN-Transformer model
  • Facial Expression Recognition: 7 basic emotion detection (Happy, Sad, Angry, Surprised, Fearful, Disgusted, Neutral)
  • Eye Contact Detection: Eye contact analysis based on MediaPipe
  • Speech-to-Text: Real-time speech recognition and text analysis

4. Intelligent Question Generation

  • Personalized questions based on position and resume
  • Multiple question types (Technical, Behavioral, Situational, Project, Career)
  • Adaptive difficulty adjustment
  • Smart follow-up mechanism

5. Comprehensive Assessment Report

  • Six-dimensional ability assessment (Professional Knowledge, Skill Matching, Communication, Logical Thinking, Innovation, Stress Resistance)
  • Multimodal data visualization
  • Key problem identification
  • Personalized improvement suggestions
  • Learning path recommendations

6. Question Bank Management

  • Real company interview questions
  • Categorized by domain and position
  • Historical record tracking
  • Intelligent recommendations

🛠️ Technology Stack

Backend

  • Framework: Flask + Flask-SocketIO
  • Database: SQLite + SQLAlchemy ORM
  • AI Models:
    • Emotion Analysis: CNN-Transformer hybrid model
    • Face Recognition: MediaPipe Face Mesh
    • Speech Recognition: iFlytek Speech API
    • Large Language Model: iFlytek Spark Cognitive Model
  • Deep Learning: TensorFlow 2.6.0, Keras
  • Audio Processing: Librosa, FFmpeg
  • Computer Vision: OpenCV, MediaPipe

Frontend

  • Framework: Vue 3 + Vite
  • UI Components: Element Plus
  • Data Visualization: Chart.js
  • Real-time Communication: Socket.IO Client
  • Routing: Vue Router

📦 Installation

Requirements

  • Python 3.8+
  • Node.js 14+
  • FFmpeg (for audio processing)
  • CUDA (optional, for GPU acceleration)

Backend Setup

# Navigate to backend directory
cd backend

# Install Python dependencies
pip install -r requirements.txt

# Initialize database
python init_database.py

# Start backend service
python app.py

Backend service will run at http://localhost:5000

Frontend Setup

# Navigate to frontend directory
cd interview-ui

# Install dependencies
npm install

# Start development server
npm run dev

Frontend service will run at http://localhost:5137

🎯 User Guide

1. Resume Submission

  • Upload your resume (PDF, DOCX supported)
  • Fill in job description (JD)
  • System automatically evaluates resume

2. DISC Personality Test

  • Complete 20 personality test questions
  • Get four-dimensional personality analysis report
  • Understand personal characteristics

3. Start Interview

  • Select interview domain and position
  • System generates personalized interview questions
  • Answer via voice/text in real-time
  • Multimodal data collection

4. View Report

  • Comprehensive ability assessment
  • Multimodal analysis results
  • Key problem identification
  • Improvement suggestions
  • Learning path recommendations

📊 System Architecture

interview/
├── backend/                 # Backend service
│   ├── app.py              # Flask application entry
│   ├── models.py           # Database models
│   ├── config.py           # Configuration
│   ├── routes/             # API routes
│   │   ├── interview.py    # Interview APIs
│   │   └── asr.py          # Speech recognition APIs
│   ├── services/           # Business services
│   │   ├── emotion_service.py              # Emotion analysis
│   │   ├── eye_contact_service.py          # Eye contact detection
│   │   ├── xfyun_service.py                # iFlytek API service
│   │   ├── xfyun_asr_service.py            # iFlytek ASR
│   │   ├── interview_analysis_service.py   # Interview analysis
│   │   └── question_generation_service.py  # Question generation
│   ├── static/             # Static files
│   └── instance/           # Instance data
└── interview-ui/           # Frontend application
    ├── src/
    │   ├── views/          # Page components
    │   ├── components/     # Common components
    │   ├── services/       # API services
    │   ├── utils/          # Utility functions
    │   └── router.js       # Router configuration
    └── public/             # Public assets

🔧 Configuration

Backend Configuration

Edit backend/config.py:

class Config:
    # Database configuration
    SQLALCHEMY_DATABASE_URI = 'sqlite:///interview.db'
    
    # iFlytek API configuration (requires application)
    XFYUN_APPID = 'your_app_id'
    XFYUN_API_KEY = 'your_api_key'
    XFYUN_API_SECRET = 'your_api_secret'

Frontend Configuration

Edit interview-ui/src/api.js:

const API_BASE_URL = 'http://localhost:5000';

🤖 AI Model Description

1. Emotion Analysis Model

  • Architecture: CNN + Transformer Encoder
  • Input: Audio features (MFCC, ZCR, RMSE)
  • Output: Three-class classification (Positive, Neutral, Negative)
  • Accuracy: 79%+

2. Facial Expression Recognition

  • Technology: MediaPipe Face Mesh + iFlytek Face Recognition API
  • Detection Points: 468 facial landmarks
  • Expression Categories: 7 basic emotions

3. Eye Contact Detection

  • Technology: MediaPipe Iris Tracking
  • Detection Metrics: Head pose, gaze direction, blink frequency
  • Judgment Criteria: Multi-dimensional comprehensive evaluation

📈 Performance Optimization

  • GPU Acceleration: CUDA support for deep learning inference
  • Model Quantization: Reduced model size and inference time
  • Asynchronous Processing: WebSocket real-time communication
  • Caching Mechanism: Reduced redundant computation
  • Batch Processing: Improved throughput

🔒 Privacy & Security

  • All data stored locally
  • No sensitive information uploaded to third parties
  • Support data export and deletion
  • Compliant with data protection regulations

📝 Development Roadmap

  • Support more language models
  • Add video interview recording
  • Support multi-person mock interviews
  • Mobile adaptation
  • Enterprise features

🤝 Contributing

Issues and Pull Requests are welcome!

📄 License

MIT License

📧 Contact

For questions or suggestions, please contact via Issues.


Note: This system is designed for interview training and practice purposes. AI-generated assessments are for reference only and should not be used as the sole basis for hiring decisions.

About

🎯 AI驱动的多模态面试训练平台,集成语音情感分析、面部识别和智能评估。基于Python、Flask、Vue.js、TensorFlow和MediaPipe构建。

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors