Кэширование промптов: основы

Урок 47 из 299 курса «OpenAI Cookbook»: официальный курс OpenAI Academy (ОпенАИ) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

OpenAI предлагает дисконтное кэширование prompt'ов для prompt'ов, превышающих 1024 токена, что приводит к сокращению задержки (latency) до 80% для более длинных prompt'ов свыше 10 000 токенов. Кэшируя повторяющуюся информацию в запросах к LLM API, вы можете значительно сократить как задержку (latency), так и затраты. Кэширование prompt'ов действует на уровне организации, что означает, что только члены одной организации могут получать доступ к общим кэшам. Кроме того, кэширование соответствует принципу нулевого хранения данных (zero data retention), поскольку в процессе данные не сохраняются. Кэширование prompt'ов автоматически активируется для prompt'ов длиннее 1024 токенов — вам не нужно ничего менять в вашем запросе на completions. При выполнении API запроса система сначала проверяет, был ли начальный фрагмент (prefix) prompt'а уже кэширован. Если совпадение найдено (cache hit), используется кэшированный prompt, что приводит к снижению latency и затрат. Если совпадения нет, система обрабатывает полный prompt с нуля и кэширует prefix для будущего использования. Учитывая эти преимущества, некоторые из ключевых сценариев использования, где кэширование prompt'ов может быть особенно выгодным, включают: Агенты, использующие инструменты и структурированные output'ы: Кэшируйте расширенный список инструментов и схем. Помощники по кодированию и написанию текстов: Вставляйте большие фрагменты или сводки кодовых баз и рабочих пространств непосредственно в prompt'ы. Чат-боты: Кэшируйте статические части многоходовых диалогов для эффективного поддержания контекста в продолжительных беседах. В этом руководстве мы рассмотрим несколько примеров кэширования инструментов и изображений. Напомним, что в целом рекомендуется размещать статический контент, такой как инструкции и примеры, в начале вашего prompt'а, а переменный контент, например, информацию, специфичную для пользователя, — в конце. Это также относится к изображениям и инструментам, которые должны быть идентичными, даже в их порядке, между запросами. Все запросы, включая те, что содержат менее 1024 токенов, будут отображать поле cached_tokens объекта usage.prompt_tokens_details chat completions, указывающее, сколько токенов prompt'а было получено из кэша (cache hit).

План урока

  1. Пример 1: Кэширование инструментов и многоходовых диалогов
  2. Пример 2: Изображения
  3. Общие рекомендации

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды