Buforowanie kontekstu

W typowym przepływie pracy AI możesz wielokrotnie przekazywać do modelu te same tokeny wejściowe. Interfejs Gemini API oferuje 2 różne mechanizmy buforowania:

  • niejawne buforowanie (automatycznie włączone w przypadku modeli Gemini 2.5, bez gwarancji oszczędności);
  • Jawne zapisywanie w pamięci podręcznej (można je włączyć ręcznie w przypadku większości modeli, gwarancja oszczędności)

Jawne buforowanie jest przydatne w sytuacjach, w których chcesz zagwarantować oszczędności, ale wymaga to dodatkowej pracy programisty.

Niejawne buforowanie

Pamięć podręczna jest domyślnie włączona we wszystkich modelach Gemini 2.5. Jeśli Twoje żądanie trafi do pamięci podręcznej, automatycznie przekażemy Ci oszczędności. Aby to włączyć, nie musisz nic robić. Obowiązuje od 8 maja 2025 r. Minimalna liczba tokenów wejściowych w przypadku buforowania kontekstu wynosi 1024 w przypadku modelu 2.5 Flash i 4096 w przypadku modelu 2.5 Pro.

Aby zwiększyć szansę na niejawne trafienie w pamięci podręcznej:

  • Spróbuj umieścić na początku promptu duże i powszechne treści.
  • Wysyłanie w krótkim czasie żądań z podobnym prefiksem

Liczbę tokenów, które zostały znalezione w pamięci podręcznej, możesz sprawdzić w polu usage_metadata obiektu odpowiedzi.

Jawne buforowanie

Korzystając z funkcji jawnego buforowania w interfejsie Gemini API, możesz przekazać niektóre treści do modelu tylko raz, zapisać w pamięci podręcznej tokeny wejściowe, a następnie odwoływać się do nich w kolejnych żądaniach. Przy określonych ilościach używanie tokenów z pamięci podręcznej jest tańsze niż wielokrotne przekazywanie tego samego korpusu tokenów.

Gdy zapisujesz w pamięci podręcznej zestaw tokenów, możesz określić, jak długo ma ona istnieć, zanim tokeny zostaną automatycznie usunięte. Ten czas przechowywania w pamięci podręcznej nazywa się czasem życia danych (TTL). Jeśli nie jest ustawiony, domyślny czas TTL wynosi 1 godzinę. Koszt buforowania zależy od rozmiaru tokena wejściowego i czasu, przez jaki chcesz przechowywać tokeny.

W tej sekcji zakładamy, że masz zainstalowany pakiet Gemini SDK (lub narzędzie curl) i skonfigurowany klucz interfejsu API, jak pokazano w szybkim wprowadzeniu.

Jawne buforowanie za pomocą biblioteki OpenAI

Jeśli używasz biblioteki OpenAI, możesz włączyć jawne buforowanie za pomocą właściwości cached_contentextra_body.

Kiedy używać jawnego buforowania

Pamięć podręczna kontekstu jest szczególnie przydatna w scenariuszach, w których obszerny kontekst początkowy jest wielokrotnie wykorzystywany w krótszych żądaniach. Pamięć podręczna kontekstu może być przydatna w przypadkach takich jak:

  • Czatboty z obszernymi instrukcjami systemowymi
  • Powtarzalna analiza długich plików wideo
  • Powtarzające się zapytania dotyczące dużych zbiorów dokumentów
  • częste analizowanie repozytorium kodu lub naprawianie błędów;

Jak jawne buforowanie zmniejsza koszty

Pamięć podręczna kontekstu to płatna funkcja, która ma na celu obniżenie ogólnych kosztów operacyjnych. Płatności są określane na podstawie tych czynników:

  1. Liczba tokenów w pamięci podręcznej: liczba tokenów wejściowych w pamięci podręcznej, za które naliczana jest niższa opłata, gdy są uwzględniane w kolejnych promptach.
  2. Czas przechowywania: czas przechowywania tokenów w pamięci podręcznej (TTL), rozliczany na podstawie czasu TTL liczby tokenów w pamięci podręcznej. Nie ma minimalnych ani maksymalnych ograniczeń dotyczących wartości TTL.
  3. Inne czynniki: obowiązują inne opłaty, np. za tokeny wejściowe niepochodzące z pamięci podręcznej i tokeny wyjściowe.

Aktualne informacje o cenach znajdziesz na stronie z cennikiem Gemini API. Aby dowiedzieć się, jak liczyć tokeny, zapoznaj się z przewodnikiem po tokenach.

Uwagi dodatkowe

Korzystając z pamięci podręcznej kontekstu, pamiętaj o tych kwestiach:

  • Minimalna liczba tokenów wejściowych w przypadku buforowania kontekstu wynosi 1024 w przypadku modelu 2.5 Flash i 2048 w przypadku modelu 2.5 Pro. Maksymalna wartość jest taka sama jak maksymalna wartość dla danego modelu. (Więcej informacji o liczeniu tokenów znajdziesz w przewodniku po tokenach).
  • Model nie rozróżnia tokenów w pamięci podręcznej od zwykłych tokenów wejściowych. Treści z pamięci podręcznej są umieszczane przed promptem.
  • Nie ma specjalnych limitów stawek ani limitów użycia w przypadku buforowania kontekstu. Obowiązują standardowe limity stawek dla GenerateContent, a limity tokenów obejmują tokeny w pamięci podręcznej.
  • Liczba tokenów w pamięci podręcznej jest zwracana w parametrze usage_metadata w operacjach tworzenia, pobierania i wyświetlania listy usługi pamięci podręcznej, a także w parametrze GenerateContent podczas korzystania z pamięci podręcznej.