Przejdź do nawigacji

Nadpisania

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

Nadpisania są nadal obsługiwane przy całkowitym zastępowaniu promptów systemowych lub pierwszych wiadomości, ale zalecamy używanie zmiennych dynamicznych jako preferowanego sposobu dostosowywania odpowiedzi agenta i przekazywania danych w czasie rzeczywistym. Zmienne dynamiczne ułatwiają utrzymanie i zapewniają 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ę z użyciem kontekstu w czasie rzeczywistym. Nadpisania całkowicie zastępują domyślne wartości agenta ustawione w jego panelu.

Przegląd

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)
  • Narzędzia
  • Baza wiedzy
  • Tryb tylko tekstowy
  • Stabilność
  • Szybkość
  • Wzmocnienie podobieństwa
  • Słowa kluczowe ASR
  • Procedury

Nadpisanie Procedur 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 pola, ich podanie nadal jest opcjonalne. Jeśli ich nie podasz, agent użyje wartości domyślnych ustawionych w jego panelu. W przypadku większości pól wystąpi błąd, jeśli podasz nadpisanie dla pola, które nie ma włączonych nadpisań.

Słowa kluczowe ASR stosują łagodne blokowanie: jeśli przełącznik zabezpieczeń 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 zabezpieczeń, jeśli chcesz stosować wzmacnianie słów kluczowych dla każdej rozmowy. Obsługiwanych jest do 50 słów kluczowych na rozmowę.

Oto kilka przykładów, w których nadpisania mogą być przydatne:

  • Witaj użytkowników po imieniu
  • Uwzględniaj szczegóły 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
  • Wzmacniaj transkrypcję nazw lub terminów z danego połączenia (na przykład nazw firm z 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 agenta: prompt systemowy, pierwszą wiadomość, LLM, narzędzia, bazę 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 zezwolić nadpisywać, na przykład first_message, prompt.prompt, 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, na przykład LLM.

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": {
"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.
"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()

Przy korzystaniu z nadpisań pomiń pola, których nie chcesz nadpisywać, zamiast ustawiać je jako puste ciągi znaków 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.