Руководства
Кэширование промптов
У входных токенов из кэша своя цена. Что даёт попадание в кэш и что игнорируется.
Некоторые запросы повторно используют длинный префикс: системный промпт, большой файл, раннюю часть переписки. Если на стороне обслуживания этот префикс найден в кэше, такие входные токены оплачиваются по цене входа из кэша, указанной на странице моделей.
- Кэширование автоматическое. Ничего помечать не нужно.
cache_controlв Messages принимается и игнорируется.- В данных о расходе видна закэшированная часть:
prompt_tokens_details.cached_tokensв chat completions,input_tokens_details.cached_tokensв Responses,cache_read_input_tokensв Messages. - Попадание в кэш не гарантировано. Чтобы повысить шансы, держите неизменное содержимое в начале промпта, а меняющееся — в конце.
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))