跳到主要内容

Use voice mode

您可以使用 Langflow 的语音模式,通过麦克风和扬声器与您的流程进行口头交互。

先决条件

语音模式需要以下条件:

  • 包含 Chat InputLanguage ModelChat Output 组件的流程。

    如果您的流程包含 Agent 组件,请确保流程中的工具具有准确的名称和描述,以帮助代理选择使用哪些工具。

    此外,请注意语音模式会覆盖 Agent 组件的 Agent Instructions 字段中的键入指令。

  • 一个 OpenAI 账户和 OpenAI API 密钥,因为 Langflow 使用 OpenAI API 来处理语音输入和生成响应。

  • 可选:一个 ElevenLabs API 密钥,以为 LLM 的响应提供更多语音选项。

  • 一个麦克风和扬声器。

    为了获得最佳的语音识别效果,建议使用高质量麦克风并尽量减少背景噪音。

在 Playground 中测试语音模式

Playground 中,点击 Microphone 以启用语音模式,并通过麦克风和扬声器与您的流程进行口头交互。

以下步骤使用 Simple Agent 模板来演示如何启用语音模式:

  1. 基于 Simple Agent 模板创建一个流程。

  2. 将您的 OpenAI API key 凭据添加到 Agent 组件。

  3. 点击 Playground

  4. 点击 Microphone 图标以打开 Voice mode 对话框。

  5. 输入您的 OpenAI API 密钥,然后点击 Save。Langflow 会将该密钥保存为 global variable

  6. 如果系统提示您授予麦克风访问权限,您必须允许麦克风访问才能使用语音模式。如果麦克风访问被阻止,您将无法提供语音输入。

  7. 对于 Audio Input,选择要与语音模式一起使用的输入设备。

  8. 可选:添加 ElevenLabs API 密钥以为 LLM 的响应提供更多语音选项。Langflow 会将该密钥保存为全局变量。

  9. 对于 Preferred Language,选择您希望与 LLM 对话时使用的语言。此选项会同时更改预期的输入语言和响应语言。

  10. 对着麦克风说话以开始聊天。

    如果配置正确,波形会记录您的输入,然后代理的逻辑和响应将以口头形式和 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 或结束聊天时,语音聊天历史将被丢弃,并且不适用于未来的聊天会话。

另请参阅

Search