PROJ-04
EmotiMate
情感化虚拟人对话系统
担任队长开发的情感化虚拟人对话系统:流式 ASR、LLM 流式对话、RAG 知识库与 58 维实时面部表情驱动;获全国服务外包创新创业大赛东部赛区三等奖、计算机设计大赛福建省二等奖。
Python 3.10+React 19TypeScript 5.6MiniMax LLMWhisper ASRVRMWebSocket
★ 0 Stars
研究项目 用户
延迟 < 500ms 性能
2026 年份
emoti-mate.json
{
"id": "emoti-mate",
"title": "EmotiMate",
"type": "AI/ML",
"year": "2026",
"status": "active",
"category": "AI/ML",
"tech": ["Python 3.10+", "React 19", "TypeScript 5.6", "MiniMax LLM", "Whisper ASR", "VRM", "WebSocket"],
"github": "https://github.com/Zviolin/EmotiMate"
} 01
项目概述
担任队长开发的情感化虚拟人对话系统:流式 ASR、LLM 流式对话、RAG 知识库与 58 维实时面部表情驱动;获全国服务外包创新创业大赛东部赛区三等奖、计算机设计大赛福建省二等奖。
02
核心特性
多模态交互 — 语音输入(流式 ASR)、文字输入、情感识别、语音输出(情感 TTS)、表情输出(FDM)
VRM 虚拟人 — 支持多种 VRM 模型加载,58 个 blendshape 参数实时面部表情驱动,待机动画系统
LLM 对话引擎 — 支持 MiniMax-M2.7/M2.5 等大语言模型,流式对话输出,对话历史管理
RAG 知识库 — Markdown 格式知识库,语义检索增强,心理学专业知识库,动态文件管理
流式语音识别 — 基于 Whisper large-v3 模型的实时流式语音识别,支持中英文混合输入
情感面部驱动 — 基于 LAM Audio2Expression 模型,从音频实时生成 58 个面部表情参数
03
技术架构
前端
React 19 + TypeScript 5.6 + Three.js (VRM 渲染)
后端
Python 3.10+ HTTP Server
ASR 模型
Whisper large-v3 (语音识别)
LLM
MiniMax-M2.7 / MiniMax-M2.5
表情生成
LAM Audio2Expression + wav2vec2
RAG
向量检索 + 语义增强
04
性能指标
语音识别延迟 200ms
LLM 首字延迟 500ms
表情帧率 60fps
Blendshape 数 58个
05
项目结构
project-structure
EmotiMate/
├── python_server/ # Python 后端服务
│ ├── models/ # AI 模型文件
│ │ ├── ASR/ # Whisper 语音识别
│ │ └── FDM/ # 面部表情生成
│ ├── LLMHandler.py # LLM 对话处理
│ ├── TTSHandler.py # 语音合成
│ ├── VisionHandler.py # 情感识别
│ ├── ASRHandler.py # 语音识别
│ ├── FDMHandler.py # 表情驱动
│ └── RAGHandler.py # RAG 知识库
├── web/ # React 前端
│ ├── src/components/ # UI 组件
│ │ ├── ChatInput/ # 聊天输入
│ │ ├── VoiceInput/ # 语音输入
│ │ └── EmotiChatViewer/ # 对话展示
│ └── src/hooks/ # 自定义 Hooks
└── README.md 06
详细说明
项目概述
EmotiMate 是一个集成了情感识别、语音对话、VRM 虚拟人、LLM 大语言模型、RAG 知识库的智能化虚拟人对话系统。系统能够通过语音或文字与用户进行自然交互,实时识别用户情感状态,并通过 VRM 虚拟人展现带有情感色彩的面部表情和语音回应。
竞赛成果
- 全国大学生服务外包创新创业大赛 · 东部赛区三等奖(A22 企业命题赛道)——担任队长,负责系统开发与方案答辩(教育部五星级 A 类赛事,2026)
- 中国大学生计算机设计大赛 · 福建省二等奖(作品《桥韵》,数媒游戏与交互设计-游戏设计赛道)——担任队长,完成玩法开发与整体制作(教育部 A 类赛事,2026)
个人职责
担任队长,负责系统整体架构设计与核心模块开发:
- 整体架构:设计 Python 后端(LLM / TTS / Vision / ASR / FDM / RAG 六大 Handler)+ React 前端的多模态交互架构
- 实时链路:打通「流式 ASR → LLM 流式输出 → 情感 TTS → 音频驱动表情」全链路,语音识别延迟 200ms、LLM 首字延迟 500ms
- 表情驱动:集成 LAM Audio2Expression 与 wav2vec2,实现 58 个 VRM blendshape 的实时面部表情驱动(60fps)
- RAG 知识库:实现心理学 Markdown 知识库的语义检索增强与动态文件管理(上传 / 删除 / 重建索引)
系统架构
┌─────────────────────────────────────────────────────────┐
│ 前端 (React + TypeScript) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ ChatInput │ │ VoiceInput │ │ EmotiChatViewer │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────┘
↕ HTTP/WebSocket
┌─────────────────────────────────────────────────────────┐
│ 后端 (Python HTTP Server) │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ LLMHandler │ │ TTSHandler │ │ VisionHandler │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ ASRHandler │ │ FDMHandler │ │ RAGHandler │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────┘
↕
┌─────────────────────────────────────────────────────────┐
│ 模型层 │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────┐ │
│ │ Whisper │ │ LAM │ │ MiniMax API │ │
│ │ (ASR 模型) │ │ (表情生成) │ │ (LLM/TTS) │ │
│ └─────────────┘ └─────────────┘ └─────────────────┘ │
└─────────────────────────────────────────────────────────┘
核心特性
多模态交互
- 语音输入: 支持实时流式语音识别(Streaming ASR)
- 文字输入: 传统文字聊天界面
- 情感识别: 通过视觉模型分析用户情感状态
- 语音输出: 带有情感色彩的 TTS 语音合成
- 表情输出: 基于音频的实时面部表情生成(FDM)
VRM 虚拟人
- 支持多种 VRM 模型加载
- 实时面部表情驱动(58 个 blendshape 参数)
- 待机动画系统
- 3D 沉浸式交互界面
LLM 对话引擎
- 支持多种大语言模型(MiniMax-M2.7、MiniMax-M2.5 等)
- 流式对话输出
- 对话历史管理
- RAG 知识库增强
RAG 知识库
- 支持 Markdown 格式知识库
- 语义检索增强
- 心理学专业知识库
- 动态文件管理(上传、删除、重建索引)
环境要求
- Python: 3.10+
- Node.js: 18+
- 内存: 8GB+
- GPU: 推荐(用于加速 ASR 和 FDM 推理)
快速开始
# 克隆项目
git clone https://github.com/Zviolin/EmotiMate.git
cd EmotiMate
# 安装后端依赖
cd python_server
pip install -r requirements.txt
# 安装前端依赖
cd ../web
npm install
# 启动后端服务
python server.py
# 启动前端
npm run dev