跳到导航

语音引擎

通过 ElevenLabs 为聊天智能体或 LLM 添加语音。

概述

ElevenLabs Speech Engine 可为任何聊天智能体添加语音功能。ElevenLabs 负责语音转文字和文本转语音,服务器则提供 LLM 逻辑。SDK 管理连接生命周期、轮次控制和打断检测,让你可以专注于智能体的行为。

工作原理

Speech Engine 通过 WebSocket 将服务器连接到 ElevenLabs。每个连接代表一段对话。

  1. 用户在浏览器中说话。ElevenLabs 捕获音频并将其转写为文字。
  2. 转写文本会连同完整对话历史发送到服务器。
  3. 服务器将转写文本传给 LLM,并将响应流式传回。
  4. ElevenLabs 将文本转换为语音并在浏览器中播放。

何时使用 Speech Engine

Speech Engine 专为希望自带 LLM,并在自己的服务器上控制对话逻辑的开发者设计。适用于以下场景:

  • 为现有的文本聊天智能体添加语音
  • 使用特定 LLM、微调模型或自定义推理流程
  • 完全控制对话路由、上下文管理和工具调用
  • 将语音集成到现有服务器应用中(Express、FastAPI 等)

如果需要由 ElevenLabs 提供 LLM、知识库和工具的全托管解决方案,请改用 ElevenAgents。

主要功能

  • 任意 LLM:可使用 OpenAI、Anthropic、Google Gemini 或任何能生成文本的模型。SDK 可自动从 OpenAI、Anthropic 和 Gemini 的流格式中提取文本。
  • 打断处理:当用户在响应过程中说话时,SDK 会通过 AbortSignal(TypeScript)或任务取消(Python)自动取消正在进行的 LLM 请求。
  • 流式传输:响应生成时会流式传到浏览器。可传入字符串、异步可迭代对象或原生 LLM 流对象。
  • 轮次控制:SDK 管理对话轮次,因此服务器只需响应转写文本。

对话时长

Speech Engine 支持最长 2 小时(7,200 秒)的对话。默认情况下,对话会在 600 秒(10 分钟)后结束。要支持更长的对话,请在 API 中提高 conversation.max_duration_seconds,或在控制台 高级 标签页中提高 最长对话时长。请参阅配置最长对话时长。

IP 允许列表

如果服务器位于防火墙后或使用基于 IP 的访问控制,可将 ElevenLabs WebSocket 连接的静态出口 IP 加入允许列表。完整 IP 地址列表请参阅 IP 允许列表。

使用 IP 允许列表可确保服务器只接受来自 ElevenLabs 系统的 WebSocket 连接。

常见问题

支持任何能生成文本的 LLM。SDK 内置了对 OpenAI(Responses API 和 Chat Completions API)、Anthropic Messages API 和 Google Gemini API 的流提取支持。对于其他服务商,可传入纯字符串或由字符串块组成的异步可迭代对象。

ElevenAgents 是全托管平台,由 ElevenLabs 提供 LLM、知识库和工具。Speech Engine 面向希望自带 LLM 并在自己的服务器上控制对话逻辑的开发者。

在 TypeScript 中,可将 Speech Engine 附加到任何 Node.js HTTP 服务器(Express、Fastify 或普通的 http.createServer()),也可以运行独立的 WebSocket 服务器。在 Python 中,SDK 通过 engine.serve() 提供独立服务器;也可使用 engine.create_session() 集成到 FastAPI、Starlette 或任何 ASGI 框架。