OpenAvatarChat:模块化交互数字人对话系统架构解析
OpenAvatarChat:模块化交互数字人对话系统架构解析
项目概述
OpenAvatarChat 是一个开源的模块化交互数字人对话实现系统,由 HumanAIGC-Engineering 团队开发并维护。该项目采用模块化架构设计,将语音识别(ASR)、大语言模型(LLM)、语音合成(TTS)和数字人渲染(Avatar)等核心功能解耦,支持灵活组合和替换,实现从完全本地部署到云端混合部署的多种方案。
项目地址:https://github.com/HumanAIGC-Engineering/OpenAvatarChat
系统架构
OpenAvatarChat 采用四层模块化架构,将完整的数字人对话流程拆分为四个核心模块:
用户输入(语音/文本)
↓
[ASR 模块] → 语音转文字
↓
[LLM 模块] → 理解与生成
↓
[TTS 模块] → 文字转语音
↓
[Avatar 模块] → 数字人渲染
↓
用户输出(视频/音频)
架构特点
- 模块解耦:每个模块可独立替换,互不影响
- 灵活组合:支持本地/云端混合部署
- 配置驱动:通过 YAML 配置文件快速切换不同组合方案
- 扩展性强:易于集成新的模型或服务
各模块下的模型详解
1. ASR 模块(语音识别)模型对比
ASR 模块负责将用户的语音输入转换为文本。OpenAvatarChat 支持以下 ASR 模型:
1.1 SenseVoice
- 来源:FunAudioLLM 团队开发的多语种语音理解基础模型
- 是否本地:✅ 完全支持本地部署
- 功能特性:
- 语音识别(ASR)
- 语言识别(支持中/英/粤语/日语/韩语等多种语言)
- 情感识别
- 声学事件检测
- GPU 显存需求:较低(约 2-4GB)
- 支持 ONNX 推理,可在 CPU 上运行
- GPU 加速可提升性能,但非必需
- 部署方式:
- 官方提供模型权重和 ONNX 部署示例
- 支持 PyTorch/ONNX 推理
- 可离线运行,无需联网
- 适用场景:大多数配置方案的首选,资源占用低,性能稳定
1.2 MiniCPM-o(ASR 模式)
- 来源:OpenBMB 团队开发的 "Omni" 多模态大模型(8B 参数)
- 是否本地:✅ 支持本地部署
- 工作原理:通过 MiniCPM-o 内部的语音编码器 + LLM 联合完成语音到文本的转换
- 特点:
- 作为端到端 Omni 模型的一部分,与后续 LLM 处理无缝衔接
- 与 ASR、LLM、TTS 使用同一模型,保持风格一致性
- GPU 显存需求:高
- 未量化版本:需要 约 20GB 显存
- int4 量化版本:可降低至 约 10GB 显存
- 推荐配置:NVIDIA RTX 3090(24GB)或更高
- 部署方式:
- HuggingFace:
openbmb/MiniCPM-o-2_6 - 支持 Ollama 本地模型包
- HuggingFace:
- 适用场景:需要端到端一体化处理,对隐私要求极高的场景
1.3 Qwen-Omni(ASR 模式)
- 来源:阿里通义千问团队开发的多模态 Omni 模型
- 是否本地:✅ 支持本地部署
- 特点:
- 与 MiniCPM-o 类似,是端到端的多模态模型
- 支持语音、文本、图像等多种输入
- 与 ASR、LLM、TTS 使用同一模型
- GPU 显存需求:高(与 MiniCPM-o 类似)
- 未量化版本:预计需要 约 20GB 显存
- 量化版本:可降低至 约 10GB 显存
- 推荐配置:NVIDIA RTX 3090(24GB)或更高
- 适用场景:阿里云生态用户,需要端到端一体化处理
ASR 模块模型对比总结:
| 模型 | 本地支持 | GPU 显存需求 | 特点 | 推荐场景 |
|---|---|---|---|---|
| SenseVoice | ✅ | 约 2-4GB(低) | 轻量级,多语种,功能丰富 | 大多数场景 |
| MiniCPM-o | ✅ | 约 20GB(未量化)/ 约 10GB(量化) | 端到端一体化 | 完全本地化方案 |
| Qwen-Omni | ✅ | 约 20GB(未量化)/ 约 10GB(量化) | 端到端一体化,阿里生态 | 完全本地化方案(阿里用户) |
2. LLM 模块(大语言模型)模型对比
LLM 模块负责理解用户意图、生成对话回复,是整个系统的"大脑":
2.1 MiniCPM-o(LLM 模式)
- 来源:OpenBMB 团队开发的 "Omni" 多模态大模型
- 是否本地:✅ 完全支持本地部署
- 工作流程:语音 → 文字 → MiniCPM-o 理解思考 → 生成回复 → 转语音
- 特点:
- 端到端一体化处理,全程使用同一模型
- 支持文本对话、多模态理解(图像、视频)
- 官方定位为"可跑在手机/iPad、本地电脑上的 GPT-4o 级别多模态模型"
- GPU 显存需求:高
- 未量化版本:需要 约 20GB 显存
- int4 量化版本:可降低至 约 10GB 显存
- 推荐配置:NVIDIA RTX 3090(24GB)或 RTX 4090(24GB)
- 部署方式:
- HuggingFace:
openbmb/MiniCPM-o-2_6 - 支持 Ollama 本地模型包
- HuggingFace:
- 适用场景:完全本地化部署,对隐私要求极高
2.2 Qwen-Omni(LLM 模式)
- 来源:阿里通义千问团队开发的多模态 Omni 模型
- 是否本地:✅ 支持本地部署
- 特点:
- 端到端一体化处理,支持语音、文本、图像等多种模态
- 与 ASR、TTS 使用同一模型,保持风格一致性
- GPU 显存需求:高(与 MiniCPM-o 类似)
- 未量化版本:预计需要 约 20GB 显存
- 量化版本:可降低至 约 10GB 显存
- 推荐配置:NVIDIA RTX 3090(24GB)或更高
- 适用场景:阿里云生态用户,完全本地化部署
2.3 API 接口模式
- 是否本地:❌ 默认云端服务(可配置为本地兼容服务)
- 支持的服务类型:
- OpenAI Compatible:兼容 OpenAI API 协议的服务
- 可对接 OpenAI、Moonshot、DeepSeek 等
- 也支持本地部署的 OpenAI-compatible 服务(如本地 Qwen/DeepSeek 网关)
- Bailian(阿里百炼):阿里云百炼平台提供的各种 LLM 服务
- OpenAI Compatible:兼容 OpenAI API 协议的服务
- GPU 显存需求:无(云端服务)或取决于本地兼容服务
- 如果使用云端 API:无需本地 GPU
- 如果使用本地 OpenAI-compatible 服务:取决于具体模型(如本地 Qwen-7B 需要约 14GB 显存)
- 部署方式:默认远程云服务,需联网;也可配置为本地兼容服务
- 适用场景:算力有限,或需要享受云端模型最新能力
LLM 模块模型对比总结:
| 模型 | 本地支持 | GPU 显存需求 | 特点 | 推荐场景 |
|---|---|---|---|---|
| MiniCPM-o | ✅ | 约 20GB(未量化)/ 约 10GB(量化) | 端到端一体化,8B 参数 | 完全本地化方案 |
| Qwen-Omni | ✅ | 约 20GB(未量化)/ 约 10GB(量化) | 端到端一体化,阿里生态 | 完全本地化方案(阿里用户) |
| API(云端) | ❌ | 无 | 灵活,无需本地算力 | 算力有限或需要最新能力 |
| API(本地兼容) | ✅ | 取决于模型 | 可本地部署兼容服务 | 混合部署方案 |
3. TTS 模块(语音合成)模型对比
TTS 模块负责将 LLM 生成的文本转换为自然流畅的语音:
3.1 MiniCPM-o(TTS 模式)
- 来源:OpenBMB 团队开发的 "Omni" 多模态大模型
- 是否本地:✅ 完全支持本地部署
- 特点:
- 使用 MiniCPM-o 内置的 TTS 子模块(如 ChatTTS)进行语音合成
- 与 ASR、LLM 使用同一模型,保持风格一致性
- GPU 显存需求:高(与 MiniCPM-o 整体模型共享显存)
- 未量化版本:需要 约 20GB 显存(与 ASR、LLM 共享)
- 量化版本:可降低至 约 10GB 显存
- 适用场景:完全本地化方案,需要端到端一致性
3.2 Qwen-Omni(TTS 模式)
- 来源:阿里通义千问团队开发的多模态 Omni 模型
- 是否本地:✅ 支持本地部署
- 特点:
- 使用 Qwen-Omni 内置的 TTS 能力进行语音合成
- 与 ASR、LLM 使用同一模型,端到端一体化处理
- GPU 显存需求:高(与 Qwen-Omni 整体模型共享显存)
- 未量化版本:预计需要 约 20GB 显存
- 量化版本:可降低至 约 10GB 显存
- 适用场景:完全本地化方案(阿里用户)
3.3 CosyVoice
- 来源:FunAudioLLM 团队开发的多语种大规模 TTS 模型
- 是否本地:✅ 完全支持本地部署
- 功能特性:
- 零样本语音克隆
- 多语言支持
- 多风格语音合成
- 流式合成支持
- GPU 显存需求:中等(约 4-6GB)
- 可在 GPU 上加速推理
- 也支持 CPU 推理(速度较慢)
- 部署方式:
- 官方提供推理、训练、部署全流程代码
- 可离线运行
- 适用场景:需要高质量语音合成,但不想使用完整 Omni 模型的场景
3.4 edgeTTS / edgetts
- 来源:社区封装的 Microsoft Edge 在线 TTS 服务
- 是否本地:❌ 需要联网(本质上是调用微软服务器)
- 实现方式:通过
rany2/edge-tts等库模拟浏览器调用微软云端 TTS - GPU 显存需求:无(云端服务)
- 特点:
- Windows/Edge 有少量离线语音,但 edge-tts 用法主要依赖云端
- 不能算完整的离线方案
- 成本低,但依赖微软服务
- 适用场景:快速原型开发,对 TTS 质量要求不高的场景
3.5 TTS API
- 是否本地:❌ 默认云端服务
- 说明:通过 HTTP 接口调用外部 TTS 服务
- 支持服务:阿里、字节、科大讯飞、ElevenLabs 等
- GPU 显存需求:无(云端服务)
- 部署方式:默认云端服务,需联网
- 适用场景:算力有限,或需要特定 TTS 服务的能力
TTS 模块模型对比总结:
| 模型 | 本地支持 | GPU 显存需求 | 特点 | 推荐场景 |
|---|---|---|---|---|
| MiniCPM-o | ✅ | 约 20GB(未量化)/ 约 10GB(量化) | 端到端一体化 | 完全本地化方案 |
| Qwen-Omni | ✅ | 约 20GB(未量化)/ 约 10GB(量化) | 端到端一体化 | 完全本地化方案(阿里用户) |
| CosyVoice | ✅ | 4-6GB(中等) | 高质量,多语种,语音克隆 | 混合部署方案 |
| edgeTTS | ❌ | 无 | 免费但需联网 | 快速原型开发 |
| TTS API | ❌ | 无 | 灵活,多种服务可选 | 算力有限或需要特定能力 |
4. Avatar 模块(数字人渲染)模型对比
Avatar 模块负责生成数字人视频,实现唇形同步和表情动作:
4.1 LiteAvatar
- 定位:轻量级数字人实现方案
- 是否本地:✅ 支持本地部署
- 功能:
- 唇形同步:根据音频生成对应的口型动作
- 基本表情:支持基本的面部表情变化
- 实时渲染:轻量级实时渲染
- 表情支持:✅ 支持基本表情
- 主要功能集中在口型同步和基本表情生成
- 表情变化相对简单,不支持复杂的表情驱动
- 特点:
- 支持单机多会话(v0.5.1 版本新增)
- 性能优化,资源占用较低
- 适合轻量级应用场景
- GPU 显存需求:低到中等(约 2-4GB)
- 可在 CPU 上运行:测试环境 i9-13980HX,可达 30FPS
- GPU 加速可提升性能,但非必需
- 部署方式:
- 如果是本地 Unity/浏览器渲染,可离线运行
- 如果是云端 API 封装,需联网
- 适用场景:大多数配置方案的首选,资源占用低
4.2 LAM(Local Avatar Model)
- 说明:项目内部自定义的数字人组件,全称为 Local Avatar Model
- 是否本地:✅ 支持本地部署
- 功能:
- 音频驱动表情生成:通过音频特征(audio2exp)驱动数字人面部表情变化
- 唇形同步:根据音频生成对应的口型动作
- 动作生成:音频驱动的头部和身体动作
- 技术栈:
- 基于 wav2vec2 等模型进行音频特征提取
- 使用 audio2exp 技术将音频特征映射到面部表情参数
- 支持流式处理(streaming)
- 表情支持:✅ 支持表情驱动
- LAM 通过 audio2exp(音频到表情)技术实现表情生成
- 能够根据音频的语调、情感等特征生成相应的面部表情
- 表情变化与语音内容同步
- GPU 显存需求:中等(约 2-4GB)
- 需要 GPU 支持以获得最佳性能
- 可在 CPU 上运行,但性能较低
- 适用场景:需要音频驱动表情和动作的数字人场景
4.3 MuseTalk
- 来源:腾讯音乐 Lyra Lab 开发的开源实时语音驱动唇形同步模型
- 是否本地:✅ 支持本地部署
- 功能:
- 输入:音频 + 人脸视频/图片
- 输出:对口说话的视频
- 实时唇形同步:高质量的唇形同步效果
- 支持中文、英文、日文等多种语言
- 特别适用于 256x256 像素的面部区域
- 表情支持:❌ 不支持表情变化
- MuseTalk 的主要功能是高质量的唇形同步(lip sync)
- 专注于确保唇部动作与音频内容的高度同步
- 不包含表情生成功能,仅处理唇形同步
- GPU 显存需求:中等(约 2-4GB)
- 需要 GPU 显存支持(实时推理对显卡有一定要求)
- 可离线运行
- 适用场景:对 Avatar 质量要求较高,需要高质量唇形同步效果的场景
Avatar 模块模型对比总结:
| 模型 | 本地支持 | GPU 显存需求 | 表情支持 | 特点 | 推荐场景 |
|---|---|---|---|---|---|
| LiteAvatar | ✅ | 2-4GB(低到中等),CPU 可运行 | ✅ 基本表情 | 轻量级,多会话支持,口型同步 | 大多数场景 |
| LAM | ✅ | 约 2-4GB(中等) | ✅ 音频驱动表情(audio2exp) | 音频到表情映射,支持复杂表情驱动 | 需要丰富表情驱动的场景 |
| MuseTalk | ✅ | 约 2-4GB(中等) | ❌ 仅唇形同步 | 高质量唇形同步,不支持表情 | 高质量唇形同步需求 |
预置配置方案完整解析
OpenAvatarChat 提供了 7 种预置配置方案,通过不同的 YAML 配置文件实现多种模块组合。以下是各方案的详细分析,包括模块组合、本地化程度和 GPU 算力需求:
| CONFIG 名称 | ASR | LLM | TTS | AVATAR | 本地化程度 | GPU 显存需求 |
|---|---|---|---|---|---|---|
| chat_with_lam.yaml | SenseVoice | API | API | LAM | 部分本地 | 约 4-6GB |
| chat_with_qwen_omni.yaml | Qwen-Omni | Qwen-Omni | Qwen-Omni | LiteAvatar | 完全本地 | 约 20GB(未量化)/ 约 10GB(量化) |
| chat_with_minicpm.yaml | MiniCPM-o | MiniCPM-o | MiniCPM-o | LiteAvatar | 完全本地 | 约 20GB(未量化)/ 约 10GB(量化) |
| chat_with_openai_compatible.yaml | SenseVoice | API | CosyVoice | LiteAvatar | 部分本地 | 约 6-8GB |
| chat_with_openai_compatible_edge_tts.yaml | SenseVoice | API | edgeTTS | LiteAvatar | 部分本地 | 约 2-4GB |
| chat_with_openai_compatible_bailian_cosyvoice.yaml | SenseVoice | API | API | LiteAvatar | 部分本地 | 约 2-4GB |
| chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml | SenseVoice | API | API | MuseTalk | 部分本地 | 约 4-6GB |
方案一:chat_with_lam.yaml
模块组合:
- ASR:SenseVoice ✅(本地,2-4GB)
- LLM:API ❌(云端)
- TTS:API ❌(云端)
- Avatar:LAM ✅(本地,4-6GB)
本地化程度:部分本地(ASR 和 Avatar 本地,LLM 和 TTS 云端)
GPU 显存需求:约 4-6GB
- SenseVoice:约 2-4GB
- LAM:约 2-4GB
- LLM 和 TTS 依赖云端,无需本地显存
特点:
- 仅 ASR 和 Avatar 在本地运行
- LLM 和 TTS 依赖云端服务
- 适合对 Avatar 有特殊要求但算力有限的场景
- 需要稳定网络连接
推荐硬件:NVIDIA RTX 3060(12GB)或 RTX 3060 Ti(8GB)
方案二:chat_with_qwen_omni.yaml
模块组合:
- ASR:Qwen-Omni ✅(本地)
- LLM:Qwen-Omni ✅(本地)
- TTS:Qwen-Omni ✅(本地)
- Avatar:LiteAvatar ✅(本地,2-4GB)
本地化程度:完全本地(所有模块本地运行)
GPU 显存需求:高
- 未量化版本:约 20GB 显存
- 量化版本:约 10GB 显存
- LiteAvatar:约 2-4GB(与 Qwen-Omni 共享显存,或可独立运行)
特点:
- 完全本地化方案(基于 Qwen-Omni)
- 使用阿里通义千问的 Omni 模型,端到端一体化处理
- 在有足够算力的前提下,可完全离线运行
- 与 MiniCPM-o 方案类似,但使用的是 Qwen 系列模型
- 适合阿里云生态用户
推荐硬件:
- 未量化:NVIDIA RTX 3090(24GB)或 RTX 4090(24GB)或 A100(40GB/80GB)
- 量化版本:NVIDIA RTX 3080(10GB)或 RTX 4070(12GB)
方案三:chat_with_minicpm.yaml
模块组合:
- ASR:MiniCPM-o ✅(本地)
- LLM:MiniCPM-o ✅(本地)
- TTS:MiniCPM-o ✅(本地)
- Avatar:LiteAvatar ✅(本地,2-4GB)
本地化程度:完全本地(所有模块本地运行)
GPU 显存需求:高
- 未量化版本:约 20GB 显存
- 量化版本:约 10GB 显存
- LiteAvatar:约 2-4GB(与 MiniCPM-o 共享显存,或可独立运行)
特点:
- 完全本地化方案(基于 MiniCPM-o)
- 使用 OpenBMB 的 MiniCPM-o 模型,端到端一体化处理
- 在有足够算力的前提下,可完全离线运行(外网全断也能用)
- 推荐用于对隐私要求极高的场景
- 官方定位为"可跑在手机/iPad、本地电脑上的 GPT-4o 级别多模态模型"
推荐硬件:
- 未量化:NVIDIA RTX 3090(24GB)或 RTX 4090(24GB)或 A100(40GB/80GB)
- 量化版本:NVIDIA RTX 3080(10GB)或 RTX 4070(12GB)
方案四:chat_with_openai_compatible.yaml
模块组合:
- ASR:SenseVoice ✅(本地,2-4GB)
- LLM:API ❌(OpenAI 兼容接口,默认云端)
- TTS:CosyVoice ✅(本地,4-6GB)
- Avatar:LiteAvatar ✅(本地,2-4GB)
本地化程度:部分本地(ASR、TTS 和 Avatar 本地,LLM 云端)
GPU 显存需求:约 6-8GB
- SenseVoice:约 2-4GB
- CosyVoice:约 4-6GB
- LiteAvatar:约 2-4GB(可在 CPU 运行)
- LLM 依赖云端,无需本地显存
特点:
- 典型的"本地 ASR + 本地 TTS + 云端 LLM"混合方案
- 可优化:如果将 LLM 换成本地 OpenAI-compatible 服务(如本地 Qwen/DeepSeek 网关),也可实现全本地
- 平衡了性能、成本和隐私需求
- 需要稳定网络连接(LLM 部分)
推荐硬件:NVIDIA RTX 3060(12GB)或 RTX 3070(8GB)
方案五:chat_with_openai_compatible_edge_tts.yaml
模块组合:
- ASR:SenseVoice ✅(本地,2-4GB)
- LLM:API ❌(云端)
- TTS:edgeTTS ❌(在线调用微软 TTS)
- Avatar:LiteAvatar ✅(本地,2-4GB)
本地化程度:部分本地(ASR 和 Avatar 本地,LLM 和 TTS 云端)
GPU 显存需求:2-4GB
- SenseVoice:2-4GB
- LiteAvatar:2-4GB
- LLM 和 TTS 依赖云端,无需本地显存
特点:
- 使用 edgeTTS 时无法离线,必须联网
- GPU 显存需求最低
- 适合快速原型开发或对 TTS 质量要求不高的场景
- 成本较低,但依赖微软服务
推荐硬件:NVIDIA GTX 1660(6GB)或 RTX 3050(8GB)
方案六:chat_with_openai_compatible_bailian_cosyvoice.yaml
模块组合:
- ASR:SenseVoice ✅(本地,2-4GB)
- LLM:API(Bailian 等)❌(云端)
- TTS:API ❌(可能是远程 CosyVoice 或其他 TTS)
- Avatar:LiteAvatar ✅(本地,2-4GB)
本地化程度:部分本地(ASR 和 Avatar 本地,LLM 和 TTS 云端)
GPU 显存需求:2-4GB
- SenseVoice:2-4GB
- LiteAvatar:2-4GB
- LLM 和 TTS 依赖云端,无需本地显存
特点:
- 识别本地,LLM 和 TTS 主要依赖云端
- GPU 显存需求最低
- 使用阿里百炼平台的服务
- 适合阿里云生态用户,算力有限的场景
推荐硬件:NVIDIA GTX 1660(6GB)或 RTX 3050(8GB)
方案七:chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml
模块组合:
- ASR:SenseVoice ✅(本地,2-4GB)
- LLM:API ❌(云端)
- TTS:API ❌(云端)
- Avatar:MuseTalk ✅(本地,6-8GB)
本地化程度:部分本地(ASR 和 Avatar 本地,LLM 和 TTS 云端)
GPU 显存需求:约 4-6GB
- SenseVoice:约 2-4GB
- MuseTalk:约 2-4GB(实际需求取决于具体实现)
- LLM 和 TTS 依赖云端,无需本地显存
特点:
- 语音对话部分不是全本地(LLM 和 TTS 依赖云端)
- 使用 MuseTalk 作为 Avatar 渲染引擎,提供高质量的唇形同步效果
- 注意:MuseTalk 仅支持唇形同步,不支持表情变化
- 适合对唇形同步质量要求较高的场景
- 需要稳定网络连接(LLM 和 TTS 部分)
推荐硬件:NVIDIA RTX 3060(12GB)或 RTX 3070(8GB)
各配置方案 GPU 算力需求总结
以下是所有 7 种预置配置方案的 GPU 显存需求汇总表,便于快速对比和选择:
| 配置方案 | 本地化程度 | GPU 显存需求 | 推荐 GPU | 主要特点 |
|---|---|---|---|---|
| chat_with_lam.yaml | 部分本地 | 约 4-6GB | RTX 3060 (12GB) | ASR + Avatar 本地,LAM 支持表情驱动 |
| chat_with_qwen_omni.yaml | 完全本地 | 约 20GB(未量化) 约 10GB(量化) | RTX 3090/4090 (24GB) RTX 3080/4070 (量化) | 端到端一体化,阿里生态 |
| chat_with_minicpm.yaml | 完全本地 | 约 20GB(未量化) 约 10GB(量化) | RTX 3090/4090 (24GB) RTX 3080/4070 (量化) | 端到端一体化,完全离线 |
| chat_with_openai_compatible.yaml | 部分本地 | 约 6-8GB | RTX 3060 (12GB) | ASR + TTS 本地,LLM 云端 |
| chat_with_openai_compatible_edge_tts.yaml | 部分本地 | 约 2-4GB | GTX 1660 (6GB) | 最低配置,主要依赖云端 |
| chat_with_openai_compatible_bailian_cosyvoice.yaml | 部分本地 | 约 2-4GB | GTX 1660 (6GB) | 最低配置,阿里生态 |
| chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml | 部分本地 | 约 4-6GB | RTX 3060 (12GB) | 高质量唇形同步,MuseTalk(仅唇形同步,不支持表情) |
GPU 算力需求分级
根据 GPU 显存需求,可以将 7 种配置方案分为以下等级:
入门级(2-4GB 显存)
适用方案:
chat_with_openai_compatible_edge_tts.yamlchat_with_openai_compatible_bailian_cosyvoice.yaml
特点:
- 最低硬件要求
- 主要依赖云端服务(LLM 和 TTS)
- 仅 ASR 和 Avatar 在本地运行
- 适合快速原型开发和测试
推荐硬件:
- NVIDIA GTX 1660(6GB)
- NVIDIA RTX 3050(8GB)
进阶级(4-8GB 显存)
适用方案:
chat_with_lam.yaml(约 4-6GB)chat_with_openai_compatible.yaml(约 6-8GB)chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml(约 4-6GB)
特点:
- 混合部署方案
- 部分模块本地运行,部分依赖云端
- 平衡性能、成本和隐私
推荐硬件:
- NVIDIA RTX 3060(12GB)
- NVIDIA RTX 3070(8GB)
专业级(约 10GB 显存,量化版本)
适用方案:
chat_with_minicpm.yaml(量化版本:约 10GB)chat_with_qwen_omni.yaml(量化版本:约 10GB)
特点:
- 完全本地化部署
- 使用量化模型降低显存需求
- 数据隐私完全可控
- 可完全离线运行
推荐硬件:
- NVIDIA RTX 3080(10GB)
- NVIDIA RTX 4070(12GB)
旗舰级(约 20GB 显存,未量化版本)
适用方案:
chat_with_minicpm.yaml(未量化版本:约 20GB)chat_with_qwen_omni.yaml(未量化版本:约 20GB)
特点:
- 完全本地化部署
- 使用未量化模型,性能最佳
- 数据隐私完全可控
- 可完全离线运行
- 端到端一体化处理
推荐硬件:
- NVIDIA RTX 3090(24GB)
- NVIDIA RTX 4090(24GB)
- NVIDIA A100(40GB/80GB)
各模块 GPU 显存需求明细
为了更精确地估算总显存需求,以下是各模块的显存占用明细:
| 模块 | 模型 | 显存需求 | 说明 |
|---|---|---|---|
| ASR | SenseVoice | 2-4GB | 可在 CPU 运行,GPU 加速 |
| ASR | MiniCPM-o / Qwen-Omni | 共享整体模型显存 | 与 LLM、TTS 共享 |
| LLM | MiniCPM-o / Qwen-Omni | 约 20GB(未量化)/ 约 10GB(量化) | 主要显存占用 |
| LLM | API(云端) | 0GB | 无需本地显存 |
| TTS | CosyVoice | 4-6GB | 独立运行 |
| TTS | MiniCPM-o / Qwen-Omni | 共享整体模型显存 | 与 ASR、LLM 共享 |
| TTS | edgeTTS / API | 0GB | 云端服务 |
| Avatar | LiteAvatar | 2-4GB | 可在 CPU 运行 |
| Avatar | LAM | 约 2-4GB | 需要 GPU 支持 |
| Avatar | MuseTalk | 约 2-4GB | 需要 GPU 支持(实际需求取决于实现) |
注意:当使用 MiniCPM-o 或 Qwen-Omni 时,ASR、LLM、TTS 三个模块共享同一个模型,显存需求为整体模型大小,而非三个模块相加。
配置方案选择指南
按 GPU 显存选择
| GPU 显存 | 推荐配置方案 | GPU 显存需求 | 说明 |
|---|---|---|---|
| 2-4GB | chat_with_openai_compatible_edge_tts.yaml chat_with_openai_compatible_bailian_cosyvoice.yaml | 2-4GB | 最低配置,主要依赖云端服务 |
| 4-6GB | chat_with_lam.yaml chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml | 约 4-6GB | 混合部署,部分模块本地 |
| 6-8GB | chat_with_openai_compatible.yaml | 约 6-8GB | 混合部署,ASR + TTS 本地 |
| 约 10GB(量化) | chat_with_minicpm.yaml(量化) chat_with_qwen_omni.yaml(量化) | 约 10GB | 完全本地化方案(量化版本) |
| 约 20GB(未量化) | chat_with_minicpm.yaml chat_with_qwen_omni.yaml | 约 20GB | 完全本地化方案(未量化版本) |
| 4-6GB | chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml | 约 4-6GB | 高质量唇形同步(MuseTalk,不支持表情) |
按本地化需求选择
| 本地化需求 | 推荐配置方案 | GPU 显存需求 |
|---|---|---|
| 完全本地化 | chat_with_minicpm.yaml chat_with_qwen_omni.yaml | 约 20GB(未量化)/ 约 10GB(量化) |
| 部分本地化 | chat_with_openai_compatible.yaml | 约 6-8GB |
| 最低本地化 | chat_with_openai_compatible_edge_tts.yaml chat_with_openai_compatible_bailian_cosyvoice.yaml | 2-4GB |
按应用场景选择
| 应用场景 | 推荐配置方案 | 说明 |
|---|---|---|
| 隐私敏感 | chat_with_minicpm.yaml chat_with_qwen_omni.yaml | 完全本地化,数据不出本地 |
| 高质量唇形同步 | chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml | MuseTalk 提供高质量唇形同步(注意:不支持表情) |
| 成本优先 | chat_with_openai_compatible_edge_tts.yaml | 最低硬件要求,主要依赖免费服务 |
| 平衡方案 | chat_with_openai_compatible.yaml | 本地 ASR/TTS,云端 LLM,平衡性能与成本 |
性能指标
在标准测试环境(i9-13900KF 处理器 + Nvidia RTX 4090 显卡)下的性能表现:
- 平均延迟:约 2.2 秒
- 延迟定义:从用户语音结束到数字人开始语音的时间间隔
- 延迟组成:
- RTC 双向数据传输时间
- VAD(语音活动检测)停止延迟
- 整个流程的计算时间(ASR + LLM + TTS + Avatar)
数字人推理性能
- GPU 推理:实时流畅
- CPU 推理:测试环境 i9-13980HX,可达 30FPS(LiteAvatar)
- 支持方式:GPU/CPU 两种推理方式
总结
OpenAvatarChat 通过模块化架构设计,将复杂的数字人对话系统拆分为 ASR、LLM、TTS、Avatar 四个核心模块,每个模块都支持多种实现方案,从完全本地到完全云端,满足不同场景的需求。
特别是 MiniCPM-o 和 Qwen-Omni 等 Omni 多模态模型的集成,为完全本地化部署提供了可能,在保证功能强大的同时兼顾了数据隐私和离线能力。通过 7 种预置配置方案,用户可以根据自己的硬件条件、隐私需求和成本预算灵活选择最适合的组合。这种设计理念使得 OpenAvatarChat 既适合研究学习,也适合商业应用,是一个值得关注和深入研究的优秀开源项目。
- 感谢你赐予我前进的力量

