Перейти к содержимому
中文

Prompt Caching и его оплата

Как задать кеширование и проверить чтение, запись и стоимость без двойного учёта.

Кеширование зависит от выбранной модели и протокола. Повторяющийся совместимый префикс может быть записан в кеш, затем считан в следующих запросах. Наличие одинакового текста само по себе не гарантирует попадания: важны порядок, поддержка модели, минимальный объём и срок кеша.

В нативном Messages задавайте поддерживаемый cache_control на нужной границе содержимого. Сначала проверьте минимальный пример ниже. Для OpenAI-совместимых клиентов не предполагайте, что произвольное поле Anthropic будет передано без изменений.

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

В ответе и журнале отдельно смотрите создание и чтение кеша. Первый запрос может создавать кеш, последующий — читать, но результат нужно подтвердить полями использования, а не субъективной скоростью.

В 1Zhe AI чтение и запись кеша оплачиваются по стандартной цене без скидки модели. Ввод и вывод получают свою скидку. Не распространяйте её на всю сумму: высокая доля кеша меняет фактический коэффициент стоимости.

При расхождении сравните модель, протокол, категории токенов и временной интервал. Расчёт · Журнал.

Примеры запросов и конфигурации

Раздел «Примеры запросов и конфигурации»

Используйте пример для выбранного протокола и версии клиента. Замените учебные ключи и идентификаторы моделей своими. Команды выполняются на вашем компьютере или сервере.

bash
curl https://1zheai.com/v1/messages \
-H "x-api-key: $ONEZHE_API_KEY" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{
"model": "claude-sonnet-5-5",
"max_tokens": 256,
"system": [
{
"type": "text",
"text": "Разместите здесь одинаковый длинный контекст: описание проекта, правила кода, справочные материалы.",
"cache_control": {"type": "ephemeral"}
}
],
"messages": [{"role": "user", "content": "Проверьте этот код по приведённым выше правилам: ..."}]
}'
json
{
"input_tokens": 23,
"cache_creation_input_tokens": 17920,
"cache_read_input_tokens": 0,
"cache_creation": {"ephemeral_5m_input_tokens": 17920, "ephemeral_1h_input_tokens": 0},
"output_tokens": 4
}
json
{
"input_tokens": 23,
"cache_creation_input_tokens": 0,
"cache_read_input_tokens": 17920,
"cache_creation": {"ephemeral_5m_input_tokens": 0, "ephemeral_1h_input_tokens": 0},
"output_tokens": 4
}
json
"cache_control": {"type": "ephemeral", "ttl": "1h"}
json
{"prompt_tokens": 3167, "completion_tokens": 4, "total_tokens": 3171}