Zum Hauptinhalt springen

So verwenden Sie das Plugin

Der Runtime AI Chatbot Integrator bietet zwei Hauptfunktionen: Text-zu-Text-Chat und Text-zu-Sprache (TTS). Beide Funktionen folgen einem ähnlichen Arbeitsablauf:

  1. Registrieren Sie Ihren API-Provider-Token
  2. Konfigurieren Sie funktionsspezifische Einstellungen
  3. Senden Sie Anfragen und verarbeiten Sie Antworten

Provider-Token registrieren

Bevor Sie Anfragen senden, registrieren Sie Ihren API-Provider-Token mit der Funktion RegisterProviderToken.

hinweis

Ollama läuft lokal und benötigt keinen API-Token. Sie können diesen Schritt für Ollama überspringen.

Provider-Token in Blueprint registrieren

Text-zu-Text-Chat-Funktionalität

Das Plugin unterstützt zwei Chat-Anfragemodi für jeden Anbieter:

Nicht-Streaming-Chat-Anfragen

Rufen Sie die vollständige Antwort in einem einzigen Aufruf ab.

Send OpenAI Chat Request

Streaming-Chat-Anfragen

Empfangen Sie Antwortteile in Echtzeit für eine dynamischere Interaktion.

OpenAI Streaming-Chat-Anfrage senden

Text-to-Speech (TTS)-Funktionalität

Konvertieren Sie Text in hochwertige Sprach-Audio-Daten mithilfe führender TTS-Anbieter. Das Plugin gibt Roh-Audiodaten (TArray<uint8>) zurück, die Sie gemäß den Anforderungen Ihres Projekts verarbeiten können.

Während die folgenden Beispiele die Audioverarbeitung für die Wiedergabe mit dem Runtime Audio Importer-Plugin demonstrieren (siehe Audio-Import-Dokumentation), ist der Runtime AI Chatbot Integrator flexibel gestaltet. Das Plugin gibt einfach die Roh-Audiodaten zurück und gibt Ihnen damit volle Freiheit, wie Sie diese für Ihren spezifischen Anwendungsfall verarbeiten. Dies kann Audio-Wiedergabe, Speichern in Dateien, weitere Audioverarbeitung, Übertragung an andere Systeme, benutzerdefinierte Visualisierungen und mehr umfassen.

Nicht-Streaming TTS-Anfragen

Nicht-Streaming TTS-Anfragen liefern die vollständigen Audiodaten in einer einzigen Antwort, nachdem der gesamte Text verarbeitet wurde. Dieser Ansatz eignet sich für kürzere Texte, bei denen das Warten auf das vollständige Audio kein Problem darstellt.

Send OpenAI TTS Request

Streaming TTS-Anfragen

Streaming TTS liefert Audio-Chunks, sobald sie generiert werden, und ermöglicht es Ihnen, Daten inkrementell zu verarbeiten, anstatt auf die vollständige Synthese des Audios zu warten. Dies reduziert die wahrgenommene Latenz für längere Texte erheblich und ermöglicht Echtzeitanwendungen. ElevenLabs Streaming TTS unterstützt auch erweiterte Chunked-Streaming-Funktionen für Szenarien mit dynamischer Texterzeugung.

OpenAI Streaming TTS-Anfrage senden

Verfügbare Stimmen abrufen

Einige TTS-Anbieter bieten Voice-Listing-APIs an, um verfügbare Stimmen programmatisch zu ermitteln.

Get Google Cloud Voices

Ollama-Modelle auflisten

Sie können Ihre lokale Ollama-Instanz nach allen verfügbaren Modellen abfragen, indem Sie die Funktion ListOllamaModels verwenden. Dies kann beispielsweise nützlich sein, um eine Modellauswahl in Ihrer Benutzeroberfläche dynamisch zu befüllen. Der Helfer GetModelNames extrahiert zur Vereinfachung nur die Namensstrings aus dem Ergebnis.

List Ollama Models

Fehlerbehandlung

Beim Senden von Anfragen ist es entscheidend, potenzielle Fehler zu behandeln, indem Sie den ErrorStatus in Ihrem Callback überprüfen. Der ErrorStatus liefert Informationen über Probleme, die während der Anfrage auftreten können.

Error Handling

Anforderungen abbrechen

Das Plugin ermöglicht es Ihnen, sowohl Text-zu-Text- als auch TTS-Anforderungen abzubrechen, während sie noch in Bearbeitung sind. Dies kann nützlich sein, wenn Sie eine lang laufende Anfrage unterbrechen oder den Gesprächsverlauf dynamisch ändern möchten.

Anforderung abbrechen

Best Practices

  1. Behandle potenzielle Fehler immer durch Überprüfung des ErrorStatus in Ihrem Callback
  2. Achten Sie auf API-Ratenlimits und Kosten für jeden Anbieter
  3. Verwenden Sie den Streaming-Modus für lange oder interaktive Konversationen
  4. Erwägen Sie, Anfragen abzubrechen, die nicht mehr benötigt werden, um Ressourcen effizient zu verwalten
  5. Verwenden Sie Streaming-TTS für längere Texte, um die wahrgenommene Latenz zu reduzieren
  6. Für die Audioverarbeitung bietet das Runtime Audio Importer Plugin eine praktische Lösung, Sie können jedoch basierend auf Ihren Projektanforderungen eine benutzerdefinierte Verarbeitung implementieren
  7. Bei der Verwendung von Reasoning-Modellen (DeepSeek Reasoner, Grok) behandeln Sie sowohl die Reasoning- als auch die Inhaltsausgaben angemessen
  8. Entdecken Sie verfügbare Stimmen mithilfe von Voice-Listing-APIs, bevor Sie TTS-Funktionen implementieren
  9. Für ElevenLabs Chunked Streaming: Verwenden Sie den kontinuierlichen Modus, wenn Text inkrementell generiert wird (wie bei KI-Antworten), und den sofortigen Modus für vorgeformte Textblöcke
  10. Konfigurieren Sie angemessene Flush-Timeouts für den kontinuierlichen Modus, um Reaktionsfähigkeit mit einem natürlichen Sprachfluss auszugleichen
  11. Wählen Sie optimale Chunk-Größen und Sendeverzögerungen basierend auf den Echtzeitanforderungen Ihrer Anwendung
  12. Für Ollama: Verwenden Sie ListOllamaModels, um verfügbare Modelle dynamisch zu entdecken, anstatt Modellnamen fest zu kodieren

Fehlerbehebung

  • Überprüfen Sie, ob Ihre API-Anmeldedaten für jeden Anbieter korrekt sind
  • Überprüfen Sie Ihre Internetverbindung
  • Stellen Sie sicher, dass alle von Ihnen verwendeten Audioverarbeitungsbibliotheken (wie Runtime Audio Importer) ordnungsgemäß installiert sind, wenn Sie mit TTS-Funktionen arbeiten
  • Vergewissern Sie sich, dass Sie das richtige Audioformat bei der Verarbeitung von TTS-Antwortdaten verwenden
  • Stellen Sie für Streaming-TTS sicher, dass Sie Audioblöcke korrekt verarbeiten
  • Stellen Sie für Reasoning-Modelle sicher, dass Sie sowohl Reasoning- als auch Inhaltsausgaben verarbeiten
  • Überprüfen Sie die anbieterspezifische Dokumentation auf Modellverfügbarkeit und -fähigkeiten
  • Für ElevenLabs Chunked Streaming: Stellen Sie sicher, dass Sie FinishChunkedStreaming aufrufen, wenn Sie fertig sind, um die Sitzung ordnungsgemäß zu schließen
  • Bei Problemen mit dem kontinuierlichen Modus: Überprüfen Sie, ob Satzgrenzen in Ihrem Text korrekt erkannt werden
  • Für Echtzeitanwendungen: Passen Sie Chunk-Sendeverzögerungen und Flush-Timeouts basierend auf Ihren Latenzanforderungen an
  • Für Ollama: Stellen Sie sicher, dass der Ollama-Server läuft und unter der konfigurierten BaseUrl erreichbar ist, bevor Sie Anfragen senden