Come funziona il caching
Il caching opera su prefix matching: il sistema memorizza i token elaborati e li riutilizza quando le richieste successive iniziano con lo stesso contenuto. Considera un chatbot con un system prompt da 2.000 token:1
Richiesta 1
System prompt (2.000 token) + messaggio utente (50 token)Elaborati: 2.050 token · Dalla cache: 0 tokenPrefisso scritto in cache.
2
Richiesta 2
System prompt (2.000 token) + messaggio utente (80 token)Elaborati: 80 token · Dalla cache: 2.000 token
3
Richiesta 3
System prompt (2.000 token) + messaggio utente (120 token)Elaborati: 120 token · Dalla cache: 2.000 token
Prezzi
La maggior parte dei modelli di testo supporta il caching. I prezzi di lettura e scrittura in cache di ogni modello sono riportati nella tabella dei prezzi di Chat Completions, oltre che inmodel_spec.pricing.cache_input e model_spec.pricing.cache_write nella risposta di Elenca modelli.
Alcuni modelli, tra cui Claude, addebitano di più per le scritture in cache rispetto all’input regolare. La prima richiesta che popola la cache costa di più, mentre i successivi cache hit vengono fatturati al prezzo più basso di lettura dalla cache.
Comportamento specifico dei provider
Venice normalizza il caching tra i provider. Per la maggior parte dei modelli, il caching è automatico. Basta inviare le richieste e controllare la risposta per le statistiche della cache. Claude richiede marker espliciti di cache a livello di protocollo, ma Venice li aggiunge automaticamente per i system prompt e la cronologia delle conversazioni. Il comportamento del caching è in ultima analisi controllato da ciascun provider e può cambiare, quindi consulta i doc dei provider per gli ultimi dettagli.Claude Opus 4.5 (Anthropic)
Claude richiede breakpoint di cache espliciti a livello di protocollo. Venice li gestisce automaticamente:- I system prompt vengono memorizzati automaticamente in cache
- La cronologia delle conversazioni viene memorizzata in cache mettendo un breakpoint sul penultimo messaggio dell’utente
Dettagli aggiuntivi:
- Fino a 4 breakpoint per richiesta: il sistema usa il prefisso corrispondente più lungo
- La chiave di cache è byte-exact: modifiche degli spazi, codifiche diverse di immagini o tool riordinati interrompono i cache hit
- Rate limit consapevoli della cache: i token in cache non contano contro il limite ITPM, abilitando un throughput effettivo più alto
- Premio di scrittura del 25%: la prima richiesta costa di più, ma 90% di risparmio sulle letture successive
Controllo manuale della cache
Per casi speciali come memorizzare un documento grande nel primo turno, puoi aggiungere breakpoint espliciti:Tutti gli altri modelli
Il caching è automatico. Non servono parametri speciali. Basta assicurarti che i tuoi prompt superino ~1.024 token e usaprompt_cache_key per un routing coerente.
Parametri della richiesta
prompt_cache_key
Per conversazioni o workflow agentici, usa unprompt_cache_key coerente per migliorare i tassi di cache hit:
Campi della risposta
L’oggettousage della risposta include statistiche sulla cache:
Dettaglio fatturazione (usando Claude Opus 4.5 come esempio):
- 5.000 token in cache × $0,50/1M = $0,0025
- 500 token non in cache × $5,00/1M = $0,0025
- Totale: $0,005 (vs $0,0275 senza caching, risparmio dell’82%)
Best practice
Struttura i prompt per il caching
Metti il contenuto statico all’inizio, il contenuto dinamico alla fine. Buona struttura
Cattiva struttura
Mantieni i prefissi byte-identici
Le chiavi di cache sono calcolate da sequenze di byte esatte. Anche differenze triviali interrompono i cache hit:- Spazi o newline diversi
- Timestamp o ID di richiesta nei prompt
- Ordinamento randomizzato di esempi few-shot
- Formattazione diversa dello stesso contenuto
Soddisfa le soglie minime di token
Se i tuoi prompt sono sotto il minimo (tipicamente 1.024 token), il caching non si attiverà. Per prompt piccoli, considera:- Aggiungere più contesto o esempi per raggiungere la soglia
- Raggruppare più piccole richieste in prompt in batch
- Accettare che il caching non si applicherà per query semplici
Usa prompt_cache_key per le conversazioni
Per conversazioni in corso, imposta unprompt_cache_key coerente:
Monitora le prestazioni della cache
Traccia queste metriche:- Tasso di cache hit:
cached_tokens / prompt_tokens - Risparmi di costo: confronta il costo effettivo con quello senza cache
- Riduzione della latenza: time-to-first-token con vs senza cache hit
cached_tokens è costantemente 0:
- I prompt potrebbero essere sotto la soglia minima dei token
- I prompt potrebbero cambiare tra richieste
- Le richieste potrebbero colpire server diversi (usa
prompt_cache_key) - La cache potrebbe essere scaduta (richieste troppo poco frequenti)
Considera l’economia della cache
Premio di scrittura cache Claude Opus 4.5: la prima richiesta costa il 25% in più, ma 90% di risparmio sulle letture successive.Durata della cache
Le cache scadono dopo un periodo di inattività (tipicamente 5-10 minuti). Questo significa:Caching con tool e funzioni
Le definizioni delle funzioni possono essere memorizzate in cache insieme ai system prompt:Caching con immagini e documenti
Per i modelli vision, le immagini possono essere incluse nel contenuto in cache:Risoluzione problemi
cached_tokens è sempre 0
cached_tokens è sempre 0
cache_creation_input_tokens su ogni richiesta
cache_creation_input_tokens su ogni richiesta
Costi più alti del previsto
Costi più alti del previsto