prompt_cache_options.ttl в запросе к Responses API, чтобы выбрать минимальное время хранения кэша: 30 минут или 12 часов. В примерах используется gpt-6.1-terra.
Кэш на 12 часов доступен только через
/v1/responses, но не через /v1/chat/completions. TTL задаёт минимальное время хранения, а не срок удаления и не гарантию попадания в кэш при каждом запросе.Задайте ключ API
Длинный текст в примерах — заполнитель. Замените его реальным содержимым для повторного использования. Кэшируемый префикс должен содержать не менее 1 024 токенов; короткий заполнитель сам по себе не вызовет запись в кэш.
Кэш на 30 минут
Установитеprompt_cache_options.ttl в "30m". Если ttl не указан, также используются 30 минут. Без mode применяется неявное кэширование: вышестоящий сервис автоматически выбирает точку кэширования.
Кэш на 12 часов
Измените это же поле на"12h", сохранив остальную структуру запроса:
Один префикс для разных вопросов
Чтобы повторно использовать длинный документ, меняя только последний вопрос, задайтеmode: "explicit" и добавьте prompt_cache_breakpoint в блок input_text в конце постоянного содержимого. В примере используются 12 часов; для 30 минут измените TTL запроса на "30m".
Если задать
mode: "explicit" без точки кэширования, чтения и записи в кэш не будет. У точки ниже нет собственного TTL, поэтому она наследует prompt_cache_options.ttl из запроса.Проверка использования кэша
Проверьтеusage.input_tokens_details в ответе:
cached_tokens: Токены, прочитанные из кэша в этом запросе. Значение больше 0 означает, что кэш был прочитан.cache_write_tokens: Общее число токенов, записанных в кэш в этом запросе.cache_write_tokens_details.ttl_30m_tokens: Токены, записанные с TTL 30 минут в этом запросе.cache_write_tokens_details.ttl_12h_tokens: Токены, записанные с TTL 12 часов в этом запросе.
cached_tokens. Значение может быть 0, если префикс слишком короткий, содержимое изменилось или попадания в кэш не произошло.
Пример cache usage и подсчёт токенов
Этот фрагмент ответа показывает толькоusage для модели OpenAI с поддержкой кэша и записями для обоих TTL. Фактические значения зависят от ответа.
input_tokens. Два счётчика TTL — составные части cache_write_tokens. Не складывайте общий счётчик с его частями повторно и не добавляйте чтение и запись в кэш к общему входу.
Здесь обычный ввод равен 12000 - 4000 - 7000 = 1000, запись — 5000 + 2000 = 7000, а общее число токенов — 12000 + 1000 = 13000.
Поведение кэша описано в официальном руководстве OpenAI.