[开源] OpenTalking:面向实时对话的开源数字人产线 (LLM+TTS+WebRTC)
V站的各位开发者朋友们大家好!今天想和大家分享我们开源的一个新项目:OpenTalking。这是一个开源的实时数字人框架。
开发数字人对话产品时,大家往往会遇到一个痛点:各种优秀的开源模型(大语言模型、语音合成、数字人渲染)都有了,但要把它们拼凑成一个低延迟、体验顺畅的 WebRTC 实时产品链路却非常繁琐。
OpenTalking 的目标就是帮你把数字人对话产品需要的链路串起来。它涵盖了前端交互、会话状态、LLM 回复、TTS/音色选择、打断控制、字幕事件、WebRTC 音视频播放,以及外部模型服务调用。相比于死磕底层的推理模型,OpenTalking 专注于提供一个完善的产线编排层。
🌟 核心亮点与能力
- 开箱即用的实时链路:从 LLM 回复、流式 TTS,到字幕事件、状态事件和 WebRTC 播放,全部在一条链路中完成。
- 兼容高质量与轻量级部署:原生支持 FlashTalk 风格推理服务作为高质量数字人渲染后端(基于 OmniRT 框架)。如果你只想跑通体验,也提供轻量 Demo 路径,无需先下载完整 FlashTalk 权重就能跑通 API、TTS、WebRTC 和前端体验。
- 灵活的 LLM 生态接入:无缝支持 DashScope、Ollama、vLLM、DeepSeek 等所有 OpenAI-compatible endpoint。
- 多硬件与多形态部署:支持单进程 demo、API/Worker 分布式模式以及 Docker Compose。无论是面向 RTX 3090 / 4090 的消费级显卡单卡实时配置,还是面向昇腾 910B 等企业级 GPU/NPU 的高质量私有化部署,都能很好地支持。
- 对话打断控制:当前已具备说话轮次的打断基础,后续计划升级为全链路取消。
🛠 技术栈
- 开发语言:Python 3.9+
- 后端框架:FastAPI
- 前端框架:React 18
- 流媒体通信:WebRTC
🚀 快速上手体验
为了让大家能快速看到效果,我们对链路做了简化处理。默认情况下,你只需要在本地部署一个模型服务(FlashTalk WebSocket),然后将 LLM、STT、TTS 全部走阿里云百炼的 API(例如 OpenAI 兼容端点和 DashScope 实时 ASR/TTS),就可以跑起来。后续你可以无痛切换为自己本地部署的各类自定义模型服务。
🔗 传送门与交流
项目基于 Apache License 2.0 协议开源,欢迎大家来跑一跑,提提 Issue 或者 PR!如果觉得有帮助,求大佬们赏个 Star ⭐️!
- GitHub 地址:https://github.com/datascale-ai/opentalking
- 详细文档:仓库内包含了快速开始、架构说明、部署文档以及硬件指南等完整文档。