Narzędzia webhook

Połącz asystenta z zewnętrznymi danymi i systemami.

Narzędzia pozwalają twojemu asystentowi łączyć się z zewnętrznymi danymi i systemami. Możesz zdefiniować zestaw narzędzi, do których asystent ma dostęp, a on użyje ich tam, gdzie będzie to potrzebne w zależności od rozmowy.

Omówienie

Wiele aplikacji wymaga, by asystenci wywoływali zewnętrzne API, aby uzyskać informacje w czasie rzeczywistym. Narzędzia dają asystentowi możliwość wywoływania zewnętrznych funkcji w aplikacjach innych firm, dzięki czemu możesz uzyskiwać informacje w czasie rzeczywistym.

Oto kilka przykładów, kiedy narzędzia mogą się przydać:

  • Pobieranie danych: pozwól asystentowi pobierać dane w czasie rzeczywistym z dowolnej bazy danych obsługującej REST lub integracji innej firmy przed odpowiedzią użytkownikowi.
  • Podejmowanie działań: pozwól asystentowi uruchamiać uwierzytelnione działania na podstawie rozmowy, np. planować spotkania lub inicjować zwroty zamówień.

Aby wchodzić w interakcje z interfejsami aplikacji lub uruchamiać zdarzenia po stronie klienta, użyj zamiast tego narzędzi klienta.

Konfiguracja narzędzia

Agenci ElevenLabs mogą być wyposażeni w narzędzia do interakcji z zewnętrznymi API. W przeciwieństwie do tradycyjnych żądań asystent dynamicznie generuje parametry query, body i path na podstawie rozmowy oraz podanych przez ciebie opisów parametrów.

Wszystkie konfiguracje narzędzi i opisy parametrów pomagają asystentowi określić, kiedy i jak używać tych narzędzi. Aby skutecznie koordynować użycie narzędzi, zaktualizuj system prompt asystenta, aby określić kolejność i logikę tych wywołań. Obejmuje to:

  • Którego narzędzia użyć i w jakich warunkach.
  • Jakich parametrów potrzebuje narzędzie, aby działać poprawnie.
  • Jak obsługiwać odpowiedzi.

Zdefiniuj ogólną Name i Description, które opisują przeznaczenie narzędzia. Pomaga to modelowi LLM zrozumieć narzędzie i wiedzieć, kiedy je wywołać.

Jeśli API wymaga parametrów path, dodaj zmienne w ścieżce URL, umieszczając je w nawiasach klamrowych {}, na przykład: /api/resource/{id}, gdzie id jest parametrem path.

Konfiguracja

Przewodnik

W tym przewodniku utworzymy asystenta pogodowego, który może podawać informacje o pogodzie w czasie rzeczywistym dla dowolnej lokalizacji. Asystent użyje swojej wiedzy geograficznej, aby przekształcić nazwy lokalizacji we współrzędne i pobrać dokładne dane pogodowe.

1

Skonfiguruj narzędzie pogodowe

Narzędzie pogodowe wysyła żądania GET do https://api.open-meteo.com/v1/forecast z latitude i longitude jako parametrami path podawanymi przez LLM.

W sekcji Agent na stronie ustawień agenta wybierz Add Tool. Wybierz Webhook jako typ narzędzia, a następnie skonfiguruj integrację z API pogodowym za pomocą tych wartości:

Dodaj dwa parametry path z typem wartości LLM Prompt:

Typ danychIdentyfikatorOpis
stringlatitudeWspółrzędna szerokości geograficznej żądanej lokalizacji
stringlongitudeWspółrzędna długości geograficznej żądanej lokalizacji

To narzędzie nie wymaga klucza API. Jeśli jest wymagany, przekaż go w nagłówkach i zapisz jako sekret.

2

Koordynacja

Skonfiguruj asystenta, aby inteligentnie obsługiwał zapytania o pogodę, używając tego system prompta:

System prompt
You are a helpful conversational agent with access to a weather tool. When users ask about
weather conditions, use the get_weather tool to fetch accurate, real-time data. The tool requires
a latitude and longitude - use your geographic knowledge to convert location names to coordinates
accurately.
Never ask users for coordinates - you must determine these yourself. Always report weather
information conversationally, referring to locations by name only. For weather requests:
1. Extract the location from the user's message
2. Convert the location to coordinates and call get_weather
3. Present the information naturally and helpfully
For non-weather queries, provide friendly assistance within your knowledge boundaries. Always be
concise, accurate, and helpful.
First message: "Hey, how can I help you today?"

Przetestuj asystenta, pytając o pogodę w różnych lokalizacjach. Asystent powinien obsługiwać konkretne lokalizacje (“Jaka jest pogoda w Tokio?”) i prosić o doprecyzowanie po ogólnych pytaniach (“Jak wygląda dziś pogoda?”).

Obsługiwane metody uwierzytelniania

ElevenLabs Agents obsługuje wiele metod uwierzytelniania, które pozwalają bezpiecznie łączyć narzędzia z zewnętrznymi API. Metody uwierzytelniania konfigurujesz w ustawieniach agenta, a następnie w razie potrzeby łączysz z poszczególnymi narzędziami.

Połączenie uwierzytelniania workspace

Po konfiguracji możesz połączyć te metody uwierzytelniania z narzędziami i zarządzać własnymi nagłówkami w konfiguracji narzędzia:

Połączenie uwierzytelniania narzędzia

OAuth2 Client Credentials

Automatycznie obsługuje przepływ OAuth2 client credentials. Skonfiguruj go za pomocą ID klienta, sekretu klienta i URL tokenu (np. https://api.example.com/oauth/token). Opcjonalnie określ scope’y jako wartości rozdzielone przecinkami oraz dodatkowe parametry JSON. Aby skonfigurować, kliknij Add Auth w Workspace Auth Connections w sekcji Agent na stronie ustawień agenta.

OAuth2 JWT

Używa uwierzytelniania JSON Web Token dla przepływu OAuth 2.0 JWT Bearer. Wymaga sekretu podpisywania JWT, URL tokenu i algorytmu (domyślnie: HS256). Skonfiguruj deklaracje JWT, w tym wystawcę, odbiorcę i podmiot. Opcjonalnie ustaw ID klucza, czas wygaśnięcia (domyślnie: 3600 sekund), scope’y i dodatkowe parametry. Aby skonfigurować, kliknij Add Auth w Workspace Auth Connections w sekcji Agent na stronie ustawień agenta.

Uwierzytelnianie podstawowe

Proste uwierzytelnianie nazwą użytkownika i hasłem dla API obsługujących HTTP Basic Auth. Aby skonfigurować, kliknij Add Auth w Workspace Auth Connections w sekcji Agent na stronie ustawień agenta.

Tokeny Bearer

Uwierzytelnianie oparte na tokenie, które dodaje wartość tokenu bearer do nagłówka żądania. Skonfiguruj je, dodając nagłówek do konfiguracji narzędzia, wybierając Secret jako typ nagłówka i klikając Create New Secret.

Własne nagłówki

Dodaj własne nagłówki uwierzytelniania o dowolnej nazwie i wartości dla zastrzeżonych metod uwierzytelniania. Skonfiguruj je, dodając nagłówek do konfiguracji narzędzia i określając jego name oraz value.

Dobre praktyki

Nazywaj narzędzia intuicyjnie i dodawaj szczegółowe opisy

Jeśli asystent nie wywołuje właściwych narzędzi, być może trzeba zaktualizować ich nazwy i opisy, aby lepiej rozumiał, kiedy wybrać każde z nich. Nie używaj skrótów ani akronimów, by skracać nazwy narzędzi i argumentów.

Możesz też dodać szczegółowe opisy, kiedy należy wywołać dane narzędzie. W przypadku złożonych narzędzi warto opisać każdy argument, aby asystent wiedział, o co musi zapytać użytkownika, by uzyskać dany argument.

Nazywaj parametry narzędzi intuicyjnie i dodawaj szczegółowe opisy

Używaj jasnych, opisowych nazw parametrów narzędzi. Jeśli ma to zastosowanie, określ w opisie oczekiwany format parametru (np. YYYY-mm-dd lub dd/mm/yy dla daty).

Rozważ dodanie informacji o tym, jak i kiedy wywoływać narzędzia, do promptu systemowego asystenta

Jasne instrukcje w prompcie systemowym mogą znacznie poprawić trafność wywoływania narzędzi przez asystenta. Na przykład poprowadź asystenta instrukcjami takimi jak poniżej:

Use `check_order_status` when the user inquires about the status of their order, such as 'Where is my order?' or 'Has my order shipped yet?'.

Dodaj kontekst w złożonych sytuacjach. Na przykład:

Before scheduling a meeting with `schedule_meeting`, check the user's calendar for availability using check_availability to avoid conflicts.

Wybór LLM

Podczas korzystania z narzędzi zalecamy wybór modeli o wysokich zdolnościach rozumowania, takich jak GPT 6 lub Claude Sonnet 5.5.

Wybór LLM ma znaczenie dla skuteczności wywołań funkcji. Niektóre LLM mogą mieć trudności z wyciąganiem istotnych parametrów z rozmowy.

Dźwięki wywołań narzędzi

Możesz skonfigurować dźwięk otoczenia odtwarzany podczas działania narzędzia, aby poprawić doświadczenie użytkownika. Dowiedz się więcej o dźwiękach wywołań narzędzi.