跳转到主要内容
LiveKit Agents 是一个用于构建实时语音 AI 的框架。由于 Venice 在对话、转录和语音方面完全兼容 OpenAI,你可以通过将 livekit-plugins-openai 插件指向 Venice 的基础 URL,来驱动语音智能体的全部三个阶段——语音转文本 (STT)LLM文本转语音 (TTS)
Venice 适用于 LiveKit Agents 中的 STT-LLM-TTS 管线 架构。Venice 未提供 OpenAI Realtime(语音到语音)WebSocket API,因此 RealtimeModel / 多模态路径不可用。请使用下方展示的组件化管线——它让你完全掌控每个模型,并将推理保留在 Venice 的私有基础设施上。

Venice 如何映射到 LiveKit Agents

安装配置

安装框架及下方使用到的插件:
设置你的 Venice API 密钥以及 LiveKit 连接信息:
当省略 api_key 时,OpenAI 插件会回退到 OPENAI_API_KEY。由于你将其指向 Venice,请始终显式传入 api_key(否则密钥会从错误的变量中读取)。下方示例读取的是 VENICE_API_KEY

完整语音智能体

这是一个完整的语音智能体:使用 Venice STT 转录、Venice LLM 思考、Venice TTS 发声。Silero 提供本地语音活动检测,让批量式 STT 知道一个轮次何时结束。
在开发环境中运行它:

配置各个组件

LLM

LLM 的映射最为直接——Venice /chat/completions 支持 SSE 流式传输、工具调用和视觉,这些能力 LiveKit 都能直接使用。venice-uncensored-1-2 让推理保持私密且无审查,同时喂给 TTS 管线;只有在需要更短首 token 时间时才考虑 flash 级模型。
通过 extra_body 传入 Venice 特有的选项(网络搜索、角色人设、思考控制):

语音转文本

LiveKit 的 OpenAI STT 会在每个语音片段上调用 /audio/transcriptions,因此需要 VAD(上文的 Silero)来检测轮次何时结束。请将默认模型覆盖为一个 Venice STT 模型。nvidia/parakeet-tdt-0.6b-v3 是最小、延迟最低的选择;如果你追求更高的准确率,stt-xai-v1elevenlabs/scribe-v2 是更新的替代方案。

文本转语音

LiveKit 的 OpenAI TTS 会调用 /audio/speech。在 Venice 中,声音与模型绑定——请传入同一个模型的 model/voice 对。tts-kokoro 让语音阶段保持私密且无审查,从而可以原封不动地朗读 LLM 的输出;请求 pcm 可以省去 MP3 解码步骤,减少少量延迟。更快的第三方供应商声音(如 Gemini)可能会做内容过滤,若你需要无审查语音则应避免使用。

推荐模型

模型 ID 会随时间变化——请在运行时通过 GET /models?type=...GET /models/traits 发现当前可用选项,而不是硬编码。对于语音智能体,请优先选择低延迟层级(名称包含 flashturbomini 或参数量较小的模型),因为响应感受取决于首 token 时间和 TTS 速度。以下是当前目录中的合理起点:

浏览全部模型

按文本、语音转文本和文本转语音进行筛选,查看实时价格与能力。

延迟与生产实践建议

语音智能体的质量主要由轮次切换延迟决定——即用户说完到智能体开始回话之间的时间。使用全 Venice 管线时,大致预算如下: 预期 首段音频约 0.8–1.5 秒——非常适合助手式、节奏稳健的轮次交互。对于高度可打断、频繁交叠的对话,你会感受到与原生语音到语音模型之间的差距。

降低延迟

  • 在 TTS 上使用 response_format="pcm",跳过 MP3 解码步骤。
  • 调优 Silero VAD(silero.VAD.load(min_silence_duration=0.4)),在不截断说话的前提下缩短端点检测。
  • 为 STT/TTS 选用低延迟层级(例如 tts-kokoro TTS、nvidia/parakeet-tdt-0.6b-v3 STT)。LLM 保留 venice-uncensored-1-2 以保持私密和无审查;只有当你需要更快的首 token 时间时才切换到 flash 级 LLM。
  • 保持回复简洁——第一句话决定了感知响应速度。

混合服务提供方

LiveKit 允许你独立选择每个组件,因此你可以在最需要 Venice 的隐私和无审查特性时保留它,而在延迟至关重要的地方接入流式服务提供方。一种常见的高交互性配置是保留 Venice LLM(并可选保留 STT),并搭配专用的流式 TTS:
从全 Venice 方案起步,获得最简单、最私密的配置。如果你在构建快速、高对话感的消费级体验,请保留 Venice LLM,并在语音输出阶段评估流式 TTS。

限制与注意事项

  • 不支持语音到语音 / Realtime API。 Venice 没有 OpenAI Realtime WebSocket,因此 openai.realtime.RealtimeModel 和多模态智能体路径不可用。请使用上文所示的 STT-LLM-TTS 管线。
  • STT 是批量式而非流式。 Venice 转录采用请求/响应模式,因此需要 VAD(Silero)来做端点检测。相比流式 STT 套接字,这会带来少量额外延迟。
  • TTS 由插件缓冲。 LiveKit 的 OpenAI TTS 封装报告 streaming=False,因此不会使用 Venice 逐句的 streaming 标志。对大多数智能体而言延迟仍然可以接受;使用 response_format="pcm" 可最大限度减少解码开销。
  • 让声音与模型匹配。 TTS voice ID 仅对对应的 model 有效。参见 文本转语音模型
  • 不要硬编码模型列表。 Venice 模型 ID 会定期弃用与替换——请在运行时查询 GET /models / GET /models/traits。参见 弃用说明

相关资源