ZVIOLIN
PROJ-04
PROJ-04 AI/ML 活跃中

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