Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantCe navigateur n’est plus pris en charge.
Effectuez une mise à niveau vers Microsoft Edge pour tirer parti des dernières fonctionnalités, des mises à jour de sécurité et du support technique.
Notes
Cette fonctionnalité est actuellement disponible en préversion publique. Cette préversion est fournie sans contrat de niveau de service, nous la déconseillons dans des charges de travail de production. Certaines fonctionnalités peuvent être limitées ou non prises en charge. Pour plus d’informations, consultez Conditions d’Utilisation Supplémentaires relatives aux Évaluations Microsoft Azure.
L’API Temps réel GPT-4o d’Azure OpenAI pour les messages et l’audio fait partie de la famille de modèles GPT-4o qui prend en charge les interactions conversationnelles à latence faible « entrée vocale, sortie vocale ». L’API Audio realtime
GPT-4o est conçue pour gérer les interactions conversationnelles en temps réel et à latence faible, ce qui en fait un excellent choix pour les cas d’usage impliquant des interactions directes entre un utilisateur et un modèle, comme des agents d’un service clientèle, des assistants vocaux et des traducteurs en temps réel.
La plupart des utilisateurs de l’API Temps réel doivent fournir et recevoir de l’audio d’un utilisateur final en temps réel, y compris des applications qui utilisent WebRTC ou un système de téléphonie. L’API Temps réel n’est pas conçue pour se connecter directement aux appareils des utilisateurs finaux et s’appuie sur des intégrations de clients pour mettre fin aux flux audio des utilisateurs finaux.
Les modèles GPT 4o en temps réel sont disponibles pour les déploiements globaux.
gpt-4o-realtime-preview
(version 2024-12-17
)gpt-4o-mini-realtime-preview
(version 2024-12-17
)gpt-4o-realtime-preview
(version 2024-10-01
)Pour plus d’informations, consultez la documentation sur les modèles et les versions.
La prise en charge de l’API Temps réel a été ajoutée pour la première fois dans la version 2024-10-01-preview
de l’API. Utilisez la dernière version 2024-12-17
du modèle.
Pour déployer le modèle gpt-4o-mini-realtime-preview
dans le portail Azure AI Foundry :
gpt-4o-mini-realtime-preview
, puis sélectionnez Déployer sur une ressource sélectionnée.2024-12-17
.Maintenant que vous disposez d’un déploiement du modèle gpt-4o-mini-realtime-preview
, vous pouvez interagir avec lui en temps réel dans le terrain de jeu Audio en temps réel le portail Azure AI Foundry ou l’API Temps réel.
Pour discuter avec votre modèle gpt-4o-mini-realtime-preview
déployé dans le terrain de jeu audio en temps réel d’Azure AI Foundry, procédez comme suit :
Accédez à la page Azure OpenAI Service dans le portail Azure AI Foundry. Vérifiez que vous êtes connecté avec l’abonnement Azure qui a votre ressource Azure OpenAI Service et le modèle gpt-4o-mini-realtime-preview
déployé.
Sélectionnez le terrain de jeu Audio en temps réel sous Terrains de jeu dans le volet gauche.
Sélectionnez votre modèle gpt-4o-mini-realtime-preview
déployé dans la liste déroulante Déploiement.
Sélectionnez Activer le microphone pour autoriser le navigateur à accéder à votre microphone. Si vous avez déjà accordé l’autorisation, vous pouvez ignorer cette étape.
Si vous le souhaitez, vous pouvez modifier le contenu dans la zone de texte Fournir au modèle des instructions et un contexte. Fournissez au modèle des instructions sur son comportement et sur tout contexte qu’il doit référencer en générant une réponse. Vous pouvez décrire la personnalité de l’assistant, lui dire ce qu’il doit et ne doit pas répondre, et lui indiquer comment formater les réponses.
Si vous le souhaitez, modifiez les paramètres tels que le seuil, le remplissage de préfixes et la durée du silence.
Sélectionnez Démarrer l’écoute pour démarrer la session. Vous pouvez parler dans le microphone pour démarrer une conversation.
Vous pouvez interrompre la conversation à tout moment en parlant. Vous pouvez mettre fin à la conversation en sélectionnant le bouton Arrêter l’écoute.
gpt-4o-mini-realtime-preview
avec votre ressource Azure OpenAI. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
Cognitive Services User
à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.Pour déployer le modèle gpt-4o-mini-realtime-preview
dans le portail Azure AI Foundry :
gpt-4o-mini-realtime-preview
, puis sélectionnez Déployer sur une ressource sélectionnée.2024-12-17
.Maintenant que vous disposez d’un déploiement du modèle gpt-4o-mini-realtime-preview
, vous pouvez interagir avec lui en temps réel dans le terrain de jeu Audio en temps réel le portail Azure AI Foundry ou l’API Temps réel.
Créez un dossier realtime-audio-quickstart
pour contenir l’application et ouvrez Visual Studio Code dans ce dossier avec la commande suivante :
mkdir realtime-audio-quickstart && code realtime-audio-quickstart
Créez le package.json
avec la commande suivante :
npm init -y
Mettez à jour le package.json
vers ECMAScript avec la commande suivante :
npm pkg set type=module
Installez la bibliothèque de client audio en temps réel pour JavaScript avec :
npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, installez le package @azure/identity
avec :
npm install @azure/identity
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
Nom de la variable | Valeur |
---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
OPENAI_API_VERSION |
En savoir plus sur les versions d’API. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Attention
Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY
n’est pas définie.
Remplacez le fichier text-in-audio-out.js
avec le code suivant :
import { DefaultAzureCredential } from "@azure/identity";
import { LowLevelRTClient } from "rt-client";
import dotenv from "dotenv";
dotenv.config();
async function text_in_audio_out() {
// Set environment variables or edit the corresponding values here.
const endpoint = process.env["AZURE_OPENAI_ENDPOINT"] || "yourEndpoint";
const deployment = "gpt-4o-mini-realtime-preview";
if (!endpoint || !deployment) {
throw new Error("You didn't set the environment variables.");
}
const client = new LowLevelRTClient(new URL(endpoint), new DefaultAzureCredential(), { deployment: deployment });
try {
await client.send({
type: "response.create",
response: {
modalities: ["audio", "text"],
instructions: "Please assist the user."
}
});
for await (const message of client.messages()) {
switch (message.type) {
case "response.done": {
break;
}
case "error": {
console.error(message.error);
break;
}
case "response.audio_transcript.delta": {
console.log(`Received text delta: ${message.delta}`);
break;
}
case "response.audio.delta": {
const buffer = Buffer.from(message.delta, "base64");
console.log(`Received ${buffer.length} bytes of audio data.`);
break;
}
}
if (message.type === "response.done" || message.type === "error") {
break;
}
}
}
finally {
client.close();
}
}
await text_in_audio_out();
Connectez-vous à Azure à l’aide de la commande suivante :
az login
Exécutez le fichier JavaScript.
node text-in-audio-out.js
Attendez quelques instants pour obtenir une réponse.
Le script obtient une réponse du modèle et affiche les données de transcription et audio reçues.
La sortie ressemble à l'exemple suivant :
Received text delta: Hello
Received text delta: !
Received text delta: How
Received text delta: can
Received text delta: I
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta: help
Received 12000 bytes of audio data.
Received text delta: you
Received text delta: today
Received text delta: ?
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 24000 bytes of audio data.
Notre exemple web JavaScript sur GitHub montre comment utiliser l’API GPT-4o Realtime pour interagir avec le modèle en temps réel. L’exemple de code inclut une interface web simple qui capture l’audio à partir du microphone de l’utilisateur et l’envoie au modèle pour traitement. Le modèle répond avec du texte et de l’audio, que l’exemple de code affiche dans l’interface web.
Vous pouvez exécuter l’exemple de code localement sur votre ordinateur en suivant ces étapes. Reportez-vous au dépôt sur GitHub pour obtenir les instructions les plus à jour.
Si vous n’avez pas installé Node.js, téléchargez et installez la version LTS de Node.js.
Clonez le dépôt sur votre machine locale :
git clone https://github.com/Azure-Samples/aoai-realtime-audio-sdk.git
Accédez au dossier javascript/samples/web
dans votre éditeur de code préféré.
cd ./javascript/samples
Exécutez download-pkg.ps1
ou download-pkg.sh
pour télécharger les packages requis.
Accédez au dossier web
du dossier ./javascript/samples
.
cd ./web
Exécutez npm install
pour installer les dépendances du package.
Exécutez npm run dev
pour démarrer le serveur web, en accédant à toutes les invites des autorisations du pare-feu selon vos besoins.
Accédez à une des URI fournies dans la sortie de la console (par exemple http://localhost:5173/
) dans un navigateur.
Entrez les informations suivantes dans l’interface web :
/realtime
. Un exemple de structure serait https://my-azure-openai-resource-from-portal.openai.azure.com
.gpt-4o-mini-realtime-preview
que vous avez déployé dans la section précédente.Sélectionnez le bouton Enregistrer pour démarrer la session. Si vous y êtes invité, acceptez les autorisations d’utilisation de votre microphone.
Vous devez voir un message << Session Started >>
dans la sortie principale. Vous pouvez ensuite parler dans le microphone pour démarrer une conversation.
Vous pouvez interrompre la conversation à tout moment en parlant. Vous pouvez mettre fin à la conversation en sélectionnant le bouton Arrêter.
gpt-4o-mini-realtime-preview
avec votre ressource Azure OpenAI. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
Cognitive Services User
à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.Pour déployer le modèle gpt-4o-mini-realtime-preview
dans le portail Azure AI Foundry :
gpt-4o-mini-realtime-preview
, puis sélectionnez Déployer sur une ressource sélectionnée.2024-12-17
.Maintenant que vous disposez d’un déploiement du modèle gpt-4o-mini-realtime-preview
, vous pouvez interagir avec lui en temps réel dans le terrain de jeu Audio en temps réel le portail Azure AI Foundry ou l’API Temps réel.
Créez un dossier realtime-audio-quickstart
pour contenir l’application et ouvrez Visual Studio Code dans ce dossier avec la commande suivante :
mkdir realtime-audio-quickstart && code realtime-audio-quickstart
Créez un environnement virtuel. Si Python 3.10, ou une version ultérieure est déjà installé, vous pouvez créer un environnement virtuel à l’aide des commandes suivantes :
L'activation de l'environnement Python signifie que lorsque vous exécutez python
ou pip
depuis la ligne de commande, vous utilisez alors l'interpréteur Python contenu dans le dossier .venv
de votre application. Vous pouvez utiliser la commande deactivate
pour quitter l’environnement virtuel Python et la réactiver ultérieurement si nécessaire.
Conseil
Nous vous recommandons de créer et d’activer un nouvel environnement Python pour installer les packages dont vous avez besoin pour ce tutoriel. N’installez pas de packages dans votre installation globale de Python. Vous devez toujours utiliser un environnement virtuel ou conda lors de l’installation de packages Python. Sinon, votre installation globale de Python peut être interrompue.
Installez la bibliothèque de client audio en temps réel pour Python avec :
pip install "https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/py%2Fv0.5.3/rtclient-0.5.3.tar.gz"
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, installez le package azure-identity
avec :
pip install azure-identity
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
Nom de la variable | Valeur |
---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
OPENAI_API_VERSION |
En savoir plus sur les versions d’API. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Remplacez le fichier text-in-audio-out.py
avec le code suivant :
import base64
import asyncio
from azure.identity.aio import DefaultAzureCredential
from rtclient import (
ResponseCreateMessage,
RTLowLevelClient,
ResponseCreateParams
)
# Set environment variables or edit the corresponding values here.
endpoint = os.environ["AZURE_OPENAI_ENDPOINT"]
deployment = "gpt-4o-mini-realtime-preview"
async def text_in_audio_out():
async with RTLowLevelClient(
url=endpoint,
azure_deployment=deployment,
token_credential=DefaultAzureCredential(),
) as client:
await client.send(
ResponseCreateMessage(
response=ResponseCreateParams(
modalities={"audio", "text"},
instructions="Please assist the user."
)
)
)
done = False
while not done:
message = await client.recv()
match message.type:
case "response.done":
done = True
case "error":
done = True
print(message.error)
case "response.audio_transcript.delta":
print(f"Received text delta: {message.delta}")
case "response.audio.delta":
buffer = base64.b64decode(message.delta)
print(f"Received {len(buffer)} bytes of audio data.")
case _:
pass
async def main():
await text_in_audio_out()
asyncio.run(main())
Exécutez le fichier Python.
python text-in-audio-out.py
Attendez quelques instants pour obtenir une réponse.
Le script obtient une réponse du modèle et affiche les données de transcription et audio reçues.
La sortie ressemble à l'exemple suivant :
Received text delta: Hello
Received text delta: !
Received text delta: How
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta: can
Received 12000 bytes of audio data.
Received text delta: I
Received text delta: assist
Received text delta: you
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received text delta: today
Received text delta: ?
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 28800 bytes of audio data.
gpt-4o-mini-realtime-preview
avec votre ressource Azure OpenAI. Pour plus d’informations, consultez l’article Créer une ressource et déployer un modèle à l’aide d’Azure OpenAI.Pour l’authentification sans clé recommandée avec Microsoft Entra ID, vous devez effectuer les tâches suivantes :
Cognitive Services User
à votre compte d’utilisateur. Vous pouvez attribuer des rôles dans le Portail Azure sous Contrôle d’accès (IAM)>Ajouter une attribution de rôle.Pour déployer le modèle gpt-4o-mini-realtime-preview
dans le portail Azure AI Foundry :
gpt-4o-mini-realtime-preview
, puis sélectionnez Déployer sur une ressource sélectionnée.2024-12-17
.Maintenant que vous disposez d’un déploiement du modèle gpt-4o-mini-realtime-preview
, vous pouvez interagir avec lui en temps réel dans le terrain de jeu Audio en temps réel le portail Azure AI Foundry ou l’API Temps réel.
Créez un dossier realtime-audio-quickstart
pour contenir l’application et ouvrez Visual Studio Code dans ce dossier avec la commande suivante :
mkdir realtime-audio-quickstart && code realtime-audio-quickstart
Créez le package.json
avec la commande suivante :
npm init -y
Mettez à jour le package.json
vers ECMAScript avec la commande suivante :
npm pkg set type=module
Installez la bibliothèque de client audio en temps réel pour JavaScript avec :
npm install https://github.com/Azure-Samples/aoai-realtime-audio-sdk/releases/download/js/v0.5.2/rt-client-0.5.2.tgz
Pour l’authentification sans clé recommandée avec Microsoft Entra ID, installez le package @azure/identity
avec :
npm install @azure/identity
Vous devez récupérer les informations suivantes pour authentifier votre application auprès de votre ressource Azure OpenAI :
Nom de la variable | Valeur |
---|---|
AZURE_OPENAI_ENDPOINT |
Cette valeur se trouve dans la section Clés et point de terminaison quand vous examinez votre ressource à partir du portail Azure. |
AZURE_OPENAI_DEPLOYMENT_NAME |
Cette valeur correspond au nom personnalisé que vous avez choisi pour votre déploiement lorsque vous avez déployé un modèle. Cette valeur peut être trouvée dans le Portail Azure sous Gestion des ressources>Déploiements de modèles. |
OPENAI_API_VERSION |
En savoir plus sur les versions d’API. |
En savoir plus sur l’authentification sans clé et la définition de variables d’environnement.
Attention
Pour utiliser l’authentification sans clé recommandée avec le kit de développement logiciel (SDK), vérifiez que la variable d’environnement AZURE_OPENAI_API_KEY
n’est pas définie.
Remplacez le fichier text-in-audio-out.ts
avec le code suivant :
import { DefaultAzureCredential } from "@azure/identity";
import { LowLevelRTClient } from "rt-client";
import dotenv from "dotenv";
dotenv.config();
async function text_in_audio_out() {
// Set environment variables or edit the corresponding values here.
const endpoint: string = process.env["AZURE_OPENAI_ENDPOINT"] || "yourEndpoint";
const deployment = "gpt-4o-mini-realtime-preview";
if (!endpoint || !deployment) {
throw new Error("You didn't set the environment variables.");
}
const client = new LowLevelRTClient(
new URL(endpoint),
new DefaultAzureCredential(),
{deployment: deployment}
);
try {
await client.send({
type: "response.create",
response: {
modalities: ["audio", "text"],
instructions: "Please assist the user."
}
});
for await (const message of client.messages()) {
switch (message.type) {
case "response.done": {
break;
}
case "error": {
console.error(message.error);
break;
}
case "response.audio_transcript.delta": {
console.log(`Received text delta: ${message.delta}`);
break;
}
case "response.audio.delta": {
const buffer = Buffer.from(message.delta, "base64");
console.log(`Received ${buffer.length} bytes of audio data.`);
break;
}
}
if (message.type === "response.done" || message.type === "error") {
break;
}
}
} finally {
client.close();
}
}
await text_in_audio_out();
Créez le fichier tsconfig.json
pour transpiler le code TypeScript et copiez le code suivant pour 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"]
}
Transpiler de TypeScript à JavaScript.
tsc
Connectez-vous à Azure à l’aide de la commande suivante :
az login
Exécutez le code avec la commande suivante :
node text-in-audio-out.js
Attendez quelques instants pour obtenir une réponse.
Le script obtient une réponse du modèle et affiche les données de transcription et audio reçues.
La sortie ressemble à l'exemple suivant :
Received text delta: Hello
Received text delta: !
Received text delta: How
Received text delta: can
Received text delta: I
Received 4800 bytes of audio data.
Received 7200 bytes of audio data.
Received text delta: help
Received 12000 bytes of audio data.
Received text delta: you
Received text delta: today
Received text delta: ?
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 12000 bytes of audio data.
Received 24000 bytes of audio data.
Événements
Créer des applications intelligentes
17 mars, 21 h - 21 mars, 10 h
Rejoignez la série de rencontres pour créer des solutions IA évolutives basées sur des cas d’usage réels avec d’autres développeurs et experts.
S’inscrire maintenantEntrainement
Module
Démarrage de Azure OpenAI Service - Training
Azure OpenAI Service permet aux ingénieurs de générer des solutions d’IA génératives de niveau entreprise.
Certification
Microsoft Certified : Principes de base de l’IA Azure - Certifications
Illustrer les concepts fondamentaux de l’IA liés au développement de logiciels et de services de Microsoft Azure pour créer des solutions IA.
Documentation
Informations de référence sur l’API En temps réel du service Azure OpenAI - Azure OpenAI
Découvrez comment utiliser l’API Realtime pour interagir avec le service Azure OpenAI en temps réel.
Découvrez comment utiliser l’API Realtime GPT-4o pour les messages et l’audio avec Azure OpenAI Service.
Démarrage rapide – Premiers pas avec la génération audio Azure OpenAI - Azure OpenAI
Description de la façon de commencer à générer des sons à l'aide d'Azure OpenAI.