tc-mb/llama.cpp-omni

Omni inference in C/C++

解决的问题

llama.cpp-omni 为全模态模型(如 MiniCPM-o 4.5)提供了一个高性能的本地推理引擎。它通过将整个流程——从视觉和音频编码到文本转语音合成——优化为单一高效的C++框架,在消费级硬件上实现实时、全双工的语音和视频交互。

工作原理

该引擎基于 llama.cpp 生态系统,将复杂的 MiniCPM-o 架构拆分为模块化的 GGUF 文件。它使用时分复用(TDM)机制来同步视频、音频和文本的并行流。通过以1秒为间隔处理输入,并使用异步队列进行生成,模型可以同时“听”和“说”,无需阻塞,从而实现主动、类人的对话。

适用人群

该项目面向希望在自己的硬件(Windows、Linux 或 macOS)上本地运行高级多模态AI代理,而不依赖云API的开发者和研究人员。对于构建实时语音助手或交互式视频通话应用的人来说尤其有用。

亮点

  • 全双工流式传输:支持同时输入(视频/音频)和输出(语音/文本),实现流畅的实时交互。
  • 高性能:在 RTX 4090 或 Apple M4 Max 等消费级硬件上实现低于650毫秒的首令牌延迟。
  • 模块化架构:将视觉(VPM)、音频(APM)、语言(LLM)和语音(TTS)组件分离为 GGUF 模块,便于灵活部署。
  • 主动交互:使模型能够持续监控流,并自主决定何时说话。
  • 生态系统兼容性:与 llama.cpp 工具链完全兼容,并支持常见的量化格式(F16、Q8_0、Q4_K_M)。

相关

  • 项目
  • 项目
  • 项目
  • 项目