跳到内容

OpenAI Chat Completions API 中的音频支持

OpenAI 最近在他们的 Chat Completions API 中引入了音频支持,为处理音频和文本交互的开发者带来了令人兴奋的新可能性。此功能由新的 gpt-4o-audio-preview 模型提供支持,该模型为熟悉的 Chat Completions API 接口带来了高级语音功能。

主要功能

Chat Completions API 中的新音频支持提供了几个引人注目的功能

  1. 灵活的输入处理:API 现在可以处理文本和音频输入的任意组合,从而实现更多用途的应用。

  2. 自然、可控的声音:与实时 API 类似,开发者可以使用提示来塑造生成音频的各个方面,包括语言、发音和情感范围。

  3. 工具调用集成:音频支持与现有工具调用功能无缝集成,实现了结合音频、文本和外部工具的复杂工作流。

实际示例

为了演示如何使用此新功能,让我们来看一个使用 instructor 库的简单示例

from openai import OpenAI
from pydantic import BaseModel
import instructor
from instructor.multimodal import Audio

client = instructor.from_openai(OpenAI())


class Person(BaseModel):
    name: str
    age: int


resp = client.chat.completions.create(
    model="gpt-4o-audio-preview",
    response_model=Person,
    modalities=["text"],
    audio={"voice": "alloy", "format": "wav"},
    messages=[
        {
            "role": "user",
            "content": [
                "Extract the following information from the audio",
                Audio.from_path("./output.wav"),
            ],
        },
    ],
)

print(resp)
# Expected output: Person(name='Jason', age=20)

在此示例中,我们使用 gpt-4o-audio-preview 模型从音频文件中提取信息。API 处理音频输入并根据音频内容返回结构化数据(一个包含姓名和年龄的 Person 对象)。

用例

在 Chat Completions API 中添加音频支持使得广泛的应用成为可能

  1. 基于语音的个人助手:为各种应用创建更自然、更具上下文感知能力的语音界面。

  2. 音频内容分析:自动从音频录音或播客中提取信息、情感或关键点。

  3. 语言学习工具:开发可以处理和响应口语的交互式语言学习应用。

  4. 辅助功能:通过提供基于音频的交互和文本转语音功能来改善应用的辅助功能。

注意事项

虽然这项新功能令人兴奋,但重要的是要注意它最适合不需要极低延迟的异步用例。对于更动态和实时的交互,OpenAI 建议使用他们的实时 API。

与任何人工智能驱动的功能一样,考虑音频处理和生成中的伦理影响和潜在偏差至关重要。在实现这些功能时,务必进行彻底测试并考虑用户群体的多样性。