Use voice mode
您可以使用 Langflow 的语音模式,通过麦克风和扬声器与您的流程进行口头交互。
先决条件
语音模式需要以下条件:
-
包含 Chat Input、Language Model 和 Chat Output 组件的流程。
如果您的流程包含 Agent 组件,请确保流程中的工具具有准确的名称和描述,以帮助代理选择使用哪些工具。
此外,请注意语音模式会覆盖 Agent 组件的 Agent Instructions 字段中的键入指令。
-
一个 OpenAI 账户和 OpenAI API 密钥,因为 Langflow 使用 OpenAI API 来处理语音输入和生成响应。
-
可选:一个 ElevenLabs API 密钥,以为 LLM 的响应提供更多语音选项。
-
一个麦克风和扬声器。
为了获得最佳的语音识别效果,建议使用高质量麦克风并尽量减少背景噪音。
在 Playground 中测试语音模式
在 Playground 中,点击 Microphone 以启用语音模式,并通过麦克风和扬声器与您的流程进行口头交互。
以下步骤使用 Simple Agent 模板来演示如何启用语音模式:
-
基于 Simple Agent 模板创建一个流程。
-
将您的 OpenAI API key 凭据添加到 Agent 组件。
-
点击 Playground。
-
点击 Microphone 图标以打开 Voice mode 对话框。
-
输入您的 OpenAI API 密钥,然后点击 Save。Langflow 会将该密钥保存为 global variable。
-
如果系统提示您授予麦克风访问权限,您必须允许麦克风访问才能使用语音模式。如果麦克风访问被阻止,您将无法提供语音输入。
-
对于 Audio Input,选择要与语音模式一起使用的输入设备。
-
可选:添加 ElevenLabs API 密钥以为 LLM 的响应提供更多语音选项。Langflow 会将该密钥保存为全局变量。
-
对于 Preferred Language,选择您希望与 LLM 对话时使用的语言。此选项会同时更改预期的输入语言和响应语言。
-
对着麦克风说话以开始聊天。
如果配置正确,波形会记录您的输入,然后代理的逻辑和响应将以口头形式和 Playground 中显示。
使用 websocket 端点开发应用程序
Langflow 为您的流程暴露了两个与 OpenAI Realtime API 兼容的 websocket 端点。您可以像构建 OpenAI Realtime API websockets 一样构建这些端点的应用程序。
Langflow API 的 websocket 端点需要 OpenAI API key 进行身份验证,并且它们支持使用 ElevenLabs API 密钥的可选 ElevenLabs 集成。
此外,两个端点都要求您在端点路径中提供流程 ID。
语音到语音音频流
/ws/flow_as_tool/$FLOW_ID
端点建立与 OpenAI Realtime voice 的连接,然后根据 OpenAI Realtime model 将指定的流程作为工具调用。
这种方法非常适合低延迟应用程序,但确定性较低,因为 OpenAI 的语音到语音模型决定何时调用您的流程。
语音到文本音频转录
/ws/flow_tts/$FLOW_ID
端点使用 OpenAI Realtime voice transcription 将音频转换为文本,然后为每个转录直接调用指定的流程。
这种方法确定性更高,但延迟也更高。这是 Langflow Playground 中使用的模式。
websocket 端点的会话 ID
两个 端点都接受可选的 /$SESSION_ID
路径参数,为对话提供唯一 ID。如果省略,Langflow 会使用流程 ID 作为 session ID。
但是,请注意语音模式仅在当前对话实例内维护上下文。当您关闭 Playground 或结束聊天时,语音聊天历史将被丢弃,并且不适用于未来的聊天会话。