Кэширование контекста

В типичном рабочем процессе ИИ вы можете снова и снова передавать в модель одни и те же входные токены. Gemini API предлагает два различных механизма кэширования:

  • Неявное кэширование (автоматическое, без гарантии экономии)
  • Явное кэширование (ручное, гарантия экономии)

Неявное кэширование включено в моделях Gemini 2.5 по умолчанию. Если запрос содержит контент, попадающий в кеш, мы автоматически возвращаем вам экономию средств.

Явное кэширование полезно в тех случаях, когда вы хотите гарантировать экономию средств, но требует дополнительной работы разработчиков.

Неявное кэширование

Неявное кэширование включено по умолчанию для всех моделей Gemini 2.5. Мы автоматически снижаем затраты, если ваш запрос попадает в кэш. Для этого вам не нужно ничего делать. Он вступает в силу с 8 мая 2025 г. Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro.

Чтобы увеличить вероятность неявного попадания в кэш:

  • Попробуйте поместить большое и общее содержимое в начало приглашения.
  • Попробуйте отправить запросы с похожим префиксом за короткое время.

Вы можете увидеть количество токенов, попавших в кэш, в поле usage_metadata объекта ответа.

Явное кэширование

Используя функцию явного кэширования Gemini API, вы можете один раз передать некоторый контент в модель, кэшировать входные токены, а затем обращаться к кэшированным токенам для последующих запросов. В определенных объемах использование кэшированных токенов обходится дешевле, чем повторная передача одного и того же набора токенов.

Когда вы кэшируете набор токенов, вы можете выбрать, как долго вы хотите, чтобы кеш существовал, прежде чем токены будут автоматически удалены. Эта продолжительность кэширования называется временем жизни (TTL). Если этот параметр не установлен, значение TTL по умолчанию составляет 1 час. Стоимость кэширования зависит от размера входного токена и того, как долго вы хотите, чтобы токены сохранялись.

В этом разделе предполагается, что вы установили Gemini SDK (или установили Curl) и настроили ключ API, как показано в кратком руководстве .

Генерация контента с использованием кеша

В следующем примере показано, как создать контент с помощью кэшированной системной инструкции и текстового файла.

import {
  GoogleGenAI,
  createUserContent,
  createPartFromUri,
} from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GEMINI_API_KEY" });

async function main() {
  const doc = await ai.files.upload({
    file: "path/to/file.txt",
    config: { mimeType: "text/plain" },
  });
  console.log("Uploaded file name:", doc.name);

  const modelName = "gemini-2.0-flash-001";
  const cache = await ai.caches.create({
    model: modelName,
    config: {
      contents: createUserContent(createPartFromUri(doc.uri, doc.mimeType)),
      systemInstruction: "You are an expert analyzing transcripts.",
    },
  });
  console.log("Cache created:", cache);

  const response = await ai.models.generateContent({
    model: modelName,
    contents: "Please summarize this transcript",
    config: { cachedContent: cache.name },
  });
  console.log("Response text:", response.text);
}

await main();

Получение списка кешей

Невозможно получить или просмотреть кэшированное содержимое, но вы можете получить метаданные кэша ( name , model , displayName , usageMetadata , createTime , updateTime и expireTime ).

Чтобы просмотреть метаданные для всех загруженных кешей, используйте GoogleGenAI.caches.list() :

console.log("My caches:");
const pager = await ai.caches.list({ config: { pageSize: 10 } });
let page = pager.page;
while (true) {
  for (const c of page) {
    console.log("    ", c.name);
  }
  if (!pager.hasNextPage()) break;
  page = await pager.nextPage();
}

Обновить кэш

Вы можете установить новый ttl или expireTime для кеша. Изменение чего-либо еще в кеше не поддерживается.

В следующем примере показано, как обновить ttl кеша с помощью GoogleGenAI.caches.update() .

const ttl = `${2 * 3600}s`; // 2 hours in seconds
const updatedCache = await ai.caches.update({
  name: cache.name,
  config: { ttl },
});
console.log("After update (TTL):", updatedCache);

Удалить кэш

Служба кэширования предоставляет операцию удаления для ручного удаления содержимого из кэша. В следующем примере показано, как удалить кеш с помощью GoogleGenAI.caches.delete() .

await ai.caches.delete({ name: cache.name });

Когда использовать явное кэширование

Кэширование контекста особенно хорошо подходит для сценариев, в которых к существенному исходному контексту неоднократно обращаются более короткие запросы. Рассмотрите возможность использования контекстного кэширования в таких случаях, как:

  • Чат-боты с подробными системными инструкциями
  • Повторный анализ длинных видеофайлов
  • Повторяющиеся запросы к большим наборам документов
  • Частый анализ репозитория кода или исправление ошибок

Как явное кэширование снижает затраты

Кэширование контекста — это платная функция, предназначенная для снижения общих эксплуатационных расходов. Выставление счетов зависит от следующих факторов:

  1. Количество токенов кэша: количество кэшированных входных токенов, оплачиваемых по сниженной ставке при включении в последующие запросы.
  2. Продолжительность хранения: количество времени хранения кэшированных токенов (TTL), оплата взимается на основе продолжительности TTL количества кэшированных токенов. Для TTL нет минимальных или максимальных границ.
  3. Другие факторы: взимаются другие сборы, например, за некэшированные входные токены и выходные токены.

Актуальную информацию о ценах можно найти на странице цен на Gemini API. Чтобы узнать, как считать жетоны, см. руководство по токенам .

Дополнительные соображения

При использовании контекстного кэширования учитывайте следующие соображения:

  • Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro. Максимум такой же, как и максимум для данной модели. (Подробнее о подсчете жетонов см. в руководстве по токенам ).
  • Модель не делает никакого различия между кэшированными токенами и обычными входными токенами. Кэшированное содержимое является префиксом приглашения.
  • Для кэширования контекста не существует специальных ограничений по скорости или использованию; применяются стандартные ограничения скорости для GenerateContent , а ограничения токенов включают кэшированные токены.
  • Количество кэшированных токенов возвращается в usage_metadata из операций создания, получения и списка службы кэша, а также в GenerateContent при использовании кэша.
,

В типичном рабочем процессе ИИ вы можете снова и снова передавать в модель одни и те же входные токены. Gemini API предлагает два различных механизма кэширования:

  • Неявное кэширование (автоматическое, без гарантии экономии)
  • Явное кэширование (ручное, гарантия экономии)

Неявное кэширование включено в моделях Gemini 2.5 по умолчанию. Если запрос содержит контент, попадающий в кеш, мы автоматически возвращаем вам экономию средств.

Явное кэширование полезно в тех случаях, когда вы хотите гарантировать экономию средств, но требует дополнительной работы разработчиков.

Неявное кэширование

Неявное кэширование включено по умолчанию для всех моделей Gemini 2.5. Мы автоматически снижаем затраты, если ваш запрос попадает в кэш. Для этого вам не нужно ничего делать. Он вступает в силу с 8 мая 2025 г. Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro.

Чтобы увеличить вероятность неявного попадания в кэш:

  • Попробуйте поместить большое и общее содержимое в начало приглашения.
  • Попробуйте отправить запросы с похожим префиксом за короткое время.

Вы можете увидеть количество токенов, попавших в кэш, в поле usage_metadata объекта ответа.

Явное кэширование

Используя функцию явного кэширования Gemini API, вы можете один раз передать некоторый контент в модель, кэшировать входные токены, а затем обращаться к кэшированным токенам для последующих запросов. В определенных объемах использование кэшированных токенов обходится дешевле, чем повторная передача одного и того же набора токенов.

Когда вы кэшируете набор токенов, вы можете выбрать, как долго вы хотите, чтобы кеш существовал, прежде чем токены будут автоматически удалены. Эта продолжительность кэширования называется временем жизни (TTL). Если значение не установлено, значение TTL по умолчанию составляет 1 час. Стоимость кэширования зависит от размера входного токена и того, как долго вы хотите, чтобы токены сохранялись.

В этом разделе предполагается, что вы установили Gemini SDK (или установили Curl) и настроили ключ API, как показано в кратком руководстве .

Генерация контента с использованием кеша

В следующем примере показано, как создать контент с помощью кэшированной системной инструкции и текстового файла.

import {
  GoogleGenAI,
  createUserContent,
  createPartFromUri,
} from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GEMINI_API_KEY" });

async function main() {
  const doc = await ai.files.upload({
    file: "path/to/file.txt",
    config: { mimeType: "text/plain" },
  });
  console.log("Uploaded file name:", doc.name);

  const modelName = "gemini-2.0-flash-001";
  const cache = await ai.caches.create({
    model: modelName,
    config: {
      contents: createUserContent(createPartFromUri(doc.uri, doc.mimeType)),
      systemInstruction: "You are an expert analyzing transcripts.",
    },
  });
  console.log("Cache created:", cache);

  const response = await ai.models.generateContent({
    model: modelName,
    contents: "Please summarize this transcript",
    config: { cachedContent: cache.name },
  });
  console.log("Response text:", response.text);
}

await main();

Получение списка кешей

Невозможно получить или просмотреть кэшированное содержимое, но вы можете получить метаданные кэша ( name , model , displayName , usageMetadata , createTime , updateTime и expireTime ).

Чтобы просмотреть метаданные для всех загруженных кешей, используйте GoogleGenAI.caches.list() :

console.log("My caches:");
const pager = await ai.caches.list({ config: { pageSize: 10 } });
let page = pager.page;
while (true) {
  for (const c of page) {
    console.log("    ", c.name);
  }
  if (!pager.hasNextPage()) break;
  page = await pager.nextPage();
}

Обновить кэш

Вы можете установить новый ttl или expireTime для кеша. Изменение чего-либо еще в кеше не поддерживается.

В следующем примере показано, как обновить ttl кеша с помощью GoogleGenAI.caches.update() .

const ttl = `${2 * 3600}s`; // 2 hours in seconds
const updatedCache = await ai.caches.update({
  name: cache.name,
  config: { ttl },
});
console.log("After update (TTL):", updatedCache);

Удалить кэш

Служба кэширования предоставляет операцию удаления для ручного удаления содержимого из кэша. В следующем примере показано, как удалить кеш с помощью GoogleGenAI.caches.delete() .

await ai.caches.delete({ name: cache.name });

Когда использовать явное кэширование

Кэширование контекста особенно хорошо подходит для сценариев, в которых к существенному исходному контексту неоднократно обращаются более короткие запросы. Рассмотрите возможность использования контекстного кэширования в таких случаях, как:

  • Чат-боты с подробными системными инструкциями
  • Повторный анализ длинных видеофайлов
  • Повторяющиеся запросы к большим наборам документов
  • Частый анализ репозитория кода или исправление ошибок

Как явное кэширование снижает затраты

Кэширование контекста — это платная функция, предназначенная для снижения общих эксплуатационных расходов. Выставление счетов зависит от следующих факторов:

  1. Количество токенов кэша: количество кэшированных входных токенов, оплачиваемых по сниженной ставке при включении в последующие запросы.
  2. Продолжительность хранения: количество времени хранения кэшированных токенов (TTL), оплата взимается на основе продолжительности TTL количества кэшированных токенов. Для TTL нет минимальных или максимальных границ.
  3. Другие факторы: взимаются другие сборы, например, за некэшированные входные токены и выходные токены.

Актуальную информацию о ценах можно найти на странице цен на Gemini API. Чтобы узнать, как считать жетоны, см. руководство по токенам .

Дополнительные соображения

При использовании контекстного кэширования учитывайте следующие соображения:

  • Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro. Максимум такой же, как и максимум для данной модели. (Подробнее о подсчете жетонов см. в руководстве по токенам ).
  • Модель не делает никакого различия между кэшированными токенами и обычными входными токенами. Кэшированное содержимое является префиксом приглашения.
  • Для кэширования контекста не существует специальных ограничений по скорости или использованию; применяются стандартные ограничения скорости для GenerateContent , а ограничения токенов включают кэшированные токены.
  • Количество кэшированных токенов возвращается в usage_metadata из операций создания, получения и списка службы кэша, а также в GenerateContent при использовании кэша.
,

В типичном рабочем процессе ИИ вы можете снова и снова передавать в модель одни и те же входные токены. Gemini API предлагает два различных механизма кэширования:

  • Неявное кэширование (автоматическое, без гарантии экономии)
  • Явное кэширование (ручное, гарантия экономии)

Неявное кэширование включено в моделях Gemini 2.5 по умолчанию. Если запрос содержит контент, попадающий в кеш, мы автоматически возвращаем вам экономию средств.

Явное кэширование полезно в тех случаях, когда вы хотите гарантировать экономию средств, но требует дополнительной работы разработчиков.

Неявное кэширование

Неявное кэширование включено по умолчанию для всех моделей Gemini 2.5. Мы автоматически снижаем затраты, если ваш запрос попадает в кэш. Для этого вам не нужно ничего делать. Он вступает в силу с 8 мая 2025 г. Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro.

Чтобы увеличить вероятность неявного попадания в кэш:

  • Попробуйте поместить большое и общее содержимое в начало приглашения.
  • Попробуйте отправить запросы с похожим префиксом за короткое время.

Вы можете увидеть количество токенов, попавших в кэш, в поле usage_metadata объекта ответа.

Явное кэширование

Используя функцию явного кэширования Gemini API, вы можете один раз передать некоторый контент в модель, кэшировать входные токены, а затем обращаться к кэшированным токенам для последующих запросов. В определенных объемах использование кэшированных токенов обходится дешевле, чем повторная передача одного и того же набора токенов.

Когда вы кэшируете набор токенов, вы можете выбрать, как долго вы хотите, чтобы кеш существовал, прежде чем токены будут автоматически удалены. Эта продолжительность кэширования называется временем жизни (TTL). Если этот параметр не установлен, значение TTL по умолчанию составляет 1 час. Стоимость кэширования зависит от размера входного токена и того, как долго вы хотите, чтобы токены сохранялись.

В этом разделе предполагается, что вы установили Gemini SDK (или установили Curl) и настроили ключ API, как показано в кратком руководстве .

Генерация контента с использованием кеша

В следующем примере показано, как создать контент с помощью кэшированной системной инструкции и текстового файла.

import {
  GoogleGenAI,
  createUserContent,
  createPartFromUri,
} from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GEMINI_API_KEY" });

async function main() {
  const doc = await ai.files.upload({
    file: "path/to/file.txt",
    config: { mimeType: "text/plain" },
  });
  console.log("Uploaded file name:", doc.name);

  const modelName = "gemini-2.0-flash-001";
  const cache = await ai.caches.create({
    model: modelName,
    config: {
      contents: createUserContent(createPartFromUri(doc.uri, doc.mimeType)),
      systemInstruction: "You are an expert analyzing transcripts.",
    },
  });
  console.log("Cache created:", cache);

  const response = await ai.models.generateContent({
    model: modelName,
    contents: "Please summarize this transcript",
    config: { cachedContent: cache.name },
  });
  console.log("Response text:", response.text);
}

await main();

Получение списка кешей

Невозможно получить или просмотреть кэшированное содержимое, но вы можете получить метаданные кэша ( name , model , displayName , usageMetadata , createTime , updateTime и expireTime ).

Чтобы просмотреть метаданные для всех загруженных кешей, используйте GoogleGenAI.caches.list() :

console.log("My caches:");
const pager = await ai.caches.list({ config: { pageSize: 10 } });
let page = pager.page;
while (true) {
  for (const c of page) {
    console.log("    ", c.name);
  }
  if (!pager.hasNextPage()) break;
  page = await pager.nextPage();
}

Обновить кэш

Вы можете установить новый ttl или expireTime для кеша. Изменение чего-либо еще в кеше не поддерживается.

В следующем примере показано, как обновить ttl кеша с помощью GoogleGenAI.caches.update() .

const ttl = `${2 * 3600}s`; // 2 hours in seconds
const updatedCache = await ai.caches.update({
  name: cache.name,
  config: { ttl },
});
console.log("After update (TTL):", updatedCache);

Удалить кэш

Служба кэширования предоставляет операцию удаления для ручного удаления содержимого из кэша. В следующем примере показано, как удалить кеш с помощью GoogleGenAI.caches.delete() .

await ai.caches.delete({ name: cache.name });

Когда использовать явное кэширование

Кэширование контекста особенно хорошо подходит для сценариев, в которых к существенному исходному контексту неоднократно обращаются более короткие запросы. Рассмотрите возможность использования контекстного кэширования в таких случаях, как:

  • Чат-боты с подробными системными инструкциями
  • Повторный анализ длинных видеофайлов
  • Повторяющиеся запросы к большим наборам документов
  • Частый анализ репозитория кода или исправление ошибок

Как явное кэширование снижает затраты

Кэширование контекста — это платная функция, предназначенная для снижения общих эксплуатационных расходов. Выставление счетов зависит от следующих факторов:

  1. Количество токенов кэша: количество кэшированных входных токенов, оплачиваемых по сниженной ставке при включении в последующие запросы.
  2. Продолжительность хранения: количество времени хранения кэшированных токенов (TTL), оплата взимается на основе продолжительности TTL количества кэшированных токенов. Для TTL нет минимальных или максимальных границ.
  3. Другие факторы: взимаются другие сборы, например, за некэшированные входные токены и выходные токены.

Актуальную информацию о ценах можно найти на странице цен на Gemini API. Чтобы узнать, как считать жетоны, см. руководство по токенам .

Дополнительные соображения

При использовании контекстного кэширования учитывайте следующие соображения:

  • Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro. Максимум такой же, как и максимум для данной модели. (Подробнее о подсчете жетонов см. в руководстве по токенам ).
  • Модель не делает никакого различия между кэшированными токенами и обычными входными токенами. Кэшированное содержимое является префиксом приглашения.
  • Для кэширования контекста не существует специальных ограничений по скорости или использованию; применяются стандартные ограничения скорости для GenerateContent , а ограничения токенов включают кэшированные токены.
  • Количество кэшированных токенов возвращается в usage_metadata из операций создания, получения и списка службы кэша, а также в GenerateContent при использовании кэша.
,

В типичном рабочем процессе ИИ вы можете снова и снова передавать в модель одни и те же входные токены. Gemini API предлагает два различных механизма кэширования:

  • Неявное кэширование (автоматическое, без гарантии экономии)
  • Явное кэширование (ручное, гарантия экономии)

Неявное кэширование включено в моделях Gemini 2.5 по умолчанию. Если запрос содержит контент, попадающий в кеш, мы автоматически возвращаем вам экономию средств.

Явное кэширование полезно в тех случаях, когда вы хотите гарантировать экономию средств, но требует дополнительной работы разработчиков.

Неявное кэширование

Неявное кэширование включено по умолчанию для всех моделей Gemini 2.5. Мы автоматически снижаем затраты, если ваш запрос попадает в кэш. Для этого вам не нужно ничего делать. Он вступает в силу с 8 мая 2025 г. Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro.

Чтобы увеличить вероятность неявного попадания в кэш:

  • Попробуйте поместить большое и общее содержимое в начало приглашения.
  • Попробуйте отправить запросы с похожим префиксом за короткое время.

Вы можете увидеть количество токенов, попавших в кэш, в поле usage_metadata объекта ответа.

Явное кэширование

Используя функцию явного кэширования Gemini API, вы можете один раз передать некоторый контент в модель, кэшировать входные токены, а затем обращаться к кэшированным токенам для последующих запросов. В определенных объемах использование кэшированных токенов обходится дешевле, чем повторная передача одного и того же набора токенов.

Когда вы кэшируете набор токенов, вы можете выбрать, как долго вы хотите, чтобы кеш существовал, прежде чем токены будут автоматически удалены. Эта продолжительность кэширования называется временем жизни (TTL). Если значение не установлено, значение TTL по умолчанию составляет 1 час. Стоимость кэширования зависит от размера входного токена и того, как долго вы хотите, чтобы токены сохранялись.

В этом разделе предполагается, что вы установили Gemini SDK (или установили Curl) и настроили ключ API, как показано в кратком руководстве .

Генерация контента с использованием кеша

В следующем примере показано, как создать контент с помощью кэшированной системной инструкции и текстового файла.

import {
  GoogleGenAI,
  createUserContent,
  createPartFromUri,
} from "@google/genai";

const ai = new GoogleGenAI({ apiKey: "GEMINI_API_KEY" });

async function main() {
  const doc = await ai.files.upload({
    file: "path/to/file.txt",
    config: { mimeType: "text/plain" },
  });
  console.log("Uploaded file name:", doc.name);

  const modelName = "gemini-2.0-flash-001";
  const cache = await ai.caches.create({
    model: modelName,
    config: {
      contents: createUserContent(createPartFromUri(doc.uri, doc.mimeType)),
      systemInstruction: "You are an expert analyzing transcripts.",
    },
  });
  console.log("Cache created:", cache);

  const response = await ai.models.generateContent({
    model: modelName,
    contents: "Please summarize this transcript",
    config: { cachedContent: cache.name },
  });
  console.log("Response text:", response.text);
}

await main();

Получение списка кешей

Невозможно получить или просмотреть кэшированное содержимое, но вы можете получить метаданные кэша ( name , model , displayName , usageMetadata , createTime , updateTime и expireTime ).

Чтобы просмотреть метаданные для всех загруженных кешей, используйте GoogleGenAI.caches.list() :

console.log("My caches:");
const pager = await ai.caches.list({ config: { pageSize: 10 } });
let page = pager.page;
while (true) {
  for (const c of page) {
    console.log("    ", c.name);
  }
  if (!pager.hasNextPage()) break;
  page = await pager.nextPage();
}

Обновить кэш

Вы можете установить новый ttl или expireTime для кеша. Изменение чего-либо еще в кеше не поддерживается.

В следующем примере показано, как обновить ttl кеша с помощью GoogleGenAI.caches.update() .

const ttl = `${2 * 3600}s`; // 2 hours in seconds
const updatedCache = await ai.caches.update({
  name: cache.name,
  config: { ttl },
});
console.log("After update (TTL):", updatedCache);

Удалить кэш

Служба кэширования предоставляет операцию удаления для ручного удаления содержимого из кэша. В следующем примере показано, как удалить кеш с помощью GoogleGenAI.caches.delete() .

await ai.caches.delete({ name: cache.name });

Когда использовать явное кэширование

Кэширование контекста особенно хорошо подходит для сценариев, в которых к существенному исходному контексту неоднократно обращаются более короткие запросы. Рассмотрите возможность использования контекстного кэширования в таких случаях, как:

  • Чат-боты с подробными системными инструкциями
  • Повторный анализ длинных видеофайлов
  • Повторяющиеся запросы к большим наборам документов
  • Частый анализ репозитория кода или исправление ошибок

Как явное кэширование снижает затраты

Кэширование контекста — это платная функция, предназначенная для снижения общих эксплуатационных расходов. Выставление счетов зависит от следующих факторов:

  1. Количество токенов кэша: количество кэшированных входных токенов, оплачиваемых по сниженной ставке при включении в последующие запросы.
  2. Продолжительность хранения: количество времени хранения кэшированных токенов (TTL), оплата взимается на основе продолжительности TTL количества кэшированных токенов. Для TTL нет минимальных или максимальных границ.
  3. Другие факторы: взимаются другие сборы, например, за некэшированные входные токены и выходные токены.

Актуальную информацию о ценах можно найти на странице цен на Gemini API. Чтобы узнать, как считать жетоны, см. руководство по токенам .

Дополнительные соображения

При использовании контекстного кэширования учитывайте следующие соображения:

  • Минимальное количество входных токенов для кэширования контекста составляет 1024 для 2.5 Flash и 2048 для 2.5 Pro. Максимум такой же, как и максимум для данной модели. (Подробнее о подсчете жетонов см. в руководстве по токенам ).
  • Модель не делает никакого различия между кэшированными токенами и обычными входными токенами. Кэшированное содержимое является префиксом приглашения.
  • Для кэширования контекста не существует специальных ограничений по скорости или использованию; применяются стандартные ограничения скорости для GenerateContent , а ограничения токенов включают кэшированные токены.
  • Количество кэшированных токенов возвращается в usage_metadata из операций создания, получения и списка службы кэша, а также в GenerateContent при использовании кэша.