Optymalizacja i wnioskowanie w interfejsie Gemini API

Interfejs Gemini API oferuje różne mechanizmy optymalizacji, które pomagają zachować równowagę między szybkością, kosztem i niezawodnością w zależności od konkretnych potrzeb związanych z obciążeniem. Niezależnie od tego, czy tworzysz boty konwersacyjne działające w czasie rzeczywistym, czy uruchamiasz złożone potoki przetwarzania danych offline, wybór odpowiedniego paradygmatu może znacznie obniżyć koszty lub zwiększyć wydajność.

Funkcja Standardowy Flex Priorytet Wsad Buforowanie
Ceny Bilet normalny 50% zniżki 75–100% więcej niż standardowo 50% zniżki 90% rabatu + proporcjonalne miejsce na tokeny
Czas oczekiwania Sekundy na minuty Minuty (docelowo 1–15 min) Sekundy Do 24 godzin Krótszy czas do pierwszego tokena
Niezawodność Wysoka / dość wysoka Możliwie najlepsza obsługa (możliwość odrzucenia) Wysoka (niezrzucająca sierści) Wysoki (przepustowość) Nie dotyczy
Interfejs Synchroniczna Synchroniczna Synchroniczna Asynchroniczny Stan zapisany
Najlepsze zastosowanie Ogólne przepływy pracy aplikacji Sekwencyjne łańcuchy niepilne Aplikacje produkcyjne przeznaczone dla użytkowników Ogromne zbiory danych, oceny offline Powtarzające się zapytania dotyczące tego samego pliku

Poziomy usług wnioskowania (synchroniczne)

Możesz przełączać się między ruchem synchronicznym zoptymalizowanym pod kątem niezawodności a ruchem synchronicznym zoptymalizowanym pod kątem kosztów, przekazując parametr service_tier w standardowych wywołaniach generowania.

Standardowe wnioskowanie (domyślnie)

Typ Standard to domyślna opcja generowania treści sekwencyjnych. Zapewnia normalne czasy odpowiedzi bez dodatkowych opłat ani długiego oczekiwania w kolejce.

  • Niezawodność: standardowa krytyczność
  • Cena: standardowa cena.
  • Najlepsze w przypadku: najbardziej interaktywnych aplikacji codziennego użytku.

Wnioskowanie priorytetowe (zoptymalizowane pod kątem czasu oczekiwania)

Przetwarzanie priorytetowe kieruje Twoje prośby do kolejek obliczeniowych o wysokim znaczeniu. Ten ruch jest ściśle niepodlegający przerwaniu (nigdy nie jest wyprzedzany przez inne warstwy) i zapewnia najwyższą niezawodność. Jeśli przekroczysz limity dynamicznego priorytetu, system zamiast wyświetlić błąd, obniży priorytet żądania do standardowego przetwarzania.

  • Niezawodność: najwyższa krytyczność
  • Cena: od 75% do 100% powyżej stawek standardowych.
  • Najlepsze w przypadku: chatbotów dla klientów, wykrywania oszustw w czasie rzeczywistym i kluczowych dla firmy asystentów.

Wnioskowanie Flex (optymalizacja pod kątem kosztów)

Wnioskowanie Flex oferuje 50% zniżki w porównaniu ze stawkami standardowymi dzięki wykorzystaniu dostępnych w danym momencie zasobów obliczeniowych poza godzinami szczytu. Żądania są przetwarzane synchronicznie, co oznacza, że nie musisz ponownie pisać kodu, aby zarządzać obiektami zbiorczymi. Ponieważ jest to ruch „zrzucany”, żądania mogą zostać wyprzedzone, jeśli system odnotuje standardowe skoki ruchu.

  • Niezawodność: niegwarantowana, z możliwością obniżenia priorytetu
  • Cena: 50% ceny standardowej (rozliczane za token).
  • Najlepsze rozwiązanie w przypadku: wieloetapowych Agentic Workflows, w których wywołanie N+1 zależy od wyniku wywołania N, aktualizacji CRM w tle i ocen offline.

Batch API (zbiorczy, asynchroniczny)

Batch API służy do asynchronicznego przetwarzania dużych ilości żądań przy 50% standardowego kosztu. Żądania możesz przesyłać jako słowniki wbudowane lub za pomocą pliku wejściowego JSONL (o rozmiarze do 2 GB). Przetwarza żądania za pomocą kolejek przepustowości w tle z docelowym czasem realizacji wynoszącym 24 godziny.

  • Niezawodność: możliwość przerwania, ale z automatycznymi ponownymi próbami co 24 godziny i systemem kolejkowania.
  • Cena: 50% ceny standardowej.
  • Najlepsze rozwiązanie w przypadku: wstępnego przetwarzania ogromnych zbiorów danych, uruchamiania okresowych pakietów testów regresji i generowania dużej liczby obrazów lub osadzonych danych.

Pamięć podręczna kontekstu (oszczędności związane z danymi wejściowymi)

Pamięć podręczna kontekstu jest używana, gdy obszerny kontekst początkowy jest wielokrotnie przywoływany przez krótsze żądania.

  • Pamięć podręczna niejawna: automatycznie włączona w modelach Gemini 2.5 i nowszych. Jeśli Twoje żądanie trafi do istniejących pamięci podręcznych na podstawie wspólnych prefiksów promptów, system przekaże Ci oszczędności.
  • Jawne buforowanie: możesz ręcznie utworzyć obiekt pamięci podręcznej z określonym czasem życia danych (TTL). Po utworzeniu możesz odwoływać się do tokenów w pamięci podręcznej w przypadku kolejnych żądań, aby uniknąć wielokrotnego przekazywania tego samego ładunku korpusu.
  • Cena: rozliczana na podstawie liczby tokenów pamięci podręcznej i czasu przechowywania (TTL).
  • Najlepsze zastosowania: chatboty z rozbudowanymi instrukcjami systemowymi, powtarzalna analiza długich plików wideo lub zapytania dotyczące dużych zbiorów dokumentów.

Obniżanie kosztów danych wejściowych wideo dzięki przetwarzaniu agentowemu

W przypadku długich filmów przetwarzanie agentowe może obniżyć koszty tokenów wejściowych nawet o 88% przy jednoczesnym zwiększeniu jakości odpowiedzi. Zamiast wyodrębniać każdą klatkę z częstotliwością 1 klatki na sekundę (przetwarzanie statyczne), model dynamicznie przeszukuje film, wczytując transkrypcję lub klatki, lub dźwięk odpowiedni do Twojego promptu. W przypadku krótkich klipów (poniżej 5 minut), w których opóźnienie jest kluczowe, przetwarzanie statyczne może zapewnić krótszy czas do pierwszego tokena (TTFT), ponieważ tryb agenta wymaga wewnętrznego wnioskowania i wykorzystania narzędzi w obie strony przed rozpoczęciem generowania.

Aby używać przetwarzania opartego na agentach z modelami Gemini 3.8 Flash, 3.6 Flash lub 3.5 Flash Lite, ustaw processing: "agentic" (Interactions API) lub media_processing: "AGENTIC" (GenerateContent API) w danych wejściowych wideo. Jeśli model nie obsługuje przetwarzania z użyciem agenta, zwróci błąd.

Przykłady kodu znajdziesz w sekcji Analizowanie filmów przez agenta.