跳到主要内容

使用语音模式 (Use voice mode)

信息

语音模式在 Langflow Desktop 中不可用。 要使用语音模式,请 安装 Langflow OSS Python 包

您可以使用 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 将该密钥保存为 全局变量

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

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

  8. 可选:添加 ElevenLabs API 密钥,以为 LLM 的响应启用更多语音。 Langflow 将此密钥保存为全局变量。

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

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

    如果配置正确,波形会记录您的输入,然后代理的逻辑和响应将通过口头和在 Playground 中进行描述。

使用 Websockets 端点开发应用程序

Langflow 为您的工作流公开了两个与 OpenAI Realtime API 兼容的 websocket 端点。 您可以像针对 OpenAI Realtime API websockets 构建应用程序一样,针对这些端点构建应用程序。

Langflow API 的 websockets 端点需要 OpenAI API 密钥 进行身份验证,并且支持可选的带有 ElevenLabs API 密钥的 ElevenLabs 集成。

此外,两个端点都要求您在端点路径中提供工作流 ID。

语音到语音音频流 (Voice-to-voice audio streaming)

/ws/flow_as_tool/$FLOW_ID 端点建立与 OpenAI Realtime 语音的连接,然后根据 OpenAI Realtime 模型 将指定的工作流作为工具调用。

这种方法非常适合低延迟应用,但由于 OpenAI 语音到语音模型决定何时调用您的工作流,因此确定性较低。

语音到文本音频转录 (Speech-to-text audio transcription)

/ws/flow_tts/$FLOW_ID 端点使用 OpenAI Realtime 语音转录 将音频转换为文本,然后针对每个转录直接调用指定的工作流。

这种方法更具确定性,但延迟较高。

这是 Langflow Playground 中使用的模式。

Websockets 端点的会话 ID

两个端点都接受一个可选的 /$SESSION_ID 路径参数,以为对话提供唯一 ID。 如果省略,Langflow 将使用工作流 ID 作为 会话 ID (session ID)

但是请注意,语音模式仅在当前对话实例中维护上下文。 当您关闭 Playground 或结束聊天时,口头聊天记录将被丢弃,并且无法用于未来的聊天会话。

另请参阅

Search