Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Audiofähige Modelle führen die Audiomodalität in die vorhandene /chat/completions API ein. Das Audiomodell erweitert das Potenzial für KI-Anwendungen in Text- und sprachbasierten Interaktionen und Audioanalysen. Zu den in gpt-4o-audio-preview und gpt-4o-mini-audio-preview Modellen unterstützten Modalitäten gehören: Text, Audio und Text + Audio.
Hier ist eine Tabelle der unterstützten Modalitäten mit Beispielanwendungsfällen:
| Modalitätseingabe | Modalitätsausgabe | Beispielanwendungsfall |
|---|---|---|
| Text | Text + Audio | Text zu Sprache, Generierung von Hörbüchern |
| Audio | Text + Audio | Audiotranskription, Audiobuchgenerierung |
| Audio | Text | Audiotranskription |
| Text + Audio | Text + Audio | Generierung von Hörbüchern |
| Text + Audio | Text | Audiotranskription |
Mithilfe von Audiogenerierungsfunktionen können Sie dynamischere und interaktive KI-Anwendungen erreichen. Modelle, die Audioeingaben und -ausgaben unterstützen, ermöglichen es Ihnen, gesprochene Audioantworten auf Eingabeaufforderungen zu generieren und Audioeingaben zu verwenden, um das Modell zu steuern.
Unterstützte Modelle
Die folgenden OpenAI-Modelle unterstützen die Audiogenerierung:
| Modell | Audiogenerierung? | Primäre Verwendung |
|---|---|---|
gpt-4o-audio-preview |
✔️ | Chat-Komplettierungen mit gesprochener Ausgabe |
gpt-4o-mini-tts |
✔️ | Schnelle, skalierbare Text-zu-Sprache |
gpt-4o-mini-audio-preview |
✔️ | Asynchrone Audiogenerierung |
gpt-realtime |
✔️ | Interaktive Echtzeitstimme |
gpt-realtime-mini |
✔️ | Audiostreaming mit geringer Latenz |
tts-1 / tts-1-hd |
✔️ | Allgemeine Sprachsynthese |
Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
Hinweis
Die Realtime-API verwendet das gleiche zugrunde liegende GPT-4o-Audiomodell wie die Fertigstellungs-API, ist jedoch für Interaktionen mit geringer Latenz und Echtzeitaudio optimiert.
Eingabeanforderungen
Die folgenden Stimmen werden für Audio Out unterstützt: Alloy, Ash, Ballad, Coral, Echo, Sage, Shimmer, Verse, Marin und Cedar.
Die folgenden Audioausgabeformate werden unterstützt: wav, mp3, flac, opus, pcm16 und aac.
Die maximale Audiodateigröße beträgt 20 MB.
API-Unterstützung
Unterstützung für Audioabschlusse wurde zuerst in der API-Version 2025-01-01-previewhinzugefügt.
Bereitstellen eines Modells für die Audiogenerierung
So stellen Sie das modell gpt-4o-mini-audio-preview im Microsoft Foundry-Portal bereit:
- Wechseln Sie zum Foundry-Portal , und erstellen oder wählen Sie Ihr Projekt aus.
- Wählen Sie "Modelle + Endpunkte " unter "Meine Objekte " im linken Bereich aus.
- Wählen Sie + Modell bereitstellen>Basismodell bereitstellen aus, um das Fenster zur Bereitstellung zu öffnen.
- Suchen Sie nach dem
gpt-4o-mini-audio-previewModell, und wählen Sie es aus, und wählen Sie dann "Bestätigen" aus. - Überprüfen Sie die Bereitstellungsdetails, und wählen Sie "Bereitstellen" aus.
- Folgen Sie dem Assistenten, um die Bereitstellung des Modells abzuschließen.
Nachdem Sie nun über eine Bereitstellung des gpt-4o-mini-audio-preview Modells verfügen, können Sie mit dem Modell im Foundry-Portal im Chat Playground oder der Chat-Abschluss-API interagieren.
Verwenden der GPT-4o-Audiogenerierung
Führen Sie die folgenden Schritte aus, um mit Ihrem bereitgestellten gpt-4o-mini-audio-preview-Modell im Chat Playground des Microsoft Foundry-Portals zu chatten:
Gehen Sie zum Foundry-Portal und wählen Sie das Projekt mit Ihrem bereitgestellten
gpt-4o-mini-audio-previewModell aus.Wechseln Sie zu Ihrem Projekt in Foundry.
Wählen Sie im linken Bereich "Playgrounds" aus.
Wählen Sie den Audio-Playground> und probieren Sie den Chat-Playground aus.
Hinweis
Der Audio-Playground unterstützt das
gpt-4o-mini-audio-previewModell nicht. Verwenden Sie den Chat-Playground , wie in diesem Abschnitt beschrieben.Wählen Sie das bereitgestellte
gpt-4o-mini-audio-previewModell aus dem Dropdown-Menü Bereitstellung aus.Beginnen Sie mit dem Modell zu chatten und die Audioantworten zu hören.
Sie können:
- Aufzeichnen von Audioaufforderungen.
- Fügen Sie Audiodateien an den Chat an.
- Geben Sie Texteingabeaufforderungen ein.
Audiofähige Modelle führen die Audiomodalität in die vorhandene /chat/completions API ein. Das Audiomodell erweitert das Potenzial für KI-Anwendungen in Text- und sprachbasierten Interaktionen und Audioanalysen. Zu den in gpt-4o-audio-preview und gpt-4o-mini-audio-preview Modellen unterstützten Modalitäten gehören: Text, Audio und Text + Audio.
Hier ist eine Tabelle der unterstützten Modalitäten mit Beispielanwendungsfällen:
| Modalitätseingabe | Modalitätsausgabe | Beispielanwendungsfall |
|---|---|---|
| Text | Text + Audio | Text zu Sprache, Generierung von Hörbüchern |
| Audio | Text + Audio | Audiotranskription, Audiobuchgenerierung |
| Audio | Text | Audiotranskription |
| Text + Audio | Text + Audio | Generierung von Hörbüchern |
| Text + Audio | Text | Audiotranskription |
Mithilfe von Audiogenerierungsfunktionen können Sie dynamischere und interaktive KI-Anwendungen erreichen. Modelle, die Audioeingaben und -ausgaben unterstützen, ermöglichen es Ihnen, gesprochene Audioantworten auf Eingabeaufforderungen zu generieren und Audioeingaben zu verwenden, um das Modell zu steuern.
Unterstützte Modelle
Die folgenden OpenAI-Modelle unterstützen die Audiogenerierung:
| Modell | Audiogenerierung? | Primäre Verwendung |
|---|---|---|
gpt-4o-audio-preview |
✔️ | Chat-Komplettierungen mit gesprochener Ausgabe |
gpt-4o-mini-tts |
✔️ | Schnelle, skalierbare Text-zu-Sprache |
gpt-4o-mini-audio-preview |
✔️ | Asynchrone Audiogenerierung |
gpt-realtime |
✔️ | Interaktive Echtzeitstimme |
gpt-realtime-mini |
✔️ | Audiostreaming mit geringer Latenz |
tts-1 / tts-1-hd |
✔️ | Allgemeine Sprachsynthese |
Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
Hinweis
Die Realtime-API verwendet das gleiche zugrunde liegende GPT-4o-Audiomodell wie die Fertigstellungs-API, ist jedoch für Interaktionen mit geringer Latenz und Echtzeitaudio optimiert.
Eingabeanforderungen
Die folgenden Stimmen werden für Audio Out unterstützt: Alloy, Ash, Ballad, Coral, Echo, Sage, Shimmer, Verse, Marin und Cedar.
Die folgenden Audioausgabeformate werden unterstützt: wav, mp3, flac, opus, pcm16 und aac.
Die maximale Audiodateigröße beträgt 20 MB.
API-Unterstützung
Unterstützung für Audioabschlusse wurde zuerst in der API-Version 2025-01-01-previewhinzugefügt.
Voraussetzungen
- Ein Azure-Abonnement – Create one for free
- Node.js LTS- oder ESM-Unterstützung.
- Eine Azure OpenAI-Ressource, die in einer der unterstützten Regionen erstellt wurde. Weitere Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
- Anschließend müssen Sie ein
gpt-4o-mini-audio-preview-Modell mit Ihrer Azure OpenAI-Ressource bereitstellen. Weitere Informationen finden Sie unter Create a resource and deploy a model with Azure OpenAI.
Microsoft Entra ID Voraussetzungen
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
- Weisen Sie die
Cognitive Services UserRolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
audio-completions-quickstart, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir audio-completions-quickstart && cd audio-completions-quickstartErstellen Sie den
package.jsonmit dem folgenden Befehl:npm init -yInstallieren Sie die OpenAI-Clientbibliothek für JavaScript mit:
npm install openaiInstallieren Sie für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID das Paket
@azure/identitymit.npm install @azure/identity
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:
| Variablenname | Wert |
|---|---|
AZURE_OPENAI_ENDPOINT |
Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal. |
Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.
Vorsicht
Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die AZURE_OPENAI_API_KEY Umgebungsvariable nicht festgelegt ist.
Generieren von Audio aus Texteingabe
Erstellen Sie die
to-audio.jsDatei mit dem folgenden Code:require("dotenv").config(); const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); const { writeFileSync } = require("node:fs"); // Keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); // Set environment variables or edit the corresponding values here. const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT"; const deployment = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4o-mini-audio-preview"; const apiVersion = process.env.OPENAI_API_VERSION || "2025-01-01-preview"; const client = new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment }); async function main() { // Make the audio chat completions request const response = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", modalities: ["text", "audio"], audio: { voice: "alloy", format: "wav" }, messages: [ { role: "user", content: "Is a golden retriever a good family dog?" } ] }); // Inspect returned data console.log(response.choices[0]); // Write the output audio data to a file writeFileSync( "dog.wav", Buffer.from(response.choices[0].message.audio.data, 'base64'), { encoding: "utf-8" } ); } main().catch((err) => { console.error("Error occurred:", err); }); module.exports = { main };Melden Sie sich mit dem folgenden Befehl bei Azure an:
az loginFühren Sie die JavaScript-Datei aus.
node to-audio.js
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für die Ton-/Audioerzeugung aus Texteingabe
Das Skript generiert eine Audiodatei namens dog.wav im selben Verzeichnis wie das Skript. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung: "Ist ein goldener Retriever ein guter Familienhund?"
Generieren von Audio und Text aus der Audioeingabe
Erstellen Sie die
from-audio.jsDatei mit dem folgenden Code:require("dotenv").config(); const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); const fs = require('fs').promises; const { writeFileSync } = require("node:fs"); // Keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); // Set environment variables or edit the corresponding values here. const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT"; const apiVersion = "2025-01-01-preview"; const deployment = "gpt-4o-mini-audio-preview"; const client = new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment }); async function main() { // Buffer the audio for input to the chat completion const wavBuffer = await fs.readFile("dog.wav"); const base64str = Buffer.from(wavBuffer).toString("base64"); // Make the audio chat completions request const response = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", modalities: ["text", "audio"], audio: { voice: "alloy", format: "wav" }, messages: [ { role: "user", content: [ { type: "text", text: "Describe in detail the spoken audio input." }, { type: "input_audio", input_audio: { data: base64str, format: "wav" } } ] } ] }); console.log(response.choices[0]); // Write the output audio data to a file writeFileSync( "analysis.wav", Buffer.from(response.choices[0].message.audio.data, 'base64'), { encoding: "utf-8" } ); } main().catch((err) => { console.error("Error occurred:", err); }); module.exports = { main };Melden Sie sich mit dem folgenden Befehl bei Azure an:
az loginFühren Sie die JavaScript-Datei aus.
node from-audio.js
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe von Audio- und Textgenerierung aus Audioeingaben
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Außerdem wird eine Audiodatei namens analysis.wav im selben Verzeichnis wie das Skript generiert. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung.
Generieren von Audio und Verwenden von Multi-Turn-Chatabschlussen
Erstellen Sie die
multi-turn.jsDatei mit dem folgenden Code:require("dotenv").config(); const { AzureOpenAI } = require("openai"); const { DefaultAzureCredential, getBearerTokenProvider } = require("@azure/identity"); const fs = require('fs').promises; // Keyless authentication const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); // Set environment variables or edit the corresponding values here. const endpoint = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT"; const apiVersion = "2025-01-01-preview"; const deployment = "gpt-4o-mini-audio-preview"; const client = new AzureOpenAI({ endpoint, azureADTokenProvider, apiVersion, deployment }); async function main() { // Buffer the audio for input to the chat completion const wavBuffer = await fs.readFile("dog.wav"); const base64str = Buffer.from(wavBuffer).toString("base64"); // Initialize messages with the first turn's user input const messages = [ { role: "user", content: [ { type: "text", text: "Describe in detail the spoken audio input." }, { type: "input_audio", input_audio: { data: base64str, format: "wav" } } ] } ]; // Get the first turn's response const response = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", modalities: ["text", "audio"], audio: { voice: "alloy", format: "wav" }, messages: messages }); console.log(response.choices[0]); // Add a history message referencing the previous turn's audio by ID messages.push({ role: "assistant", audio: { id: response.choices[0].message.audio.id } }); // Add a new user message for the second turn messages.push({ role: "user", content: [ { type: "text", text: "Very concisely summarize the favorability." } ] }); // Send the follow-up request with the accumulated messages const followResponse = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", messages: messages }); console.log(followResponse.choices[0].message.content); } main().catch((err) => { console.error("Error occurred:", err); }); module.exports = { main };Melden Sie sich mit dem folgenden Befehl bei Azure an:
az loginFühren Sie die JavaScript-Datei aus.
node multi-turn.js
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für Abschluss des Chats mit Mehrfachinteraktionen
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Danach wird ein mehrstufiger Chat abgeschlossen, um die gesprochene Audioeingabe kurz zusammenzufassen.
Quellcode | der BibliothekPaket | Proben
Audiofähige Modelle führen die Audiomodalität in die vorhandene /chat/completions API ein. Das Audiomodell erweitert das Potenzial für KI-Anwendungen in Text- und sprachbasierten Interaktionen und Audioanalysen. Zu den in gpt-4o-audio-preview und gpt-4o-mini-audio-preview Modellen unterstützten Modalitäten gehören: Text, Audio und Text + Audio.
Hier ist eine Tabelle der unterstützten Modalitäten mit Beispielanwendungsfällen:
| Modalitätseingabe | Modalitätsausgabe | Beispielanwendungsfall |
|---|---|---|
| Text | Text + Audio | Text zu Sprache, Generierung von Hörbüchern |
| Audio | Text + Audio | Audiotranskription, Audiobuchgenerierung |
| Audio | Text | Audiotranskription |
| Text + Audio | Text + Audio | Generierung von Hörbüchern |
| Text + Audio | Text | Audiotranskription |
Mithilfe von Audiogenerierungsfunktionen können Sie dynamischere und interaktive KI-Anwendungen erreichen. Modelle, die Audioeingaben und -ausgaben unterstützen, ermöglichen es Ihnen, gesprochene Audioantworten auf Eingabeaufforderungen zu generieren und Audioeingaben zu verwenden, um das Modell zu steuern.
Unterstützte Modelle
Die folgenden OpenAI-Modelle unterstützen die Audiogenerierung:
| Modell | Audiogenerierung? | Primäre Verwendung |
|---|---|---|
gpt-4o-audio-preview |
✔️ | Chat-Komplettierungen mit gesprochener Ausgabe |
gpt-4o-mini-tts |
✔️ | Schnelle, skalierbare Text-zu-Sprache |
gpt-4o-mini-audio-preview |
✔️ | Asynchrone Audiogenerierung |
gpt-realtime |
✔️ | Interaktive Echtzeitstimme |
gpt-realtime-mini |
✔️ | Audiostreaming mit geringer Latenz |
tts-1 / tts-1-hd |
✔️ | Allgemeine Sprachsynthese |
Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
Hinweis
Die Realtime-API verwendet das gleiche zugrunde liegende GPT-4o-Audiomodell wie die Fertigstellungs-API, ist jedoch für Interaktionen mit geringer Latenz und Echtzeitaudio optimiert.
Eingabeanforderungen
Die folgenden Stimmen werden für Audio Out unterstützt: Alloy, Ash, Ballad, Coral, Echo, Sage, Shimmer, Verse, Marin und Cedar.
Die folgenden Audioausgabeformate werden unterstützt: wav, mp3, flac, opus, pcm16 und aac.
Die maximale Audiodateigröße beträgt 20 MB.
API-Unterstützung
Unterstützung für Audioabschlusse wurde zuerst in der API-Version 2025-01-01-previewhinzugefügt.
Verwenden Sie dieses Handbuch, um mit dem Azure OpenAI SDK für Python audio zu generieren.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie eine kostenlos.
- Python 3.8 oder höher. Es wird empfohlen, Python 3.10 oder höher zu verwenden, aber mindestens Python 3.8 ist erforderlich. Wenn Sie keine geeignete Version von Python installiert haben, können Sie die Anweisungen im VS Code Python Tutorial befolgen, um Python auf Ihrem Betriebssystem am einfachsten zu installieren.
- Eine Azure OpenAI-Ressource, die in einer der unterstützten Regionen erstellt wurde. Weitere Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
- Anschließend müssen Sie ein
gpt-4o-mini-audio-preview-Modell mit Ihrer Azure OpenAI-Ressource bereitstellen. Weitere Informationen finden Sie unter Create a resource and deploy a model with Azure OpenAI.
Microsoft Entra ID Voraussetzungen
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
- Weisen Sie die
Cognitive Services UserRolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
audio-completions-quickstart, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir audio-completions-quickstart && cd audio-completions-quickstartErstellen Sie eine virtuelle Umgebung. Wenn Sie bereits Python 3.10 oder höher installiert haben, können Sie eine virtuelle Umgebung mit den folgenden Befehlen erstellen:
Die Aktivierung der Python-Umgebung bedeutet, dass Sie beim Ausführen von
pythonoderpipüber die Befehlszeile den Python-Interpreter verwenden, der im Ordner.venvIhrer Anwendung enthalten ist. Sie können dendeactivateBefehl verwenden, um die virtuelle Python-Umgebung zu beenden und sie später bei Bedarf erneut zu aktivieren.Tipp
Es wird empfohlen, eine neue Python Umgebung zu erstellen und zu aktivieren, um die für dieses Lernprogramm benötigten Pakete zu installieren. Installieren Sie keine Pakete in Ihrer globalen Python-Installation. Sie sollten beim Installieren von python Paketen immer eine virtuelle oder conda-Umgebung verwenden, andernfalls können Sie die globale Installation von Python unterbrechen.
Installieren Sie die OpenAI-Clientbibliothek für Python mit:
pip install openaiInstallieren Sie für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID das Paket
azure-identitymit.pip install azure-identity
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:
| Variablenname | Wert |
|---|---|
AZURE_OPENAI_ENDPOINT |
Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal. |
Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.
Generieren von Audio aus Texteingabe
Erstellen Sie die
to-audio.pyDatei mit dem folgenden Code:import requests import base64 import os from openai import AzureOpenAI from azure.identity import DefaultAzureCredential, get_bearer_token_provider token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://ai.azure.com/.default") # Set environment variables or edit the corresponding values here. endpoint = os.environ['AZURE_OPENAI_ENDPOINT'] # Keyless authentication client=AzureOpenAI( azure_ad_token_provider=token_provider, azure_endpoint=endpoint, api_version="2025-01-01-preview" ) # Make the audio chat completions request completion=client.chat.completions.create( model="gpt-4o-mini-audio-preview", modalities=["text", "audio"], audio={"voice": "alloy", "format": "wav"}, messages=[ { "role": "user", "content": "Is a golden retriever a good family dog?" } ] ) print(completion.choices[0]) # Write the output audio data to a file wav_bytes=base64.b64decode(completion.choices[0].message.audio.data) with open("dog.wav", "wb") as f: f.write(wav_bytes)Führen Sie die datei Python aus.
python to-audio.py
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für die Ton-/Audioerzeugung aus Texteingabe
Das Skript generiert eine Audiodatei namens dog.wav im selben Verzeichnis wie das Skript. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung: "Ist ein goldener Retriever ein guter Familienhund?"
Tipp
Wiedergeben der generierten dog.wav Datei, um zu überprüfen, ob die Audiodaten korrekt generiert wurden. Sie können einen beliebigen Media Player verwenden oder auf die Datei doppelklicken, um sie in Ihrem Standardaudioplayer zu öffnen.
Generieren von Audio und Text aus der Audioeingabe
Erstellen Sie die
from-audio.pyDatei mit dem folgenden Code:import base64 import os from openai import AzureOpenAI from azure.identity import DefaultAzureCredential, get_bearer_token_provider token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://ai.azure.com/.default") # Set environment variables or edit the corresponding values here. endpoint = os.environ['AZURE_OPENAI_ENDPOINT'] # Keyless authentication client=AzureOpenAI( azure_ad_token_provider=token_provider, azure_endpoint=endpoint, api_version="2025-01-01-preview" ) # Read and encode audio file with open('dog.wav', 'rb') as wav_reader: encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') # Make the audio chat completions request completion = client.chat.completions.create( model="gpt-4o-mini-audio-preview", modalities=["text", "audio"], audio={"voice": "alloy", "format": "wav"}, messages=[ { "role": "user", "content": [ { "type": "text", "text": "Describe in detail the spoken audio input." }, { "type": "input_audio", "input_audio": { "data": encoded_string, "format": "wav" } } ] }, ] ) print(completion.choices[0].message.audio.transcript) # Write the output audio data to a file wav_bytes = base64.b64decode(completion.choices[0].message.audio.data) with open("analysis.wav", "wb") as f: f.write(wav_bytes)Führen Sie die datei Python aus.
python from-audio.py
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe von Audio- und Textgenerierung aus Audioeingaben
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Außerdem wird eine Audiodatei namens analysis.wav im selben Verzeichnis wie das Skript generiert. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung.
Tipp
Wiedergeben der generierten analysis.wav Datei, um die Audiobeschreibung der Eingabe zu hören.
Generieren von Audio und Verwenden von Multi-Turn-Chatabschlussen
Erstellen Sie die
multi-turn.pyDatei mit dem folgenden Code:import base64 import os from openai import AzureOpenAI from azure.identity import DefaultAzureCredential, get_bearer_token_provider token_provider=get_bearer_token_provider(DefaultAzureCredential(), "https://ai.azure.com/.default") # Set environment variables or edit the corresponding values here. endpoint = os.environ['AZURE_OPENAI_ENDPOINT'] # Keyless authentication client=AzureOpenAI( azure_ad_token_provider=token_provider, azure_endpoint=endpoint, api_version="2025-01-01-preview" ) # Read and encode audio file with open('dog.wav', 'rb') as wav_reader: encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') # Initialize messages with the first turn's user input messages = [ { "role": "user", "content": [ { "type": "text", "text": "Describe in detail the spoken audio input." }, { "type": "input_audio", "input_audio": { "data": encoded_string, "format": "wav" } } ] }] # Get the first turn's response completion = client.chat.completions.create( model="gpt-4o-mini-audio-preview", modalities=["text", "audio"], audio={"voice": "alloy", "format": "wav"}, messages=messages ) print("Get the first turn's response:") print(completion.choices[0].message.audio.transcript) print("Add a history message referencing the first turn's audio by ID:") print(completion.choices[0].message.audio.id) # Add a history message referencing the first turn's audio by ID messages.append({ "role": "assistant", "audio": { "id": completion.choices[0].message.audio.id } }) # Add the next turn's user message messages.append({ "role": "user", "content": "Very briefly, summarize the favorability." }) # Send the follow-up request with the accumulated messages completion = client.chat.completions.create( model="gpt-4o-mini-audio-preview", messages=messages ) print("Very briefly, summarize the favorability.") print(completion.choices[0].message.content)Führen Sie die datei Python aus.
python multi-turn.py
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für Abschluss des Chats mit Mehrfachinteraktionen
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Danach wird ein mehrstufiger Chat abgeschlossen, um die gesprochene Audioeingabe kurz zusammenzufassen.
Tipp
Überprüfen Sie die Konsolenausgabe, um das Transkript zu sehen und zu verifizieren, ob die mehrstufige Unterhaltung erfolgreich abgeschlossen wurde.
Audiofähige Modelle führen die Audiomodalität in die vorhandene /chat/completions API ein. Das Audiomodell erweitert das Potenzial für KI-Anwendungen in Text- und sprachbasierten Interaktionen und Audioanalysen. Zu den in gpt-4o-audio-preview und gpt-4o-mini-audio-preview Modellen unterstützten Modalitäten gehören: Text, Audio und Text + Audio.
Hier ist eine Tabelle der unterstützten Modalitäten mit Beispielanwendungsfällen:
| Modalitätseingabe | Modalitätsausgabe | Beispielanwendungsfall |
|---|---|---|
| Text | Text + Audio | Text zu Sprache, Generierung von Hörbüchern |
| Audio | Text + Audio | Audiotranskription, Audiobuchgenerierung |
| Audio | Text | Audiotranskription |
| Text + Audio | Text + Audio | Generierung von Hörbüchern |
| Text + Audio | Text | Audiotranskription |
Mithilfe von Audiogenerierungsfunktionen können Sie dynamischere und interaktive KI-Anwendungen erreichen. Modelle, die Audioeingaben und -ausgaben unterstützen, ermöglichen es Ihnen, gesprochene Audioantworten auf Eingabeaufforderungen zu generieren und Audioeingaben zu verwenden, um das Modell zu steuern.
Unterstützte Modelle
Die folgenden OpenAI-Modelle unterstützen die Audiogenerierung:
| Modell | Audiogenerierung? | Primäre Verwendung |
|---|---|---|
gpt-4o-audio-preview |
✔️ | Chat-Komplettierungen mit gesprochener Ausgabe |
gpt-4o-mini-tts |
✔️ | Schnelle, skalierbare Text-zu-Sprache |
gpt-4o-mini-audio-preview |
✔️ | Asynchrone Audiogenerierung |
gpt-realtime |
✔️ | Interaktive Echtzeitstimme |
gpt-realtime-mini |
✔️ | Audiostreaming mit geringer Latenz |
tts-1 / tts-1-hd |
✔️ | Allgemeine Sprachsynthese |
Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
Hinweis
Die Realtime-API verwendet das gleiche zugrunde liegende GPT-4o-Audiomodell wie die Fertigstellungs-API, ist jedoch für Interaktionen mit geringer Latenz und Echtzeitaudio optimiert.
Eingabeanforderungen
Die folgenden Stimmen werden für Audio Out unterstützt: Alloy, Ash, Ballad, Coral, Echo, Sage, Shimmer, Verse, Marin und Cedar.
Die folgenden Audioausgabeformate werden unterstützt: wav, mp3, flac, opus, pcm16 und aac.
Die maximale Audiodateigröße beträgt 20 MB.
API-Unterstützung
Unterstützung für Audioabschlusse wurde zuerst in der API-Version 2025-01-01-previewhinzugefügt.
Voraussetzungen
- Ein Azure-Abonnement. Erstellen Sie eine kostenlos.
- Python 3.8 oder höher. Es wird empfohlen, Python 3.10 oder höher zu verwenden, aber mindestens Python 3.8 ist erforderlich. Wenn Sie keine geeignete Version von Python installiert haben, können Sie die Anweisungen im VS Code Python Tutorial befolgen, um Python auf Ihrem Betriebssystem am einfachsten zu installieren.
- Eine Azure OpenAI-Ressource, die in einer der unterstützten Regionen erstellt wurde. Weitere Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
- Anschließend müssen Sie ein
gpt-4o-mini-audio-preview-Modell mit Ihrer Azure OpenAI-Ressource bereitstellen. Weitere Informationen finden Sie unter Create a resource and deploy a model with Azure OpenAI.
Microsoft Entra ID Voraussetzungen
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
- Weisen Sie die
Cognitive Services UserRolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
audio-completions-quickstart, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir audio-completions-quickstart && cd audio-completions-quickstartErstellen Sie eine virtuelle Umgebung. Wenn Sie bereits Python 3.10 oder höher installiert haben, können Sie eine virtuelle Umgebung mit den folgenden Befehlen erstellen:
Die Aktivierung der Python-Umgebung bedeutet, dass Sie beim Ausführen von
pythonoderpipüber die Befehlszeile den Python-Interpreter verwenden, der im Ordner.venvIhrer Anwendung enthalten ist. Sie können dendeactivateBefehl verwenden, um die virtuelle Python-Umgebung zu beenden und sie später bei Bedarf erneut zu aktivieren.Tipp
Es wird empfohlen, eine neue Python Umgebung zu erstellen und zu aktivieren, um die für dieses Lernprogramm benötigten Pakete zu installieren. Installieren Sie keine Pakete in Ihrer globalen Python-Installation. Sie sollten beim Installieren von python Paketen immer eine virtuelle oder conda-Umgebung verwenden, andernfalls können Sie die globale Installation von Python unterbrechen.
Installieren Sie die OpenAI-Clientbibliothek für Python mit:
pip install openaiInstallieren Sie für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID das Paket
azure-identitymit.pip install azure-identity
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:
| Variablenname | Wert |
|---|---|
AZURE_OPENAI_ENDPOINT |
Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal. |
Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.
Generieren von Audio aus Texteingabe
Erstellen Sie die
to-audio.pyDatei mit dem folgenden Code:import requests import base64 import os from openai import AzureOpenAI from azure.identity import DefaultAzureCredential # Set environment variables or edit the corresponding values here. endpoint = os.environ['AZURE_OPENAI_ENDPOINT'] # Keyless authentication credential = DefaultAzureCredential() token = credential.get_token("https://ai.azure.com/.default") api_version = '2025-01-01-preview' url = f"{endpoint}/openai/deployments/gpt-4o-mini-audio-preview/chat/completions?api-version={api_version}" headers= { "Authorization": f"Bearer {token.token}", "Content-Type": "application/json" } body = { "modalities": ["audio", "text"], "model": "gpt-4o-mini-audio-preview", "audio": { "format": "wav", "voice": "alloy" }, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Is a golden retriever a good family dog?" } ] } ] } # Make the audio chat completions request completion = requests.post(url, headers=headers, json=body) audio_data = completion.json()['choices'][0]['message']['audio']['data'] # Write the output audio data to a file wav_bytes = base64.b64decode(audio_data) with open("dog.wav", "wb") as f: f.write(wav_bytes)Führen Sie die datei Python aus.
python to-audio.py
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für die Ton-/Audioerzeugung aus Texteingabe
Das Skript generiert eine Audiodatei namens dog.wav im selben Verzeichnis wie das Skript. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung: "Ist ein goldener Retriever ein guter Familienhund?"
Generieren von Audio und Text aus der Audioeingabe
Erstellen Sie die
from-audio.pyDatei mit dem folgenden Code:import requests import base64 import os from azure.identity import DefaultAzureCredential # Set environment variables or edit the corresponding values here. endpoint = os.environ['AZURE_OPENAI_ENDPOINT'] # Keyless authentication credential = DefaultAzureCredential() token = credential.get_token("https://ai.azure.com/.default") # Read and encode audio file with open('dog.wav', 'rb') as wav_reader: encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') api_version = '2025-01-01-preview' url = f"{endpoint}/openai/deployments/gpt-4o-mini-audio-preview/chat/completions?api-version={api_version}" headers= { "Authorization": f"Bearer {token.token}", "Content-Type": "application/json" } body = { "modalities": ["audio", "text"], "model": "gpt-4o-mini-audio-preview", "audio": { "format": "wav", "voice": "alloy" }, "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe in detail the spoken audio input." }, { "type": "input_audio", "input_audio": { "data": encoded_string, "format": "wav" } } ] }, ] } completion = requests.post(url, headers=headers, json=body) print(completion.json()['choices'][0]['message']['audio']['transcript']) # Write the output audio data to a file audio_data = completion.json()['choices'][0]['message']['audio']['data'] wav_bytes = base64.b64decode(audio_data) with open("analysis.wav", "wb") as f: f.write(wav_bytes)Führen Sie die datei Python aus.
python from-audio.py
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe von Audio- und Textgenerierung aus Audioeingaben
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Außerdem wird eine Audiodatei namens analysis.wav im selben Verzeichnis wie das Skript generiert. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung.
Generieren von Audio und Verwenden von Multi-Turn-Chatabschlussen
Erstellen Sie die
multi-turn.pyDatei mit dem folgenden Code:import requests import base64 import os from openai import AzureOpenAI from azure.identity import DefaultAzureCredential # Set environment variables or edit the corresponding values here. endpoint = os.environ['AZURE_OPENAI_ENDPOINT'] # Keyless authentication credential = DefaultAzureCredential() token = credential.get_token("https://ai.azure.com/.default") api_version = '2025-01-01-preview' url = f"{endpoint}/openai/deployments/gpt-4o-mini-audio-preview/chat/completions?api-version={api_version}" headers= { "Authorization": f"Bearer {token.token}", "Content-Type": "application/json" } # Read and encode audio file with open('dog.wav', 'rb') as wav_reader: encoded_string = base64.b64encode(wav_reader.read()).decode('utf-8') # Initialize messages with the first turn's user input messages = [ { "role": "user", "content": [ { "type": "text", "text": "Describe in detail the spoken audio input." }, { "type": "input_audio", "input_audio": { "data": encoded_string, "format": "wav" } } ] }] body = { "modalities": ["audio", "text"], "model": "gpt-4o-mini-audio-preview", "audio": { "format": "wav", "voice": "alloy" }, "messages": messages } # Get the first turn's response, including generated audio completion = requests.post(url, headers=headers, json=body) print("Get the first turn's response:") print(completion.json()['choices'][0]['message']['audio']['transcript']) print("Add a history message referencing the first turn's audio by ID:") print(completion.json()['choices'][0]['message']['audio']['id']) # Add a history message referencing the first turn's audio by ID messages.append({ "role": "assistant", "audio": { "id": completion.json()['choices'][0]['message']['audio']['id'] } }) # Add the next turn's user message messages.append({ "role": "user", "content": "Very briefly, summarize the favorability." }) body = { "model": "gpt-4o-mini-audio-preview", "messages": messages } # Send the follow-up request with the accumulated messages completion = requests.post(url, headers=headers, json=body) print("Very briefly, summarize the favorability.") print(completion.json()['choices'][0]['message']['content'])Führen Sie die datei Python aus.
python multi-turn.py
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für Abschluss des Chats mit Mehrfachinteraktionen
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Danach wird ein mehrstufiger Chat abgeschlossen, um die gesprochene Audioeingabe kurz zusammenzufassen.
Audiofähige Modelle führen die Audiomodalität in die vorhandene /chat/completions API ein. Das Audiomodell erweitert das Potenzial für KI-Anwendungen in Text- und sprachbasierten Interaktionen und Audioanalysen. Zu den in gpt-4o-audio-preview und gpt-4o-mini-audio-preview Modellen unterstützten Modalitäten gehören: Text, Audio und Text + Audio.
Hier ist eine Tabelle der unterstützten Modalitäten mit Beispielanwendungsfällen:
| Modalitätseingabe | Modalitätsausgabe | Beispielanwendungsfall |
|---|---|---|
| Text | Text + Audio | Text zu Sprache, Generierung von Hörbüchern |
| Audio | Text + Audio | Audiotranskription, Audiobuchgenerierung |
| Audio | Text | Audiotranskription |
| Text + Audio | Text + Audio | Generierung von Hörbüchern |
| Text + Audio | Text | Audiotranskription |
Mithilfe von Audiogenerierungsfunktionen können Sie dynamischere und interaktive KI-Anwendungen erreichen. Modelle, die Audioeingaben und -ausgaben unterstützen, ermöglichen es Ihnen, gesprochene Audioantworten auf Eingabeaufforderungen zu generieren und Audioeingaben zu verwenden, um das Modell zu steuern.
Unterstützte Modelle
Die folgenden OpenAI-Modelle unterstützen die Audiogenerierung:
| Modell | Audiogenerierung? | Primäre Verwendung |
|---|---|---|
gpt-4o-audio-preview |
✔️ | Chat-Komplettierungen mit gesprochener Ausgabe |
gpt-4o-mini-tts |
✔️ | Schnelle, skalierbare Text-zu-Sprache |
gpt-4o-mini-audio-preview |
✔️ | Asynchrone Audiogenerierung |
gpt-realtime |
✔️ | Interaktive Echtzeitstimme |
gpt-realtime-mini |
✔️ | Audiostreaming mit geringer Latenz |
tts-1 / tts-1-hd |
✔️ | Allgemeine Sprachsynthese |
Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
Hinweis
Die Realtime-API verwendet das gleiche zugrunde liegende GPT-4o-Audiomodell wie die Fertigstellungs-API, ist jedoch für Interaktionen mit geringer Latenz und Echtzeitaudio optimiert.
Eingabeanforderungen
Die folgenden Stimmen werden für Audio Out unterstützt: Alloy, Ash, Ballad, Coral, Echo, Sage, Shimmer, Verse, Marin und Cedar.
Die folgenden Audioausgabeformate werden unterstützt: wav, mp3, flac, opus, pcm16 und aac.
Die maximale Audiodateigröße beträgt 20 MB.
API-Unterstützung
Unterstützung für Audioabschlusse wurde zuerst in der API-Version 2025-01-01-previewhinzugefügt.
Voraussetzungen
- Ein Azure-Abonnement – Create one for free
- Node.js LTS- oder ESM-Unterstützung.
- TypeScript ist global installiert.
- Eine Azure OpenAI-Ressource, die in einer der unterstützten Regionen erstellt wurde. Weitere Informationen zur Verfügbarkeit von Regionen finden Sie in der Dokumentation zu Modellen und Versionen.
- Anschließend müssen Sie ein
gpt-4o-mini-audio-preview-Modell mit Ihrer Azure OpenAI-Ressource bereitstellen. Weitere Informationen finden Sie unter Create a resource and deploy a model with Azure OpenAI.
Microsoft Entra ID Voraussetzungen
Für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID müssen Sie:
- Installieren Sie die Azure CLI, die für die schlüssellose Authentifizierung mit Microsoft Entra ID verwendet wird.
- Weisen Sie die
Cognitive Services UserRolle Ihrem Benutzerkonto zu. Sie können rollen im Azure-Portal unter Access control (IAM)>Add role assignment zuweisen.
Einrichten
Erstellen Sie einen neuen Ordner
audio-completions-quickstart, und wechseln Sie mit dem folgenden Befehl zum Schnellstartordner:mkdir audio-completions-quickstart && cd audio-completions-quickstartErstellen Sie den
package.jsonmit dem folgenden Befehl:npm init -yAktualisieren Sie das
package.jsonauf ECMAScript mit dem folgenden Befehl:npm pkg set type=moduleInstallieren Sie die OpenAI-Clientbibliothek für JavaScript mit:
npm install openaiInstallieren Sie für die empfohlene schlüssellose Authentifizierung mit Microsoft Entra ID das Paket
@azure/identitymit.npm install @azure/identity
Abrufen von Ressourceninformationen
Sie müssen die folgenden Informationen abrufen, um Ihre Anwendung mit Ihrer Azure OpenAI-Ressource zu authentifizieren:
| Variablenname | Wert |
|---|---|
AZURE_OPENAI_ENDPOINT |
Dieser Wert befindet sich im Abschnitt Keys and Endpoint beim Untersuchen der Ressource aus dem Azure-Portal. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Dieser Wert entspricht dem benutzerdefinierten Namen, den Sie bei der Bereitstellung eines Modells ausgewählt haben. Dieser Wert befindet sich unter Resource Management>Model Deployments im Azure-Portal. |
Erfahren Sie mehr über schlüssellose Authentifizierung und Festlegen von Umgebungsvariablen.
Vorsicht
Um die empfohlene schlüssellose Authentifizierung mit dem SDK zu verwenden, stellen Sie sicher, dass die AZURE_OPENAI_API_KEY Umgebungsvariable nicht festgelegt ist.
Generieren von Audio aus Texteingabe
Erstellen Sie die
to-audio.tsDatei mit dem folgenden Code:import { writeFileSync } from "node:fs"; import { AzureOpenAI } from "openai/index.mjs"; import { DefaultAzureCredential, getBearerTokenProvider, } from "@azure/identity"; // Set environment variables or edit the corresponding values here. const endpoint: string = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT"; const deployment: string = process.env.AZURE_OPENAI_DEPLOYMENT_NAME || "gpt-4o-mini-audio-preview"; const apiVersion: string = process.env.OPENAI_API_VERSION || "2025-01-01-preview"; // Keyless authentication const getClient = (): AzureOpenAI => { const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); const client = new AzureOpenAI({ endpoint: endpoint, apiVersion: apiVersion, azureADTokenProvider, }); return client; }; const client = getClient(); async function main(): Promise<void> { // Make the audio chat completions request const response = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", modalities: ["text", "audio"], audio: { voice: "alloy", format: "wav" }, messages: [ { role: "user", content: "Is a golden retriever a good family dog?" } ] }); // Inspect returned data console.log(response.choices[0]); // Write the output audio data to a file if (response.choices[0].message.audio) { writeFileSync( "dog.wav", Buffer.from(response.choices[0].message.audio.data, 'base64'), { encoding: "utf-8" } ); } else { console.error("Audio data is null or undefined."); } } main().catch((err: Error) => { console.error("Error occurred:", err); }); export { main };Erstellen Sie die
tsconfig.jsonDatei zum Transpilieren des TypeScript-Codes, und kopieren Sie den folgenden Code für ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpilieren von TypeScript zu JavaScript.
tscMelden Sie sich mit dem folgenden Befehl bei Azure an:
az loginFühren Sie den Code mit dem folgenden Befehl aus:
node to-audio.js
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für die Ton-/Audioerzeugung aus Texteingabe
Das Skript generiert eine Audiodatei namens dog.wav im selben Verzeichnis wie das Skript. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung: "Ist ein goldener Retriever ein guter Familienhund?"
Generieren von Audio und Text aus der Audioeingabe
Erstellen Sie die
from-audio.tsDatei mit dem folgenden Code:import { AzureOpenAI } from "openai"; import { writeFileSync } from "node:fs"; import { promises as fs } from 'fs'; import { DefaultAzureCredential, getBearerTokenProvider, } from "@azure/identity"; // Set environment variables or edit the corresponding values here. const endpoint: string = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT"; const apiVersion: string = "2025-01-01-preview"; const deployment: string = "gpt-4o-mini-audio-preview"; // Keyless authentication const getClient = (): AzureOpenAI => { const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); const client = new AzureOpenAI({ endpoint: endpoint, apiVersion: apiVersion, azureADTokenProvider, }); return client; }; const client = getClient(); async function main(): Promise<void> { // Buffer the audio for input to the chat completion const wavBuffer = await fs.readFile("dog.wav"); const base64str = Buffer.from(wavBuffer).toString("base64"); // Make the audio chat completions request const response = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", modalities: ["text", "audio"], audio: { voice: "alloy", format: "wav" }, messages: [ { role: "user", content: [ { type: "text", text: "Describe in detail the spoken audio input." }, { type: "input_audio", input_audio: { data: base64str, format: "wav" } } ] } ] }); console.log(response.choices[0]); // Write the output audio data to a file if (response.choices[0].message.audio) { writeFileSync("analysis.wav", Buffer.from(response.choices[0].message.audio.data, 'base64'), { encoding: "utf-8" }); } else { console.error("Audio data is null or undefined."); } } main().catch((err: Error) => { console.error("Error occurred:", err); }); export { main };Erstellen Sie die
tsconfig.jsonDatei zum Transpilieren des TypeScript-Codes, und kopieren Sie den folgenden Code für ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpilieren von TypeScript zu JavaScript.
tscMelden Sie sich mit dem folgenden Befehl bei Azure an:
az loginFühren Sie den Code mit dem folgenden Befehl aus:
node from-audio.js
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe von Audio- und Textgenerierung aus Audioeingaben
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Außerdem wird eine Audiodatei namens analysis.wav im selben Verzeichnis wie das Skript generiert. Die Audiodatei enthält die gesprochene Antwort auf die Eingabeaufforderung.
Generieren von Audio und Verwenden von Multi-Turn-Chatabschlussen
Erstellen Sie die
multi-turn.tsDatei mit dem folgenden Code:import { AzureOpenAI } from "openai/index.mjs"; import { promises as fs } from 'fs'; import { ChatCompletionMessageParam } from "openai/resources/index.mjs"; import { DefaultAzureCredential, getBearerTokenProvider, } from "@azure/identity"; // Set environment variables or edit the corresponding values here. const endpoint: string = process.env.AZURE_OPENAI_ENDPOINT || "AZURE_OPENAI_ENDPOINT"; const apiVersion: string = "2025-01-01-preview"; const deployment: string = "gpt-4o-mini-audio-preview"; // Keyless authentication const getClient = (): AzureOpenAI => { const credential = new DefaultAzureCredential(); const scope = "https://ai.azure.com/.default"; const azureADTokenProvider = getBearerTokenProvider(credential, scope); const client = new AzureOpenAI({ endpoint: endpoint, apiVersion: apiVersion, azureADTokenProvider, }); return client; }; const client = getClient(); async function main(): Promise<void> { // Buffer the audio for input to the chat completion const wavBuffer = await fs.readFile("dog.wav"); const base64str = Buffer.from(wavBuffer).toString("base64"); // Initialize messages with the first turn's user input const messages: ChatCompletionMessageParam[] = [ { role: "user", content: [ { type: "text", text: "Describe in detail the spoken audio input." }, { type: "input_audio", input_audio: { data: base64str, format: "wav" } } ] } ]; // Get the first turn's response const response = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", modalities: ["text", "audio"], audio: { voice: "alloy", format: "wav" }, messages: messages }); console.log(response.choices[0]); // Add a history message referencing the previous turn's audio by ID messages.push({ role: "assistant", audio: response.choices[0].message.audio ? { id: response.choices[0].message.audio.id } : undefined }); // Add a new user message for the second turn messages.push({ role: "user", content: [ { type: "text", text: "Very concisely summarize the favorability." } ] }); // Send the follow-up request with the accumulated messages const followResponse = await client.chat.completions.create({ model: "gpt-4o-mini-audio-preview", messages: messages }); console.log(followResponse.choices[0].message.content); } main().catch((err: Error) => { console.error("Error occurred:", err); }); export { main };Erstellen Sie die
tsconfig.jsonDatei zum Transpilieren des TypeScript-Codes, und kopieren Sie den folgenden Code für ECMAScript.{ "compilerOptions": { "module": "NodeNext", "target": "ES2022", // Supports top-level await "moduleResolution": "NodeNext", "skipLibCheck": true, // Avoid type errors from node_modules "strict": true // Enable strict type-checking options }, "include": ["*.ts"] }Transpilieren von TypeScript zu JavaScript.
tscMelden Sie sich mit dem folgenden Befehl bei Azure an:
az loginFühren Sie den Code mit dem folgenden Befehl aus:
node multi-turn.js
Warten Sie ein paar Augenblicke, um die Antwort zu erhalten.
Ausgabe für Abschluss des Chats mit Mehrfachinteraktionen
Das Skript generiert eine Transkription der Zusammenfassung der gesprochenen Audioeingabe. Danach wird ein mehrstufiger Chat abgeschlossen, um die gesprochene Audioeingabe kurz zusammenzufassen.
Bereinigen von Ressourcen
Wenn Sie eine Azure OpenAI-Ressource bereinigen und entfernen möchten, können Sie die Ressource löschen. Bevor Sie die Ressource löschen, müssen Sie zuerst alle bereitgestellten Modelle löschen.
Problembehandlung
Hinweis
Bei Verwendung gpt-4o-audio-preview für Chatabschlusse mit der Audiomodalität und stream ist auf "true" festgelegt, dass das einzige unterstützte Audioformat pcm16 ist.
Authentifizierungsfehler
Wenn sie einen Fehler vom Typ 401 oder 403 erhalten:
-
Schlüssellose Authentifizierung: Vergewissern Sie sich, dass Sie ausgeführt
az loginhaben und dieCognitive Services UserRolle Ihrem Konto zugewiesen ist. -
API-Schlüssel: Überprüfen Sie, ob
AZURE_OPENAI_API_KEYsie ordnungsgemäß festgelegt ist und der Schlüssel nicht neu generiert wurde.
Modell nicht gefunden
Wenn das gpt-4o-mini-audio-preview Modell nicht verfügbar ist:
- Überprüfen Sie, ob das Modell in Ihrer Azure OpenAI-Ressource bereitgestellt wird.
- Überprüfen Sie, ob Sie eine unterstützte Region verwenden.
Probleme mit Audiodateien
Wenn die generierte Audiodatei nicht wiedergegeben wird:
- Stellen Sie sicher, dass die Datei vollständig geschrieben wurde, indem Sie prüfen, ob die Dateigröße größer als 0 Byte ist.
- Überprüfen Sie, ob das Format dem entspricht, was Ihr Spieler unterstützt (wav ist weit kompatibel).
- Denken Sie bei Streamingantworten daran, dass nur das pcm16-Format unterstützt wird.
Ratelimitierung
Wenn Sie einen Fehler von 429 erhalten, haben Sie das Zinslimit überschritten. Warten Und wiederholen Sie den Vorgang, oder fordern Sie eine Kontingenterhöhung an. Weitere Informationen zu Ratelimits finden Sie unter Azure OpenAI-Kontingente und -grenzwerte.
Verwandte Inhalte
- Erfahren Sie mehr über Azure OpenAI Deployment-Typen.
- Erfahren Sie mehr über Azure OpenAI quotas und Limits.