Nadpisania

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

Chociaż nadpisania nadal pozwalają całkowicie zastąpić prompty systemowe lub pierwsze wiadomości, zalecamy używanie zmiennych dynamicznych jako preferowanego sposobu dostosowywania odpowiedzi agenta i wstawiania danych w czasie rzeczywistym. Zmienne dynamiczne są łatwiejsze w utrzymaniu i oferują bardziej uporządkowane podejście do personalizacji.

Nadpisania pozwalają asystentowi dostosować działanie do każdej interakcji z użytkownikiem. Na początku każdej rozmowy możesz przekazać własne dane i ustawienia, aby asystent personalizował odpowiedzi i wiedzę na podstawie kontekstu w czasie rzeczywistym. Nadpisania całkowicie zastępują domyślne wartości agenta zdefiniowane w panelu agenta.

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

Gdy nadpisania są włączone dla pola, podanie nadpisania nadal jest opcjonalne. Jeśli go nie podasz, agent użyje domyślnych wartości zdefiniowanych w panelu agenta. 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 używają miękkiego blokowania: jeśli przełącznik Security jest wyłączony, a klient nadal wyśle asr.keywords, rozmowa będzie kontynuowana, a słowa kluczowe zostaną zignorowane (bez błędu). Włącz nadpisanie słów kluczowych ASR w ustawieniach Security, jeśli chcesz stosować wzmacnianie słów kluczowych dla każdej rozmowy. Jedna rozmowa obsługuje do 50 słów kluczowych.

Oto kilka przykładów, kiedy 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
  • Wzmacniaj transkrypcję nazw lub terminów dla konkretnego połączenia (na przykład nazw firm z CRM) przez słowa kluczowe 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 promptu systemowego, pierwszej wiadomości, LLM, narzędzi, bazy wiedzy, TTS i słów kluczowych 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.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.

Włącz nadpisania

2

Nadpisz rozmowę

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 nadpisaniach pomijaj pola, których nie chcesz nadpisywać, zamiast ustawiać je na puste ciągi lub wartości null. Uwzględniaj tylko pola, które chcesz dostosować.

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