Narzędzia rozszerzają możliwości modeli Gemini, umożliwiając im podejmowanie działań w świecie rzeczywistym, dostęp do informacji w czasie rzeczywistym i wykonywanie złożonych zadań obliczeniowych. Modele mogą korzystać z narzędzi zarówno w standardowych interakcjach typu żądanie-odpowiedź, jak i w sesjach przesyłania strumieniowego w czasie rzeczywistym za pomocą interfejsu Live API.
Narzędzia to konkretne funkcje (takie jak wyszukiwarka Google czy wykonywanie kodu), których model może używać do odpowiadania na zapytania. Interfejs Gemini API udostępnia zestaw w pełni zarządzanych, wbudowanych narzędzi. Możesz też zdefiniować narzędzia niestandardowe za pomocą wywoływania funkcji.
Aby tworzyć wieloetapowe systemy zorientowane na cel, zapoznaj się z omówieniem agentów.
Dostępne narzędzia wbudowane
| Narzędzie | Opis | Przypadki użycia |
|---|---|---|
| Wyszukiwarka Google | Uzasadniaj odpowiedzi aktualnymi wydarzeniami i faktami z internetu, aby ograniczyć halucynacje. | \- Odpowiadanie na pytania o bieżące wydarzenia. \- Weryfikowanie faktów za pomocą różnych źródeł. |
| Mapy Google | Twórz asystentów rozpoznających lokalizację, którzy mogą znajdować miejsca, wyznaczać trasy i dostarczać bogaty kontekst lokalny. | \- Planowanie tras podróży z wieloma przystankami \- Znajdowanie lokalnych firm na podstawie kryteriów użytkownika. |
| Wykonywanie kodu | Pozwól modelowi pisać i uruchamiać kod w Pythonie, aby rozwiązywać problemy matematyczne lub dokładnie przetwarzać dane. | \- Rozwiązywanie złożonych równań matematycznych \- Precyzyjne przetwarzanie i analizowanie danych tekstowych |
| Kontekst adresu URL | Poproś model o przeczytanie i przeanalizowanie treści z określonych stron internetowych lub dokumentów. | \- Odpowiadanie na pytania na podstawie konkretnych adresów URL lub dokumentów \- Pobieranie informacji z różnych stron internetowych. |
| Korzystanie z komputera (wersja testowa) | Zezwól Gemini na wyświetlanie ekranu i generowanie działań w celu interakcji z interfejsami przeglądarek internetowych (wykonywanie po stronie klienta). | \- Automatyzowanie powtarzalnych przepływów pracy w internecie. \- Testowanie interfejsów aplikacji internetowych. |
| Wyszukiwanie plików | Indeksuj i przeszukuj własne dokumenty, aby włączyć generowanie wspomagane wyszukiwaniem (RAG). | \- Przeszukiwanie podręczników technicznych \- Odpowiadanie na pytania na podstawie danych zastrzeżonych |
Szczegółowe informacje o kosztach związanych z konkretnymi narzędziami znajdziesz na stronie Cennik.
Jak działa wykonywanie narzędzi
Narzędzia umożliwiają modelowi żądanie działań podczas rozmowy. Przepływ różni się w zależności od tego, czy narzędzie jest wbudowane (zarządzane przez Google) czy niestandardowe (zarządzane przez Ciebie).
Przepływ narzędzia wbudowanego
W przypadku narzędzi wbudowanych (wyszukiwarka Google, Mapy Google, kontekst adresu URL, wyszukiwanie plików, wykonywanie kodu) cały proces odbywa się w ramach jednego wywołania interfejsu API:
- Ty wysyłasz prompta: „Ile wynosi pierwiastek kwadratowy z najnowszej ceny akcji GOOG?”
- Gemini stwierdza, że potrzebuje narzędzi, i uruchamia je na serwerach Google (np. wyszukuje cenę akcji, a następnie uruchamia kod w Pythonie, aby obliczyć pierwiastek kwadratowy).
- Gemini odsyła ostateczną odpowiedź opartą na wynikach narzędzia.
Przepływ narzędzia niestandardowego (wywoływanie funkcji)
W przypadku narzędzi niestandardowych i korzystania z komputera wykonywanie jest obsługiwane przez Twoją aplikację:
- Ty wysyłasz prompta wraz z deklaracjami funkcji (narzędzi).
- Gemini może odesłać uporządkowany kod JSON, aby wywołać konkretną funkcję
(np.
{"name": "get_order_status", "args": {"order_id": "123"}}), zawsze z unikalnymid. - Ty uruchamiasz funkcję w swojej aplikacji lub środowisku.
- Ty odsyłasz wyniki funkcji z tym samym
idco wywołanie funkcji. - Gemini używa wyników do wygenerowania ostatecznej odpowiedzi lub innego wywołania narzędzia.
Więcej informacji znajdziesz w przewodniku po wywoływaniu funkcji.
Łączenie przepływu narzędzi wbudowanych i niestandardowych
W przypadku żądań, które łączą narzędzia wbudowane i narzędzia niestandardowe (wywołania funkcji), model używa obiegu kontekstu narzędzia do koordynowania wykonywania w różnych środowiskach:
- Ty wysyłasz prompta i deklarujesz narzędzia wbudowane oraz funkcje niestandardowe, które chcesz włączyć, ustawiając flagę, aby włączyć obsługę kombinacji.
- Gemini uruchamia narzędzia wbudowane i przekazuje kontrolę użytkownikowi, jeśli zostaną wygenerowane wywołania funkcji po stronie klienta (kolejność zależy od prompta i decyzji modelu). Odsyła odpowiedź zawierającą:
- potwierdzenie wywołania narzędzia;
- wyniki odpowiedzi narzędzia (mogą one pojawić się po kodzie JSON, jeśli model wygenerował 2 równoległe wywołania funkcji);
- uporządkowany kod JSON do wywołania funkcji;
- zaszyfrowane sygnatury myśli, aby zachować kontekst.
- Ty uruchamiasz funkcję w swojej aplikacji lub środowisku.
- Ty zwracasz wszystkie części odpowiedzi Gemini oraz wyniki wywołania funkcji.
- Gemini generuje ostateczną odpowiedź, używając całego połączonego kontekstu.
Aby dowiedzieć się, jak włączyć obsługę łączenia narzędzi wbudowanych i niestandardowych, oraz poznać przykłady obiegu kontekstu, przeczytaj przewodnik po łączeniu narzędzi.
Uporządkowane dane wyjściowe a wywoływanie funkcji
Gemini oferuje 2 metody generowania uporządkowanych danych wyjściowych. Używaj wywoływania funkcji gdy model musi wykonać krok pośredni, łącząc się z Twoimi narzędziami lub systemami danych. Używaj uporządkowanych danych wyjściowych, gdy ostateczna odpowiedź modelu musi być ściśle zgodna z określonym schematem, np. w celu renderowania niestandardowego interfejsu.
Uporządkowane dane wyjściowe z narzędziami
Możesz łączyć uporządkowane dane wyjściowe z narzędziami wbudowanymi, aby mieć pewność, że odpowiedzi modelu oparte na danych zewnętrznych lub obliczeniach nadal będą zgodne z określonym schematem.
Przykłady kodu znajdziesz w artykule Uporządkowane dane wyjściowe z narzędziami.