Przejdź do głównej zawartości

Jak używać wtyczki

Runtime AI Chatbot Integrator oferuje dwie główne funkcjonalności: czat Tekst-do-Tekstu oraz Tekst-na-Mowę (TTS). Obie funkcje działają według podobnego schematu:

  1. Zarejestruj swój token dostawcy API
  2. Skonfiguruj ustawienia specyficzne dla danej funkcji
  3. Wyślij żądania i przetwarzaj odpowiedzi

Zarejestruj Token Dostawcy

Przed wysłaniem jakichkolwiek żądań, zarejestruj swój token dostawcy API za pomocą funkcji RegisterProviderToken.

notatka

Ollama działa lokalnie i nie wymaga tokena API. Możesz pominąć ten krok dla Ollama.

Zarejestruj Token Dostawcy w Blueprint

Funkcjonalność Czatu Tekst-do-Tekst

Wtyczka obsługuje dwa tryby żądań czatu dla każdego dostawcy:

Niestrumieniowe Żądania Czatu

Pobierz pełną odpowiedź w jednym wywołaniu.

Wyślij Żądanie Czatu OpenAI

Przesyłanie strumieniowe żądań czatu

Otrzymuj fragmenty odpowiedzi w czasie rzeczywistym, aby zapewnić bardziej dynamiczną interakcję.

Wyślij strumieniowe żądanie czatu OpenAI

Funkcjonalność Zamiany Tekstu na Mowę (TTS)

Konwertuj tekst na wysokiej jakości dźwięk mowy przy użyciu wiodących dostawców TTS. Wtyczka zwraca surowe dane audio (TArray<uint8>), które możesz przetworzyć zgodnie z potrzebami swojego projektu.

Podczas gdy poniższe przykłady demonstrują przetwarzanie audio do odtwarzania przy użyciu wtyczki Runtime Audio Importer (zobacz dokumentację importowania audio), Runtime AI Chatbot Integrator jest zaprojektowany tak, aby być elastyczny. Wtyczka po prostu zwraca surowe dane audio, dając Ci pełną swobodę w sposobie ich przetwarzania dla konkretnego przypadku użycia, co może obejmować odtwarzanie audio, zapis do pliku, dalsze przetwarzanie audio, przesyłanie do innych systemów, niestandardowe wizualizacje i więcej.

Niestrumieniowe Żądania TTS

Niestrumieniowe żądania TTS zwracają kompletne dane audio w jednej odpowiedzi po całkowitym przetworzeniu tekstu. To podejście jest odpowiednie dla krótszych tekstów, gdzie oczekiwanie na kompletne audio nie stanowi problemu.

Wyślij Żądanie OpenAI TTS

Przesyłanie strumieniowe żądań TTS

Przesyłanie strumieniowe TTS dostarcza fragmenty audio w miarę ich generowania, umożliwiając przetwarzanie danych przyrostowo, zamiast czekać na syntezę całego nagrania. Znacząco to redukuje postrzegane opóźnienie dla dłuższych tekstów i umożliwia aplikacje działające w czasie rzeczywistym. Przesyłanie strumieniowe TTS ElevenLabs obsługuje również zaawansowane funkcje przesyłania strumieniowego z podziałem na fragmenty dla scenariuszy dynamicznego generowania tekstu.

Wyślij żądanie przesyłania strumieniowego TTS OpenAI

Pobieranie dostępnych głosów

Niektórzy dostawcy TTS oferują API do listowania głosów, umożliwiające programowe odkrywanie dostępnych głosów.

Get Google Cloud Voices

Listowanie modeli Ollama

Możesz zapytać swoją lokalną instancję Ollama o wszystkie dostępne modele za pomocą funkcji ListOllamaModels. Może to być przydatne, na przykład do dynamicznego wypełniania selektora modeli w interfejsie użytkownika. Pomocnicza funkcja GetModelNames wyodrębnia dla wygody tylko ciągi znaków z nazwami z wyniku.

List Ollama Models

Obsługa Błędów

Podczas wysyłania jakichkolwiek żądań, kluczowe jest obsłużenie potencjalnych błędów poprzez sprawdzenie ErrorStatus w swoim wywołaniu zwrotnym. ErrorStatus dostarcza informacji o wszelkich problemach, które mogą wystąpić podczas żądania.

Error Handling

Anulowanie Żądań

Wtyczka umożliwia anulowanie zarówno żądań tekst-na-tekst, jak i TTS, gdy są one w trakcie przetwarzania. Może to być przydatne, gdy chcesz przerwać długotrwałe żądanie lub dynamicznie zmienić przebieg konwersacji.

Anuluj Żądanie

Najlepsze Praktyki

  1. Zawsze obsługuj potencjalne błędy, sprawdzając ErrorStatus w swoim wywołaniu zwrotnym
  2. Zwracaj uwagę na limity szybkości API i koszty dla każdego dostawcy
  3. Używaj trybu strumieniowania dla długich lub interaktywnych konwersacji
  4. Rozważ anulowanie żądań, które nie są już potrzebne, aby efektywnie zarządzać zasobami
  5. Używaj strumieniowego TTS dla dłuższych tekstów, aby zmniejszyć postrzegane opóźnienie
  6. Do przetwarzania dźwięku, wtyczka Runtime Audio Importer oferuje wygodne rozwiązanie, ale możesz zaimplementować własne przetwarzanie w oparciu o potrzeby swojego projektu
  7. Używając modeli wnioskujących (DeepSeek Reasoner, Grok), odpowiednio obsługuj zarówno wyjścia z rozumowania, jak i treści
  8. Odkrywaj dostępne głosy za pomocą API listowania głosów przed implementacją funkcji TTS
  9. Dla strumieniowania ElevenLabs z podziałem na fragmenty: Używaj trybu ciągłego, gdy tekst jest generowany przyrostowo (jak odpowiedzi AI) i trybu natychmiastowego dla wcześniej utworzonych fragmentów tekstu
  10. Konfiguruj odpowiednie limity czasu opróżniania dla trybu ciągłego, aby zrównoważyć responsywność z naturalnym przepływem mowy
  11. Wybieraj optymalne rozmiary fragmentów i opóźnienia wysyłki w oparciu o wymagania czasu rzeczywistego Twojej aplikacji
  12. Dla Ollama: Używaj ListOllamaModels, aby dynamicznie odkrywać dostępne modele, zamiast na stałe wpisywać ich nazwy

Rozwiązywanie Problemów

  • Sprawdź, czy Twoje dane uwierzytelniające API są poprawne dla każdego dostawcy
  • Sprawdź swoje połączenie internetowe
  • Upewnij się, że wszelkie używane biblioteki do przetwarzania dźwięku (takie jak Runtime Audio Importer) są poprawnie zainstalowane podczas pracy z funkcjami TTS
  • Sprawdź, czy używasz poprawnego formatu audio podczas przetwarzania danych odpowiedzi TTS
  • Dla strumieniowego TTS, upewnij się, że poprawnie obsługujesz fragmenty audio
  • Dla modeli wnioskujących, upewnij się, że przetwarzasz zarówno wyjścia z rozumowania, jak i treści
  • Sprawdź dokumentację specyficzną dla dostawcy pod kątem dostępności i możliwości modeli
  • Dla strumieniowania ElevenLabs z podziałem na fragmenty: Upewnij się, że wywołujesz FinishChunkedStreaming po zakończeniu, aby poprawnie zamknąć sesję
  • W przypadku problemów z trybem ciągłym: Sprawdź, czy granice zdań są poprawnie wykrywane w Twoim tekście
  • Dla aplikacji czasu rzeczywistego: Dostosuj opóźnienia wysyłki fragmentów i limity czasu opróżniania w oparciu o swoje wymagania dotyczące opóźnienia
  • Dla Ollama: Upewnij się, że serwer Ollama jest uruchomiony i dostępny pod skonfigurowanym BaseUrl przed wysłaniem żądań