Vai al contenuto
NotHolyDocs

Guide

Prompt caching

I token di input in cache hanno una tariffa propria. Cosa produce un hit in cache e cosa viene ignorato.

Vedi in Markdown

Alcune richieste riusano un prefisso lungo: un prompt di sistema, un file grande, una parte precedente della conversazione. Quando chi serve il modello trova quel prefisso in cache, quei token di input si pagano alla tariffa dell'input in cache indicata nella pagina dei modelli.

  • La cache è automatica. Non devi segnare niente.
  • cache_control in Messages viene accettato e ignorato.
  • L'utilizzo mostra la parte in cache: prompt_tokens_details.cached_tokens nelle chat completions, input_tokens_details.cached_tokens in Responses, cache_read_input_tokens in Messages.
  • Un hit in cache non è garantito. Per aumentare le probabilità, tieni i contenuti stabili all'inizio del prompt e quelli che cambiano alla fine.
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))

Prossimi passi