Guias
Prompt caching
Tokens de entrada em cache têm tarifa própria. O que gera um cache hit e o que é ignorado.
Algumas requisições reaproveitam um prefixo longo: um system prompt, um arquivo grande, uma parte anterior da conversa. Quando o lado que serve o modelo encontra esse prefixo em cache, esses tokens de entrada são cobrados pela tarifa de entrada em cache mostrada na página de modelos.
- O cache é automático. Você não precisa marcar nada.
cache_controlno Messages é aceito e ignorado.- O uso mostra a parte em cache:
prompt_tokens_details.cached_tokensem chat completions,input_tokens_details.cached_tokensno Responses,cache_read_input_tokensno Messages. - Um cache hit não é garantido. Para aumentar as chances, deixe o conteúdo estável no começo do prompt e o que muda no final.
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))