UStackUStack
OpenAI Realtime API favicon

OpenAI Realtime API

L'API Temps Réel d'OpenAI facilite la communication multimodale à faible latence pour construire des applications telles que des agents vocaux, prenant en charge la parole-vers-parole, les entrées audio/image/texte, et les sorties audio/texte.

OpenAI Realtime API

Qu'est-ce que OpenAI Realtime API ?

Qu'est-ce que l'OpenAI Realtime API ?

L'API Temps Réel d'OpenAI est une interface spécialisée conçue pour permettre une communication à très faible latence avec les modèles OpenAI. Sa principale force réside dans la gestion des flux de données continus et bidirectionnels, ce qui la rend idéale pour les applications interactives et sensibles au temps. Cette API prend nativement en charge des interactions multimodales complexes, permettant aux développeurs d'intégrer des fonctionnalités de parole-vers-parole, de traiter des entrées combinées d'audio, d'images et de texte, et de générer des sorties audio ou texte en quasi temps réel.

Cette capacité ouvre la voie à la création d'applications sophistiquées et réactives, telles que des agents vocaux avancés directement dans le navigateur ou l'intégration de services de transcription audio en temps réel. En se concentrant sur la vitesse et le flux de données continu, l'API Temps Réel dépasse les modèles traditionnels de requête/réponse, offrant une base pour des expériences d'IA véritablement conversationnelles et immersives.

Fonctionnalités Clés

  • Communication à Faible Latence : Optimisée pour un délai minimal, crucial pour des interactions vocales naturelles et des boucles de rétroaction immédiates.
  • Prise en Charge Multimodale : Accepte des entrées incluant l'audio, les images et le texte, et génère des sorties audio et texte.
  • Prise en Charge Native de la Parole-vers-Parole : Spécifiquement conçue pour construire des agents vocaux fluides où l'entrée audio est immédiatement convertie en sortie audio.
  • Méthodes de Connexion Flexibles : Prend en charge trois interfaces principales pour s'adapter aux différents environnements de déploiement :
    • WebRTC : Idéal pour les interactions directes côté client au sein des navigateurs web.
    • WebSocket : Le mieux adapté aux applications côté serveur nécessitant des connexions cohérentes à faible latence.
    • SIP : Conçu pour l'intégration avec les systèmes téléphoniques VoIP traditionnels.
  • Transcription Audio en Temps Réel : Offre la possibilité de transcrire les flux audio au fur et à mesure de leur arrivée sur une connexion WebSocket.
  • Contrôles Côté Serveur : Permet aux développeurs de gérer le cycle de vie de la session, de mettre en œuvre des garde-fous et d'appeler des outils externes depuis le serveur.
  • Authentification Simplifiée : Utilise des clés API éphémères générées via un point de terminaison REST dédié (/v1/realtime/client_secrets) pour une initialisation sécurisée côté client.

Comment Utiliser l'OpenAI Realtime API

Commencer avec l'API Temps Réel implique souvent d'utiliser le Agents SDK pour TypeScript, qui offre le chemin le plus rapide pour construire des agents vocaux basés sur navigateur. Le flux de travail général implique l'établissement d'une connexion, la gestion de la session, puis l'interaction avec le modèle.

  1. Initialisation : Définissez les paramètres de votre agent (comme le nom et les instructions) en utilisant le SDK, ou préparez-vous pour une connexion directe.
  2. Configuration de la Connexion : Choisissez votre méthode de connexion (WebRTC pour le navigateur, WebSocket pour le serveur). Pour WebRTC, vous utiliserez généralement la clé éphémère obtenue à partir du point de terminaison REST pour initialiser une RealtimeSession.
  3. Connexion à la Session : Appelez session.connect() pour lier automatiquement le microphone et la sortie audio (pour les agents vocaux) ou établir le flux de données.
  4. Interaction : Une fois connecté, utilisez les guides fournis pour le prompting, la gestion des événements de conversation ou l'implémentation de la logique côté serveur (comme l'appel d'outils) pour orienter le comportement du modèle.

Pour une intégration directe en dehors du Agents SDK, les développeurs doivent consulter les guides spécifiques pour les connexions WebRTC, WebSocket ou SIP afin de gérer l'initialisation de la session et l'échange de données (par exemple, la négociation SDP pour WebRTC).

Cas d'Utilisation

  1. Assistants Vocaux Interactifs : Construction d'agents conversationnels sophistiqués au son naturel, accessibles directement via les navigateurs web ou les applications mobiles, offrant des réponses vocales immédiates sans décalage perceptible.
  2. Bots de Support Client en Temps Réel : Déploiement d'agents IA capables de gérer des appels vocaux en direct via l'intégration SIP, fournissant un triage instantané, une récupération d'informations ou un traitement de transactions complexes par téléphone.
  3. Traitement de Données Multimodales : Création d'applications qui analysent des flux vidéo en direct (utilisant l'entrée image) combinés à des commandes vocales (entrée audio) pour effectuer des tâches complexes, comme guider un utilisateur à travers un processus de réparation physique.
  4. Transcription et Résumé de Réunions en Direct : Utilisation de la connexion WebSocket pour la transcription audio en temps réel pendant les réunions, permettant un indexage immédiat, le marquage de mots-clés ou la génération de résumés à la volée.
  5. PNJ de Jeu à Faible Latence : Intégration de personnages IA dans des environnements interactifs en temps réel où les commandes vocales du joueur doivent se traduire par des réponses vocales immédiates et contextuelles du personnage de jeu.

FAQ

Q : Quelle est la principale différence entre l'API Temps Réel et les appels API REST standard ? A : L'API REST standard est optimisée pour les opérations discrètes de requête/réponse. L'API Temps Réel est conçue pour une communication en flux continu et bidirectionnel, privilégiant la latence extrêmement faible nécessaire aux échanges vocaux interactifs et aux données en temps réel.

Q : Puis-je utiliser l'API Temps Réel directement dans une application mobile ? A : Oui. Bien que le Agents SDK se concentre sur l'utilisation dans les navigateurs via WebRTC, l'API Temps Réel sous-jacente prend en charge les connexions WebSocket, qui peuvent être implémentées dans des environnements mobiles natifs après avoir obtenu en toute sécurité les secrets clients éphémères nécessaires depuis votre serveur backend.

Q : Comment gérer l'authentification pour les connexions WebRTC côté client ? A : Vous devez d'abord appeler le point de terminaison REST côté serveur (POST /v1/realtime/client_secrets) en utilisant votre clé API principale. Cela renvoie un jeton éphémère (ek_...) qui est ensuite utilisé en toute sécurité par le client pour initialiser la session WebRTC ou WebSocket.

Q : Qu'est-il advenu de l'en-tête OpenAI-Beta: realtime=v1 ? A : Cet en-tête n'est requis que si vous conservez intentionnellement le comportement de l'ancienne interface bêta Temps Réel. Pour les nouvelles intégrations utilisant l'interface de Disponibilité Générale (GA), cet en-tête doit être supprimé des requêtes API REST et des connexions WebSocket.

Q : Quelle méthode de connexion offre la latence la plus faible pour une application web ? A : Pour les interactions directes dans le navigateur, WebRTC est généralement la méthode de connexion recommandée et la plus optimisée fournie par l'API Temps Réel pour atteindre la latence la plus faible possible entre le client et le modèle.

OpenAI Realtime API | UStack