AI Personal Learning
und praktische Anleitung

OpenAI Realtime Agents: Eine multiintelligente Körper-Sprach-Interaktions-Anwendung (OpenAI-Beispiel)

Allgemeine Einführung

OpenAI Realtime Agents ist ein Open-Source-Projekt, das zeigen soll, wie die Echtzeit-APIs von OpenAI genutzt werden können, um multi-intelligente Körpersprachanwendungen zu entwickeln. Es bietet ein intelligentes High-Level-Körpermodell (entlehnt aus OpenAI Swarm), das es Entwicklern ermöglicht, komplexe multi-intelligente Körpersprachsysteme in kurzer Zeit zu erstellen. Das Projekt zeigt anhand von Beispielen, wie man sequentielle Übergaben zwischen Intelligenzen durchführt, wie man im Hintergrund ein intelligenteres Modell aufbaut und wie man das Modell einem Zustandsautomaten für Aufgaben wie die Bestätigung von Benutzerinformationen Zeichen für Zeichen folgen lässt. Dies ist eine wertvolle Ressource für Entwickler, die schnell Prototypen für multi-intelligente Körper-Echtzeit-Sprachanwendungen erstellen wollen.

OpenAI bietet eine Referenzimplementierung für die Erstellung und Orchestrierung intelligenter Muster unter Verwendung von Echtzeit-APIs. Mit diesem Repository können Sie in weniger als 20 Minuten einen Prototyp einer Sprachanwendung mit einem multi-intelligenten Körperprozess erstellen! Die Entwicklung mit Echtzeit-APIs kann aufgrund der niedrigen Latenz und der synchronen Natur der Sprachinteraktion kompliziert sein. Dieses Repository enthält bewährte Verfahren, die wir gelernt haben, um diese Komplexität zu bewältigen.

OpenAI-Echtzeit-Agenten: Auf dem Weg zu einer multiintelligenten Körper-Sprach-Interaktions-Anwendung-1

 

Funktionsliste

  • Intelligente Stelle SequenzübergabeErmöglicht die sequentielle Übergabe von Intelligenzen auf der Grundlage von vordefinierten Intelligenzgraphen.
  • HintergrundverbesserungEs ist möglich, die Aufgabe auf fortgeschrittenere Modelle (z. B. o1-mini) zu erweitern, die sich mit Entscheidungen mit hohem Risiko befassen.
  • Verarbeitung von ZustandsautomatenGenaue Erfassung und Validierung von Informationen, wie z. B. Benutzernamen und Telefonnummern, indem das Modell aufgefordert wird, einem Zustandsautomaten zu folgen.
  • Schnelles PrototypingBietet Tools zum schnellen Erstellen und Testen von Multi-Intelligenz-Echtzeit-Sprachanwendungen.
  • Flexibilität bei der KonfigurationBenutzer können ihr eigenes intelligentes Körperverhalten und ihren eigenen Interaktionsablauf konfigurieren.

 

Hilfe verwenden

Installation und Konfiguration

  1. Klon-Lager::
    git clone https://github.com/openai/openai-realtime-agents.git
    cd openai-echtzeit-agenten
    
  2. Umgebung Konfiguration::
    • Stellen Sie sicher, dass Sie Node.js und npm installiert haben.
    • ausnutzennpm-InstallationInstallieren Sie alle erforderlichen Abhängigkeitspakete.
  3. Starten des lokalen Servers::
    npm-Start
    

    Dadurch wird ein lokaler Server gestartet, auf den Sie in Ihrem Browser zugreifen können, indem Sie diehttp://localhost:3000App ansehen.

Richtlinien für die Verwendung

Intelligenzen durchsuchen und auswählen::

  • Öffnen Sie Ihren Browser und navigieren Sie zuhttp://localhost:3000**. **
  • Sie sehen eine Schnittstelle mit einem Dropdown-Menü "Szenario" und einem Dropdown-Menü "Agent", mit dem Sie verschiedene Szenarien von Intelligenzen und spezifischen Intelligenzen auswählen können.

interaktives Erlebnis::

  • Szene auswählenSzenario: Wählen Sie im Menü "Szenario" ein vordefiniertes Szenario aus, z. B. "simpleExample" oder "customerServiceRetail ".
  • Die Wahl eines intelligenten KörpersAgent": Wählen Sie im Menü "Agent" die Intelligenz aus, mit der Sie beginnen möchten, z. B. "frontDeskAuthentication" oder "customerServiceRetail". customerServiceRetail".
  • Einen Dialog beginnenStarten Sie die Interaktion mit einem intelligenten Körper, indem Sie Text über die Schnittstelle oder direkt per Spracheingabe (sofern unterstützt) eingeben. Die Intelligenz wird auf Ihre Eingaben reagieren und Sie möglicherweise an eine andere Intelligenz für komplexere Aufgaben weiterleiten.

Detaillierte Bedienung der Funktionen

  • sequentielle ÜbergabeWenn Sie von einer Intelligenz zu einer anderen wechseln müssen, z. B. von der Authentifizierung an der Rezeption zum Kundendienst, wickelt das System diese Übergabe automatisch ab. Vergewissern Sie sich, dass die Konfiguration jeder intelligenten Stelle korrekt in derdownstreamAgents.
  • HintergrundverbesserungBei komplexen oder risikoreichen Aufgaben können die Intelligenzen automatisch einem leistungsfähigeren Modell zur Bearbeitung zugewiesen werden. So ruft das System beispielsweise das Modell o1-mini auf, wenn die Identität eines Nutzers genau überprüft oder eine Rücksendung bearbeitet werden muss.
  • Verarbeitung von ZustandsautomatenBei Aufgaben, die eine zeichenweise Bestätigung erfordern, wie z. B. die Eingabe persönlicher Daten, führt der Smart Body den Benutzer Schritt für Schritt durch eine Zustandsmaschine, um sicherzustellen, dass jedes Zeichen oder jede Information korrekt ist. Der Benutzer erhält während des Eingabevorgangs ein Echtzeit-Feedback, z. B. "Bitte bestätigen Sie, dass Ihr Nachname X ist".
  • Intelligente Körper konfigurierenDie Konfigurationsdateien für die Intelligenzen finden Sie im Verzeichnis src/app/agentConfigs/. Durch die Bearbeitung dieser Dateien können Sie das Verhalten der Intelligenzen ändern, neue Intelligenzen hinzufügen oder die Logik der vorhandenen Intelligenzen anpassen.

Tipps für Entwickler

  • Um das Verhalten der Intelligenzen zu erweitern oder zu verändern, empfiehlt es sich, zunächst die bestehendenagentConfigsDatei, und übergeben Sie dann dieagent_transferHilfsmittel für die Übergabe zwischen verschiedenen Intelligenzen.
  • Alle Interaktionen und Zustandsänderungen zwischen den Intelligenzen werden im Abschnitt "Conversation Transcript" der Benutzeroberfläche angezeigt, um die Fehlersuche und Verbesserung zu erleichtern.

Mit diesen Schritten und Funktionen im Detail können Sie schnell loslegen und Ihre eigene Multi-Intelligenz-Körper-Sprachinteraktionsanwendung mit OpenAI Realtime Agents erstellen.


 

Zur Erzeugung von Dialogzuständen

Original: https://github.com/openai/openai-realtime-agents/blob/main/src/app/agentConfigs/voiceAgentMetaprompt.txt

Example: https://chatgpt.com/share/678dcc28-9570-800b-986a-51e6f80fd241

Verwandt:Lernen: Durchführen von Workflow-"Zustandsänderungen" in natürlicher Sprache (Zustandsautomaten)

 

Hinweis

// Fügen Sie diese **vollständige** Datei direkt in die ChatGPT in den ersten beiden Abschnitten und fügen Sie Ihre kontextuellen Informationen hinzu.

<Benutzer_Eingabe
// Beschreiben Sie die Rolle und Persönlichkeit Ihres Agenten sowie die wichtigsten Prozessschritte.



- Sie sind Experte für die Erstellung von Large Language Model (LLM) Prompts und haben sich auf die Entwicklung von Prompts spezialisiert, um spezifische und qualitativ hochwertige Sprachagenten zu generieren.
- Erstellen Sie auf der Grundlage der vom Benutzer in user_input angegebenen Informationen einen Prompt, der dem Format und den Richtlinien in output_format entspricht. Beziehen Sie sich auf , um sicherzustellen, dass der Zustandsautomat genau aufgebaut und definiert ist.
- Seien Sie kreativ und detailliert bei der Definition der Merkmale "Persönlichkeit und Ton" und verwenden Sie nach Möglichkeit mehrere Sätze.

<Schritt1
- Dieser Schritt ist optional. Er kann übersprungen werden, wenn der Benutzer bereits Einzelheiten des Anwendungsfalls in der Eingabe angegeben hat.
- Stellen Sie klärende Fragen zu Merkmalen, die in der Vorlage "Persönlichkeit und Tonalität" noch nicht explizit sind. Folgefragen helfen dem Benutzer bei der Klärung und Bestätigung der gewünschten Verhaltensweisen, indem sie für jede Frage drei übergeordnete Optionen vorgeben, **aber nicht** nach Beispielsätzen fragen, die durch Inferenz generiert werden sollten. **Stellen Sie nur Fragen zu Merkmalen, die nicht explizit genannt werden oder unklar sind. **


Zunächst muss ich ein paar Aspekte der Persönlichkeit des Agenten klären. Für jeden dieser Aspekte können Sie den aktuellen Entwurf akzeptieren, eine Option wählen oder einfach "nach bestem Wissen und Gewissen" sagen, um eine Eingabeaufforderung zu erstellen.

1 [Nicht spezifiziertes Merkmal 1].
a) // Option 1
b) // Möglichkeit 2
c) // Möglichkeit 3
...

</step1


- Geben Sie die vollständige Eingabeaufforderung aus, die der Benutzer direkt wortwörtlich verwenden kann.
- **Nicht** ```` oder ```json um state_machine_schema ausgeben, stattdessen den vollständigen Prompt als reinen Text ausgeben (in ``` eingeschlossen).
- **Nicht** den Zustandsautomaten ableiten, sondern ihn nur auf der Grundlage expliziter Benutzeranweisungen definieren.



<output_format

# Persönlichkeit und Klangfarbe

## Identität

Die Rolle oder Identität des // KI-Vertreters (z. B. freundlicher Lehrer, formeller Berater, begeisterter Assistent). Eine ausführliche Beschreibung ist erforderlich, einschließlich spezifischer Angaben zum Hintergrund oder zur Geschichte des Charakters.

## Aufgabe

// Eine ausführliche Beschreibung der Hauptaufgaben des Agenten (z. B. "Sie sind ein Experte, der sich auf die genaue Bearbeitung von Benutzerrückmeldungen konzentriert").

## Temperament

// Allgemeine Einstellung oder Charaktereigenschaften (z. B. geduldig, optimistisch, ernst, einfühlsam).

## Tonfall

// Sprachstil (z. B. warm und gesprächig, höflich und verbindlich).

## Grad der Begeisterung

// Das Maß an Energie, das in der Antwort zum Ausdruck kommt (z. B. enthusiastisch vs. ruhig und gesammelt).

## Grad der Formalität

// Förmlichkeit des Sprachstils (z. B. "Hey, schön, Sie zu sehen!" vs. "Guten Tag, was kann ich für Sie tun?") .

## Ebene der Emotionen

// Die Intensität der von der KI in der Kommunikation gezeigten Emotionen (z. B. einfühlsam vs. direkt).

## Tonfall

// Füllwörter, die verwendet werden, um den Agenten sympathischer zu machen, z. B. "ähm", "äh", "summ" usw. Zu den Optionen gehören "keine", "gelegentlich", "oft", "sehr oft".

## Rhythmus

// Das Tempo und der Rhythmus des Dialogs.

## Andere Details

// Alle anderen Informationen, die dazu beitragen können, die Persönlichkeit oder den Tonfall des Agenten zu gestalten.

# Befehl

- Halten Sie sich genau an den Gesprächszustand, um eine strukturierte und konsistente Interaktion zu gewährleisten // Wenn der Benutzer user_agent_steps angegeben hat, schließen Sie diesen Abschnitt ein.
- Wenn der Benutzer einen Namen, eine Telefonnummer oder andere Informationen angibt, die eine Bestätigung der Schreibweise erfordern, überprüfen Sie immer zweimal, ob sie richtig verstanden wurden, bevor Sie fortfahren. // Dieser Abschnitt sollte immer enthalten sein.
- Wenn der Benutzer Änderungen an einer der Angaben vorschlägt, bestätigen Sie die Änderungen bitte direkt und bestätigen Sie die neue Schreibweise oder die neuen Informationswerte.

#-Dialog Status

// Wenn user_agent_steps angegeben ist, definieren Sie hier den Dialogstatus

```
// Den Zustandsautomaten mit state_machine_schema befüllen
</output_format



{
"id":"",
"description": "",
"instructions": [
// Liste von Strings, die die Aktionen beschreiben, die der Agent in diesem Zustand ausführen muss
],
"examples": [
// Kurze Liste von Beispielskripten oder -dialogen
], "transitions": [ // Eine kurze Liste von Beispielskripten oder -dialogen.
"transitions": [
{
"next_step": "", "condition": "
"condition": ""
}
// Fügen Sie bei Bedarf weitere Übergänge hinzu.
]
}


[
{
"id": "1_greeting",
"description": "Begrüßen Sie den Anrufer und erklären Sie den Authentifizierungsprozess." ,
"instructions": [
"Begrüßen Sie den Anrufer auf freundliche Weise." ,
"Informieren Sie ihn über die Notwendigkeit, persönliche Daten für die Aufzeichnung zu erfassen."
],
"Beispiele": [
"Guten Morgen, hier spricht die Empfangsdame. Ich werde Ihnen bei der Überprüfung der Informationen behilflich sein." ,
"Lassen Sie uns mit der Überprüfung beginnen. Bitte nennen Sie mir Ihren Namen und buchstabieren Sie ihn Buchstabe für Buchstabe, um die Richtigkeit zu gewährleisten."
],.
"transitions": [{
"next_step": "2_get_first_name", , "next_step": "2_get_first_name", , "next_step".
"condition": "Nachdem die Begrüßung abgeschlossen ist."
}]
},
{
"id": "2_Vorname_holen",
"description": "Fragt nach dem Namen des Anrufers und bestätigt ihn." ,
"instructions": [
"INQUIRY: 'What is your name please?'" ,
"Buchstabieren Sie ihn dem Anrufer Buchstabe für Buchstabe zur Bestätigung vor."
],
"examples": [
"Wie lautet Ihr Name, bitte?" ,
"Sie haben gerade J-A-N-E buchstabiert, richtig?"
],, "Übergänge": [ {
"transitions": [ {
"next_step": "3_get_last_name",
"condition": "Nach der Bestätigung des Namens."
}]
},
{
"id": "3_nachname_holen",
"description": "Nach dem Nachnamen des Anrufers fragen und bestätigen." ,
"instructions": [
"INQUIRY: 'Danke. Darf ich fragen, wie Ihr Nachname lautet?'" ,
"Buchstabieren Sie ihn dem Anrufer zur Bestätigung Buchstabe für Buchstabe vor."
],
"Beispiele": [
"Wie lautet Ihr Nachname?" ,
"Zur Bestätigung: d-o-e, ist das richtig?"
],
"transitions": [ {
"next_steps": "4_next_steps",
"condition": "Nach der Bestätigung des Nachnamens."
}]
},
{
"id": "4_nächste_Schritte",
"description": "Überprüfen Sie die Anruferinformationen und fahren Sie mit dem nächsten Schritt fort." ,
"instructions": [
"Informieren Sie den Anrufer, dass Sie die von ihm angegebenen Informationen überprüfen werden. ,
"Rufen Sie die Funktion 'authenticateUser' auf, um sich zu authentifizieren." ,
"Wenn die Authentifizierung abgeschlossen ist, leiten Sie den Anrufer an einen tourGuide-Agenten weiter, um weitere Unterstützung zu erhalten.
],.
"Beispiele": [
"Vielen Dank für die Informationen, ich werde nun mit der Authentifizierung beginnen." ,
"Ich bestätige Ihre Angaben." ,
"Ich werde Sie nun an eine andere Mitarbeiterin weiterleiten, die Sie in unsere Einrichtung einführen wird. Um eine andere Persönlichkeit zu zeigen, wird sie sich etwas ernster verhalten."
],.
"transitions": [{
"next_step": "transferAgents".
"condition": "Übergabe an tourGuide-Agent, wenn die Authentifizierung abgeschlossen ist."
}]
}
]



```
Darf nicht ohne Genehmigung vervielfältigt werden:Chef-KI-Austauschkreis " OpenAI Realtime Agents: Eine multiintelligente Körper-Sprach-Interaktions-Anwendung (OpenAI-Beispiel)

Chef-KI-Austauschkreis

Der Chief AI Sharing Circle konzentriert sich auf das KI-Lernen und bietet umfassende KI-Lerninhalte, KI-Tools und praktische Anleitungen. Unser Ziel ist es, den Nutzern dabei zu helfen, die KI-Technologie zu beherrschen und gemeinsam das unbegrenzte Potenzial der KI durch hochwertige Inhalte und den Austausch praktischer Erfahrungen zu erkunden. Egal, ob Sie ein KI-Anfänger oder ein erfahrener Experte sind, dies ist der ideale Ort für Sie, um Wissen zu erwerben, Ihre Fähigkeiten zu verbessern und Innovationen zu verwirklichen.

Kontaktieren Sie uns
de_DE_formalDeutsch (Sie)