Przejdź do nawigacji

Nadpisania

Dostosuj każdą rozmowę dzięki spersonalizowanemu kontekstowi dla każdego użytkownika.

Choć nadpisania nadal obsługują całkowite zastępowanie promptów systemowych lub pierwszych wiadomości, zalecamy użycie zmiennych dynamicznych jako preferowanego sposobu dostosowywania odpowiedzi agenta i wstrzykiwania danych w czasie rzeczywistym. Zmienne dynamiczne są łatwiejsze w utrzymaniu i oferują bardziej uporządkowane podejście do personalizacji.

Nadpisania pozwalają asystentowi dostosować zachowanie do każdej interakcji z użytkownikiem. Na początku każdej rozmowy możesz przekazać własne dane i ustawienia, dzięki czemu asystent spersonalizuje odpowiedzi i wiedzę, korzystając z kontekstu w czasie rzeczywistym. Nadpisania całkowicie zastępują domyślne wartości agenta ustawione w jego panelu.

Omówienie

Nadpisania pozwalają zmieniać zachowanie agenta AI w czasie rzeczywistym bez tworzenia wielu agentów. Dzięki temu możesz personalizować odpowiedzi danymi konkretnego użytkownika.

Nadpisania można włączyć dla następujących pól w ustawieniach zabezpieczeń agenta:

  • Prompt systemowy
  • Pierwsza wiadomość
  • Język
  • ID głosu
  • LLM (Large Language Model)
  • Poziom wysiłku rozumowania LLM
  • Narzędzia
  • Baza wiedzy
  • Tryb tylko tekstowy
  • Stabilność
  • Szybkość
  • Zwiększenie podobieństwa
  • Słowa kluczowe ASR
  • Procedury

Nadpisanie Procedury nie używa conversation_config_override. Zamiast tego klient przekazuje procedure_ids i start_procedure_ids na najwyższym poziomie danych klienta inicjujących rozmowę. Zobacz Wybieranie procedur dla każdej rozmowy.

Gdy nadpisania są włączone dla danego pola, ich podanie nadal jest opcjonalne. Jeśli ich nie podasz, agent użyje domyślnych wartości ustawionych w jego panelu. W przypadku większości pól wystąpi błąd, jeśli podasz nadpisanie dla pola, w którym nadpisania nie są włączone.

Słowa kluczowe ASR korzystają z miękkiego blokowania: jeśli przełącznik w sekcji Security jest wyłączony, a klient nadal wysyła asr.keywords, rozmowa jest kontynuowana, a słowa kluczowe są ignorowane (bez błędu). Włącz nadpisanie słów kluczowych ASR w ustawieniach Security, jeśli chcesz stosować zwiększanie wagi słów kluczowych dla każdej rozmowy. Obsługiwanych jest maksymalnie 50 słów kluczowych na rozmowę.

Wysiłek rozumowania musi być poziomem obsługiwanym przez LLM agenta. W przeciwnym razie rozmowa nie rozpocznie się, a połączenie zostanie zamknięte z błędem wskazującym nieobsługiwany poziom. Jeśli przełącznik w sekcji Security jest wyłączony, prompt.reasoning_effort jest ignorowane i używany jest zapisany wysiłek rozumowania agenta. Wartość jest stała dla całej rozmowy i nie można jej zmienić po jej rozpoczęciu.

Oto kilka przykładów, gdy nadpisania mogą się przydać:

  • Witaj użytkowników po imieniu
  • Uwzględniaj dane konkretnego konta w odpowiedziach
  • Dostosuj język agenta lub ton do preferencji użytkownika
  • Przekazuj dane w czasie rzeczywistym, takie jak saldo konta lub status zamówienia
  • Popraw transkrypcję nazw lub terminów z konkretnego połączenia (na przykład nazw firm w CRM) za pomocą słów kluczowych ASR

Nadpisania są szczególnie przydatne w aplikacjach wymagających spersonalizowanych interakcji lub obsługujących wrażliwe dane użytkowników, których nie należy przechowywać w podstawowej konfiguracji agenta.

Przewodnik

Wymagania wstępne

Ten przewodnik pokazuje, jak nadpisać domyślne ustawienia: prompt systemowy, pierwsza wiadomość, LLM, wysiłek rozumowania, narzędzia, baza wiedzy, ustawienia TTS i słowa kluczowe ASR.

1

Włącz nadpisania

Ze względów bezpieczeństwa nadpisania są domyślnie wyłączone. Włącz pola, które chcesz pozwolić nadpisywać, na przykład first_message, prompt.prompt, prompt.reasoning_effort, prompt.tool_ids, prompt.knowledge_base, language lub asr.keywords.

Przejdź do ustawień agenta i wybierz kartę Security. Włącz First message, System prompt, Tools, Knowledge base, ASR keywords oraz inne potrzebne nadpisania, takie jak LLM lub Reasoning effort.

Włącz nadpisania

2

Nadpisz ustawienia rozmowy

W kodzie, w miejscu rozpoczęcia rozmowy, przekaż nadpisania jako parametr. Nadpisania narzędzi i bazy wiedzy zastępują domyślne tablice dla tej rozmowy. Nadpisania słów kluczowych ASR zastępują domyślną listę słów kluczowych agenta dla tej rozmowy (maksymalnie 50 słów kluczowych).

Dane inicjujące rozmowę
{
"conversation_config_override": {
"agent": {
"prompt": {
"reasoning_effort": "high",
"tool_ids": ["tool_7101k5zvyjhmfg983brhmhkd98n6"],
"knowledge_base": [
{
"type": "file",
"name": "Unladen Swallow Facts",
"id": "5xM3yVvZQKV0EfqQpLrJ",
"usage_mode": "auto"
}
]
}
},
"asr": {
"keywords": ["Acme Corp", "Contoso", "Globex"]
}
}
}

Upewnij się, że masz zainstalowaną najnowszą wersję SDK.

from elevenlabs.conversational_ai.conversation import Conversation, ConversationInitiationData
...
conversation_override = {
"agent": {
"prompt": {
"prompt": f"The customer's bank account balance is {customer_balance}. They are based in {customer_location}.", # Optional: override the system prompt.
"llm": "gpt-4o", # Optional: override the LLM model.
"reasoning_effort": "high", # Optional: override the reasoning effort. Requires Security → Reasoning effort.
"tool_ids": [
"tool_7101k5zvyjhmfg983brhmhkd98n6"
], # Optional: replace the tools available to the agent.
"knowledge_base": [
{
"type": "file",
"name": "Unladen Swallow Facts",
"id": "5xM3yVvZQKV0EfqQpLrJ",
"usage_mode": "auto",
}
], # Optional: replace the knowledge base available to the agent.
},
"first_message": f"Hi {customer_name}, how can I help you today?", # Optional: override the first_message.
"language": "en" # Optional: override the language.
},
"tts": {
"voice_id": "custom_voice_id", # Optional: override the voice.
"stability": 0.7, # Optional: override stability (0.0 to 1.0).
"speed": 1.1, # Optional: override speed (0.7 to 1.2).
"similarity_boost": 0.9 # Optional: override similarity boost (0.0 to 1.0).
},
"conversation": {
"text_only": True # Optional: enable text-only mode (no audio).
},
"asr": {
"keywords": ["Acme Corp", "Contoso"] # Optional: boost ASR for per-call terms (max 50). Requires Security → ASR keywords.
}
}
config = ConversationInitiationData(
conversation_config_override=conversation_override
)
conversation = Conversation(
...
config=config,
...
)
conversation.start_session()

Korzystając z nadpisań, pomiń pola, których nie chcesz nadpisywać, zamiast ustawiać je jako puste ciągi lub wartości null. Uwzględniaj tylko pola, które chcesz dostosować.

Aby znaleźć właściwy ciąg modelu LLM, sprawdź dokumentację API agenta, która zawiera wszystkie obsługiwane modele LLM i ich dokładne identyfikatory tekstowe.