UStackUStack
OpenAI Realtime API favicon

OpenAI Realtime API

Die OpenAI Realtime API ermöglicht latenzarme, multimodale Kommunikation für die Entwicklung von Anwendungen wie Sprachagenten und unterstützt Sprache-zu-Sprache, Audio-/Bild-/Texteingaben sowie Audio-/Textausgaben.

OpenAI Realtime API

Was ist OpenAI Realtime API?

Was ist die OpenAI Realtime API?

Die OpenAI Realtime API ist eine spezialisierte Schnittstelle, die für eine extrem geringe Latenz bei der Kommunikation mit OpenAI-Modellen entwickelt wurde. Ihre Hauptstärke liegt in der Verarbeitung kontinuierlicher, bidirektionaler Datenströme, was sie ideal für interaktive, zeitkritische Anwendungen macht. Diese API unterstützt nativ komplexe multimodale Interaktionen, sodass Entwickler die Sprache-zu-Sprache-Funktionalität integrieren, kombinierte Eingaben von Audio, Bildern und Text verarbeiten und Audio- oder Textausgaben nahezu in Echtzeit generieren können.

Diese Fähigkeit eröffnet die Möglichkeit, hochentwickelte, reaktionsschnelle Anwendungen zu erstellen, wie z. B. fortschrittliche Sprachagenten direkt im Browser oder die Integration von Echtzeit-Audiotranskriptionsdiensten. Durch die Fokussierung auf Geschwindigkeit und kontinuierlichen Datenfluss geht die Realtime API über traditionelle Anfrage/Antwort-Modelle hinaus und bietet eine Grundlage für wirklich konversationelle und immersive KI-Erlebnisse.

Hauptmerkmale

  • Latenzarme Kommunikation: Optimiert für minimale Verzögerung, entscheidend für natürlich klingende Sprachinteraktionen und sofortiges Feedback.
  • Multimodale Unterstützung: Akzeptiert Eingaben wie Audio, Bilder und Text und generiert Audio- und Textausgaben.
  • Native Unterstützung für Sprache-zu-Sprache: Speziell für den Aufbau flüssiger Sprachagenten entwickelt, bei denen Audioeingaben sofort in Audioausgaben umgewandelt werden.
  • Flexible Verbindungsmethoden: Unterstützt drei primäre Schnittstellen, um unterschiedlichen Bereitstellungsumgebungen gerecht zu werden:
    • WebRTC: Ideal für direkte Client-seitige Interaktionen innerhalb von Webbrowsern.
    • WebSocket: Am besten geeignet für Server-seitige Anwendungen, die konsistente, latenzarme Verbindungen erfordern.
    • SIP: Entwickelt für die Integration in traditionelle VoIP-Telefoniesysteme.
  • Echtzeit-Audiotranskription: Bietet die Möglichkeit, Audio-Streams zu transkribieren, sobald sie über eine WebSocket-Verbindung eingehen.
  • Server-seitige Steuerung: Ermöglicht Entwicklern die Verwaltung des Sitzungslebenszyklus, die Implementierung von Schutzmaßnahmen (Guardrails) und den Aufruf externer Tools vom Server aus.
  • Optimierte Authentifizierung: Verwendet temporäre API-Schlüssel, die über einen dedizierten REST-Endpunkt (/v1/realtime/client_secrets) generiert werden, für eine sichere Client-seitige Initialisierung.

Wie man die OpenAI Realtime API verwendet

Der Einstieg in die Realtime API erfolgt oft durch die Nutzung des Agents SDK for TypeScript, das den schnellsten Weg zum Aufbau von browserbasierten Sprachagenten bietet. Der allgemeine Arbeitsablauf umfasst den Aufbau einer Verbindung, die Verwaltung der Sitzung und die anschließende Interaktion mit dem Modell.

  1. Initialisierung: Definieren Sie Ihre Agentenparameter (wie Name und Anweisungen) mithilfe des SDK oder bereiten Sie sich auf eine direkte Verbindung vor.
  2. Verbindungsaufbau: Wählen Sie Ihre Verbindungsmethode (WebRTC für Browser, WebSocket für Server). Für WebRTC verwenden Sie typischerweise den temporären Schlüssel, der vom REST-Endpunkt abgerufen wurde, um eine RealtimeSession zu initialisieren.
  3. Sitzungsverbindung: Rufen Sie session.connect() auf, um automatisch das Mikrofon und die Audioausgabe (für Sprachagenten) zu verknüpfen oder den Datenstrom einzurichten.
  4. Interaktion: Sobald die Verbindung hergestellt ist, nutzen Sie die bereitgestellten Anleitungen zum Prompting, zur Verwaltung von Konversationsereignissen oder zur Implementierung von Server-seitiger Logik (wie Tool-Aufrufe), um das Verhalten des Modells zu steuern.

Für die direkte Integration außerhalb des Agents SDK müssen Entwickler die spezifischen Anleitungen für WebRTC-, WebSocket- oder SIP-Verbindungen konsultieren, um die Sitzungsinitialisierung und den Datenaustausch zu handhaben (z. B. SDP-Aushandlung für WebRTC).

Anwendungsfälle

  1. Interaktive Sprachassistenten: Aufbau hochentwickelter, natürlich klingender Konversationsagenten, die direkt über Webbrowser oder mobile Apps zugänglich sind und sofortige gesprochene Antworten ohne spürbare Verzögerung bieten.
  2. Echtzeit-Kundensupport-Bots: Einsatz von KI-Agenten, die Live-Anrufe über SIP-Integration entgegennehmen und sofortige Triage, Informationsabfrage oder komplexe Transaktionsabwicklung am Telefon ermöglichen.
  3. Multimodale Datenverarbeitung: Erstellung von Anwendungen, die Live-Video-Feeds (unter Verwendung von Bildeingaben) kombiniert mit gesprochenen Befehlen (Audioeingabe) analysieren, um komplexe Aufgaben auszuführen, wie z. B. die Anleitung eines Benutzers durch einen physischen Reparaturprozess.
  4. Live-Transkription und Zusammenfassung von Besprechungen: Nutzung der WebSocket-Verbindung zur Echtzeit-Audiotranskription während Besprechungen, was eine sofortige Indizierung, Schlüsselwortmarkierung oder Ad-hoc-Zusammenfassung ermöglicht.
  5. Latenzarme Gaming-NPCs: Integration von KI-Charakteren in interaktive Echtzeit-Umgebungen, bei denen Spieler-Sprachbefehle sofortige, kontextbezogene gesprochene Antworten vom Spielcharakter auslösen müssen.

FAQ

F: Was ist der Hauptunterschied zwischen der Realtime API und Standard-REST-API-Aufrufen? A: Die Standard-REST-API ist für diskrete Anfrage/Antwort-Operationen optimiert. Die Realtime API wurde für kontinuierliche, bidirektionale Streaming-Kommunikation entwickelt und priorisiert die extrem niedrige Latenz, die für interaktive Sprache und Echtzeit-Datenaustausch erforderlich ist.

F: Kann ich die Realtime API direkt in einer mobilen Anwendung verwenden? A: Ja. Obwohl sich das Agents SDK auf die Browsernutzung über WebRTC konzentriert, unterstützt die zugrunde liegende Realtime API WebSocket-Verbindungen, die in nativen mobilen Umgebungen implementiert werden können, nachdem die erforderlichen temporären Client-Geheimnisse sicher vom Backend-Server abgerufen wurden.

F: Wie behandle ich die Authentifizierung für Client-seitige WebRTC-Verbindungen? A: Sie müssen zuerst den Server-seitigen REST-Endpunkt (POST /v1/realtime/client_secrets) mit Ihrem Haupt-API-Schlüssel aufrufen. Dieser gibt ein temporäres Token (ek_...) zurück, das dann sicher vom Client verwendet wird, um die WebRTC- oder WebSocket-Sitzung zu initialisieren.

F: Was ist mit dem Header OpenAI-Beta: realtime=v1 passiert? A: Dieser Header ist nur erforderlich, wenn Sie absichtlich das Verhalten der älteren Realtime-Beta-Schnittstelle beibehalten möchten. Für neue Integrationen, die die General Availability (GA)-Schnittstelle verwenden, sollte dieser Header von REST-API-Anfragen und WebSocket-Verbindungen entfernt werden.

F: Welche Verbindungsmethode bietet die niedrigste Latenz für eine Webanwendung? A: Für direkte Browser-Interaktionen ist WebRTC im Allgemeinen die empfohlene und am besten optimierte Verbindungsmethode, die von der Realtime API bereitgestellt wird, um die niedrigstmögliche Latenz zwischen Client und Modell zu erreichen.