Przejdź do nawigacji

Tryb czatu

Skonfiguruj agenta do rozmów wyłącznie tekstowych w trybie czatu

Tryb czatu pozwala agentom działać jako agenci czatu, czyli prowadzić rozmowy wyłącznie tekstowe bez wejścia/wyjścia audio. Jest przydatny do tworzenia interfejsów czatu, testowania agentów lub gdy audio nie jest potrzebne.

Omówienie

Tryb czatu można włączyć na dwa główne sposoby:

  1. Konfiguracja agenta: Skonfiguruj agenta w trybie wyłącznie tekstowym podczas tworzenia go przez API
  2. Nadpisania w czasie działania: Użyj nadpisań SDK, aby programowo wymusić rozmowy wyłącznie tekstowe

Ten przewodnik obejmuje oba podejścia oraz wdrażanie trybu czatu w różnych SDK.

Tworzenie agentów wyłącznie tekstowych

Skonfiguruj agenta w trybie wyłącznie tekstowym, aby był on domyślny dla każdej rozmowy z tym agentem.

Otwórz agenta w panelu, przejdź do karty Advanced i włącz przełącznik Text only. Zapisz zmiany.

Pełną dokumentację API i wszystkie dostępne opcje konfiguracji znajdziesz w opisie pola text only w dokumentacji Create Agent API .

Nadpisania w czasie działania dla trybu wyłącznie tekstowego

Aby włączyć tryb czatu w czasie działania za pomocą nadpisań (zamiast konfigurować go na poziomie agenta), możesz użyć nadpisania textOnly w konfiguracji rozmowy:

from elevenlabs.client import ElevenLabs
from elevenlabs.conversational_ai.conversation import Conversation, ConversationInitiationData
# Configure for text-only mode with proper structure
conversation_override = {
"conversation": {
"text_only": True
}
}
config = ConversationInitiationData(
conversation_config_override=conversation_override
)
conversation = Conversation(
elevenlabs,
agent_id,
requires_auth=bool(api_key),
config=config,
# Important: Ensure agent_response callback is set
callback_agent_response=lambda response: print(f"Agent: {response}"),
callback_user_transcript=lambda transcript: print(f"User: {transcript}"),
)
conversation.start_session()

Ta konfiguracja zapewnia, że:

  • Nie jest używane wejście/wyjście audio
  • Cała komunikacja odbywa się przez wiadomości tekstowe
  • Rozmowa działa w interfejsie przypominającym czat

Ważne uwagi

Krytyczne: Korzystając z trybu czatu, musisz upewnić się, że zdarzenie/callback agent_response jest aktywowane i poprawnie skonfigurowane. Bez tego odpowiedzi tekstowe agenta nie zostaną wysłane ani wyświetlone użytkownikowi.

Nadpisania zabezpieczeń: Gdy używasz nadpisań w czasie działania (a nie konfiguracji na poziomie agenta), musisz włączyć nadpisania rozmowy w ustawieniach zabezpieczeń agenta. Przejdź do karty Security agenta i włącz odpowiednie nadpisania. Więcej informacji znajdziesz w dokumentacji nadpisań.

Kluczowe wymagania

  1. Zdarzenie odpowiedzi agenta: Zawsze konfiguruj callback agent_response lub procedurę obsługi zdarzenia, aby odbierać i wyświetlać wiadomości tekstowe agenta.

  2. Konfiguracja agenta: Jeśli agent jest ustawiony w trybie czatu w ustawieniach agenta, automatycznie będzie używać rozmów wyłącznie tekstowych bez potrzeby stosowania nadpisania.

  3. Brak interfejsu audio: W trybie wyłącznie tekstowym nie musisz konfigurować interfejsów audio ani prosić o uprawnienia do mikrofonu.

Przykład: obsługa odpowiedzi agenta

def handle_agent_response(response):
"""Critical handler for displaying agent messages"""
print(f"Agent: {response}") # Update your UI with the response
update_chat_ui(response)
config = ConversationInitiationData(
conversation_config_override={"conversation": {"text_only": True}}
)
conversation = Conversation(
elevenlabs,
agent_id,
config=config,
callback_agent_response=handle_agent_response,
)
conversation.start_session()

Wysyłanie wiadomości tekstowych

W trybie czatu musisz wysyłać wiadomości użytkownika programowo zamiast przez audio:

# Send a text message to the agent
conversation.send_user_message("Hello, how can you help me today?")

Korzyści w zakresie równoległości

Tryb czatu oferuje znaczne korzyści w zakresie równoległości w porównaniu z rozmowami głosowymi:

  • Wyższe limity: Rozmowy wyłącznie tekstowe mają limity równoległości 25x wyższe niż rozmowy głosowe
  • Oddzielna pula: Rozmowy tekstowe korzystają z dedykowanej puli równoległości, niezależnej od limitów rozmów głosowych
  • Skalowalność: Idealne dla aplikacji o dużej przepustowości, takich jak obsługa klienta, chatboty czy automatyczne testy
PlanRównoległość głosowaRównoległość tylko czat
Free4100
Starter6150
Creator10250
Pro20500
Scale30750
Business30750
EnterprisePodwyższonaPodwyższona (25x)

Aby oszacować limit tylko czatu potrzebny dla twojego ruchu, użyj kalkulatora równoległości.

Podczas inicjowania połączenia rozmowy wyłącznie tekstowe są najpierw sprawdzane względem całkowitego limitu równoległości w procesie handshake, a po ustanowieniu połączenia przenoszone do oddzielnej puli równoległości tylko czatu.

Przypadki użycia

Tryb czatu idealnie nadaje się do:

  • Interfejsów czatu: Tworzenia tradycyjnych interfejsów czatu bez głosu
  • Testowania: Testowania logiki agenta bez zależności od audio
  • Dostępności: Udostępniania użytkownikom alternatyw tekstowych
  • Cichych środowisk: Sytuacji, w których wejście/wyjście audio nie jest odpowiednie
  • Testów integracyjnych: Automatycznego testowania rozmów agentów

Rozwiązywanie problemów

Agent nie odpowiada

Jeśli odpowiedzi agenta się nie pojawiają:

  1. Sprawdź, czy callback agent_response jest poprawnie skonfigurowany
  2. Sprawdź, czy agent jest skonfigurowany w trybie czatu lub czy ustawiono nadpisanie textOnly
  3. Upewnij się, że połączenie WebSocket zostało pomyślnie ustanowione

Następne kroki