OpenAvatarChat:模块化交互数字人对话系统架构解析

项目概述

OpenAvatarChat 是一个开源的模块化交互数字人对话实现系统,由 HumanAIGC-Engineering 团队开发并维护。该项目采用模块化架构设计,将语音识别(ASR)、大语言模型(LLM)、语音合成(TTS)和数字人渲染(Avatar)等核心功能解耦,支持灵活组合和替换,实现从完全本地部署到云端混合部署的多种方案。

项目地址https://github.com/HumanAIGC-Engineering/OpenAvatarChat

系统架构

OpenAvatarChat 采用四层模块化架构,将完整的数字人对话流程拆分为四个核心模块:

用户输入(语音/文本)
    ↓
[ASR 模块] → 语音转文字
    ↓
[LLM 模块] → 理解与生成
    ↓
[TTS 模块] → 文字转语音
    ↓
[Avatar 模块] → 数字人渲染
    ↓
用户输出(视频/音频)

架构特点

  1. 模块解耦:每个模块可独立替换,互不影响
  2. 灵活组合:支持本地/云端混合部署
  3. 配置驱动:通过 YAML 配置文件快速切换不同组合方案
  4. 扩展性强:易于集成新的模型或服务

各模块下的模型详解

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 本地模型包
  • 适用场景:需要端到端一体化处理,对隐私要求极高的场景

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 本地模型包
  • 适用场景:完全本地化部署,对隐私要求极高

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 服务
  • 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(量化)端到端一体化完全本地化方案(阿里用户)
CosyVoice4-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 显存需求表情支持特点推荐场景
LiteAvatar2-4GB(低到中等),CPU 可运行✅ 基本表情轻量级,多会话支持,口型同步大多数场景
LAM约 2-4GB(中等)音频驱动表情(audio2exp)音频到表情映射,支持复杂表情驱动需要丰富表情驱动的场景
MuseTalk约 2-4GB(中等)仅唇形同步高质量唇形同步,不支持表情高质量唇形同步需求

预置配置方案完整解析

OpenAvatarChat 提供了 7 种预置配置方案,通过不同的 YAML 配置文件实现多种模块组合。以下是各方案的详细分析,包括模块组合、本地化程度和 GPU 算力需求:

CONFIG 名称ASRLLMTTSAVATAR本地化程度GPU 显存需求
chat_with_lam.yamlSenseVoiceAPIAPILAM部分本地约 4-6GB
chat_with_qwen_omni.yamlQwen-OmniQwen-OmniQwen-OmniLiteAvatar完全本地约 20GB(未量化)/ 约 10GB(量化)
chat_with_minicpm.yamlMiniCPM-oMiniCPM-oMiniCPM-oLiteAvatar完全本地约 20GB(未量化)/ 约 10GB(量化)
chat_with_openai_compatible.yamlSenseVoiceAPICosyVoiceLiteAvatar部分本地约 6-8GB
chat_with_openai_compatible_edge_tts.yamlSenseVoiceAPIedgeTTSLiteAvatar部分本地约 2-4GB
chat_with_openai_compatible_bailian_cosyvoice.yamlSenseVoiceAPIAPILiteAvatar部分本地约 2-4GB
chat_with_openai_compatible_bailian_cosyvoice_musetalk.yamlSenseVoiceAPIAPIMuseTalk部分本地约 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-6GBRTX 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-8GBRTX 3060 (12GB)ASR + TTS 本地,LLM 云端
chat_with_openai_compatible_edge_tts.yaml部分本地约 2-4GBGTX 1660 (6GB)最低配置,主要依赖云端
chat_with_openai_compatible_bailian_cosyvoice.yaml部分本地约 2-4GBGTX 1660 (6GB)最低配置,阿里生态
chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml部分本地约 4-6GBRTX 3060 (12GB)高质量唇形同步,MuseTalk(仅唇形同步,不支持表情)

GPU 算力需求分级

根据 GPU 显存需求,可以将 7 种配置方案分为以下等级:

入门级(2-4GB 显存)

适用方案

  • chat_with_openai_compatible_edge_tts.yaml
  • chat_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 显存需求明细

为了更精确地估算总显存需求,以下是各模块的显存占用明细:

模块模型显存需求说明
ASRSenseVoice2-4GB可在 CPU 运行,GPU 加速
ASRMiniCPM-o / Qwen-Omni共享整体模型显存与 LLM、TTS 共享
LLMMiniCPM-o / Qwen-Omni约 20GB(未量化)/ 约 10GB(量化)主要显存占用
LLMAPI(云端)0GB无需本地显存
TTSCosyVoice4-6GB独立运行
TTSMiniCPM-o / Qwen-Omni共享整体模型显存与 ASR、LLM 共享
TTSedgeTTS / API0GB云端服务
AvatarLiteAvatar2-4GB可在 CPU 运行
AvatarLAM约 2-4GB需要 GPU 支持
AvatarMuseTalk约 2-4GB需要 GPU 支持(实际需求取决于实现)

注意:当使用 MiniCPM-o 或 Qwen-Omni 时,ASR、LLM、TTS 三个模块共享同一个模型,显存需求为整体模型大小,而非三个模块相加。

配置方案选择指南

按 GPU 显存选择

GPU 显存推荐配置方案GPU 显存需求说明
2-4GBchat_with_openai_compatible_edge_tts.yaml
chat_with_openai_compatible_bailian_cosyvoice.yaml
2-4GB最低配置,主要依赖云端服务
4-6GBchat_with_lam.yaml
chat_with_openai_compatible_bailian_cosyvoice_musetalk.yaml
约 4-6GB混合部署,部分模块本地
6-8GBchat_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-6GBchat_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.yamlMuseTalk 提供高质量唇形同步(注意:不支持表情)
成本优先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 既适合研究学习,也适合商业应用,是一个值得关注和深入研究的优秀开源项目。