Zliczanie tokenów w modelach Gemini

Modele Gemini przetwarzają dane wejściowe i wyjściowe w jednostkach nazywanych tokenami.

Tokeny mogą być pojedynczymi znakami, takimi jak z, lub całymi słowami, takimi jak cat. Długie słowa są dzielone na kilka tokenów. Zbiór wszystkich tokenów używanych przez model nazywa się słownictwem, a proces dzielenia tekstu na tokeny to tokenizacja.

W przypadku modeli Gemini token odpowiada około 4 znakom. 100 tokenów to około 60–80 słów w języku angielskim.

Każdy model ma maksymalną liczbę tokenów, które może obsłużyć w prompcie i odpowiedzi. Znajomość liczby tokenów w prompcie pozwala sprawdzić, czy nie przekraczasz tego limitu. Dodatkowo koszt żądania jest częściowo określany przez liczbę tokenów wejściowych i wyjściowych, więc warto wiedzieć, jak je liczyć.

Obsługiwane modele

  • gemini-4-argon
  • gemini-3.8-flash (oraz starsze modele gemini-3.7-flash, gemini-3.6-flash i gemini-3.5-flash)
  • gemini-3.5-flash-lite (oraz starsze wersje gemini-3.1-flash-lite)
  • gemini-nano-banana-2.1 (Nano Banana 2.1)
  • gemini-3.1-flash-image (Nano Banana 2)
  • gemini-3.1-flash-lite-image (Nano Banana 2 Lite)
  • gemini-3-pro-image (Nano Banana Pro)
  • gemini-3.1-flash-tts-preview

Tę funkcję obsługują też modele gemini-3.1-pro-preview oraz modele ogólnego zastosowania i generujące obrazy Gemini 2.5 (które są wycofane).

Opcje liczenia tokenów

Wszystkie dane wejściowe i wyjściowe modelu Gemini API są tokenizowane, w tym tekst, pliki graficzne i inne modalności nietekstowe. Oto opcje liczenia tokenów:

Sprawdź liczbę tokenów tylko w żądaniach (przed wysłaniem ich do modelu).
Wywołaj countTokens z danymi wejściowymi żądania przed wysłaniem go do modelu. Zwracane są te dane:
  • total_tokens: liczba tokenów tylko danych wejściowych,
Sprawdź liczbę tokenów zarówno w żądaniach, jak i odpowiedziach.
Uzyskaj dostęp do atrybutu usageMetadata w obiekcie odpowiedzi. Obejmuje to:
  • prompt_token_count: liczba tokenów tylko w danych wejściowych,
  • candidates_token_count: liczba tokenów tylko w danych wyjściowych (nie obejmuje tokenów myślenia)
  • thoughts_token_count: liczba tokenów myślenia użytych do wygenerowania odpowiedzi.
  • total_token_count: łączna liczba tokenów zarówno wejściowych, jak i wyjściowych (obejmuje wszystkie tokeny myślenia).

Podczas przesyłania strumieniowego danych wyjściowych atrybut usageMetadata pojawia się tylko w ostatnim fragmencie strumienia. W przypadku fragmentów pośrednich jest to nil.

Weź pod uwagę te informacje o powyższych opcjach:

  • Nie będą liczyć liczby obrazów wejściowych ani liczby sekund w wejściowych plikach wideo lub audio. Jednak liczba tokenów dla każdego z tych modalności będzie skorelowana z tymi wartościami.
  • Liczba tokenów wejściowych obejmuje prompt (tekst i wszystkie pliki wejściowe), a także instrukcje systemowe i narzędzia.
  • Liczba tokenów wyjściowych nie obejmuje tokenów myślenia. Są one podawane w osobnym polu.
  • Zapoznaj się z dodatkowymi informacjami dotyczącymi poszczególnych typów żądań, które znajdziesz poniżej.
  • Modele Gemini Live API nie obsługują countTokens. Ponadto Firebase AI Logic nie obsługuje jeszcze atrybutu usageMetadata w odpowiedzi z modeli Live API, ale już wkrótce!

Ceny tych opcji

  • Wywoływanie countTokens: wywoływanie countTokens (interfejsu Count Tokens API) jest bezpłatne. Maksymalny limit dla interfejsu Count Tokens API to 3000 żądań na minutę.

  • Używanie atrybutu usageMetadata: ten atrybut jest zawsze zwracany jako część odpowiedzi i nie wymaga żadnych tokenów ani nie wiąże się z opłatami.

Dodatkowe informacje

Poniżej znajdziesz dodatkowe informacje dotyczące konkretnych typów żądań.

Zliczanie tokenów wejściowych tekstu

Brak dodatkowych informacji.

Zliczanie tokenów wieloetapowych (czat)

Podczas rozmowy z countTokens na czacie pamiętaj o tych kwestiach:

  • Jeśli wywołasz funkcję countTokens z historią czatu, zwróci ona łączną liczbę tokenów z obu ról na czacie (total_tokens).
  • Aby dowiedzieć się, jak duża będzie następna tura rozmowy, musisz dołączyć ją do historii podczas wywoływania countTokens.

Zliczanie multimodalnych tokenów wejściowych

Pamiętaj o tych kwestiach dotyczących zliczania tokenów w przypadku danych wejściowych multimodalnych:

  • Możesz też wywołać countTokens osobno dla tekstu i pliku.
  • W przypadku obu opcji zliczania tokenów otrzymasz tę samą liczbę tokenów niezależnie od tego, czy podasz plik jako dane wbudowane, czy użyjesz jego adresu URL.

Pliki wejściowe obrazów

Pliki wejściowe obrazów są konwertowane na tokeny na podstawie ich wymiarów:

  • Obrazy, których oba wymiary są mniejsze lub równe 384 pikselom: każdy obraz jest liczony jako 258 tokenów.
  • Obrazy wejściowe, które są większe w jednym lub obu wymiarach: każdy obraz jest przycinany i skalowany w razie potrzeby do kafelków o wymiarach 768 x 768 pikseli, a następnie każdy kafelek jest liczony jako 258 tokenów.

Pliki wejściowe wideo i audio

Pliki wejściowe wideo i audio są konwertowane na tokeny według tych stałych stawek:

  • Wideo: 263 tokeny na sekundę
  • Dźwięk: 32 tokeny na sekundę

pliki wejściowe dokumentów (np. PDF-y);

Pliki wejściowe PDF są traktowane jako obrazy, więc każda strona pliku PDF jest tokenizowana w taki sam sposób jak obraz.