Перейти к содержимому
NotHolyДокументация

Руководства

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

У входных токенов из кэша своя цена. Что даёт попадание в кэш и что игнорируется.

Открыть как Markdown

Некоторые запросы повторно используют длинный префикс: системный промпт, большой файл, раннюю часть переписки. Если на стороне обслуживания этот префикс найден в кэше, такие входные токены оплачиваются по цене входа из кэша, указанной на странице моделей.

  • Кэширование автоматическое. Ничего помечать не нужно.
  • cache_control в Messages принимается и игнорируется.
  • В данных о расходе видна закэшированная часть: prompt_tokens_details.cached_tokens в chat completions, input_tokens_details.cached_tokens в Responses, cache_read_input_tokens в Messages.
  • Попадание в кэш не гарантировано. Чтобы повысить шансы, держите неизменное содержимое в начале промпта, а меняющееся — в конце.
Python
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.notholy.com/v1", api_key=os.environ["NOTHOLY_API_KEY"])

system = "You review web application code for an authorized assessment. Report findings with file, line, CWE and a fix."
r = client.chat.completions.create(
    model="notholy-specter",
    messages=[{"role": "system", "content": system}, {"role": "user", "content": "Review: res.send(req.query.name)"}],
)
print(r.usage.prompt_tokens, getattr(r.usage.prompt_tokens_details, "cached_tokens", 0))

Что дальше