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:Richiesta 1
System prompt (2.000 token) + messaggio utente (50 token)Elaborati: 2.050 token · Dalla cache: 0 tokenPrefisso scritto in cache.
Richiesta 2
System prompt (2.000 token) + messaggio utente (80 token)Elaborati: 80 token · Dalla cache: 2.000 token
Modelli supportati e prezzi
Loading…
Claude Opus 4.5 addebita un prezzo premium per le scritture in cache ($7,50/1M token vs $6,00 per input regolare). La prima richiesta che popola la cache costa di più, ma i successivi cache hit risparmiano il 90%. Gli altri modelli non addebitano costi extra per le scritture in 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.| Modello | Provider | Min token | Durata cache | Costo scrittura | Sconto in lettura | Marker espliciti |
|---|---|---|---|---|---|---|
| Claude Opus 4.5 | Anthropic | ~4.000 | 5 min | +25% | 90% | Richiesti |
| GPT-5.2 | OpenAI | 1.024 | 5-10 min | Nessuno | 90% | Non necessari |
| Gemini | ~1.024 | 1 ora | Nessuno | 75-90% | Non necessari | |
| Grok | xAI | ~1.024 | 5 min | Nessuno | 75-88% | Non necessari |
| DeepSeek | DeepSeek | ~1.024 | 5 min | Nessuno | 50% | Non necessari |
| MiniMax | MiniMax | ~1.024 | 5 min | Nessuno | 90% | Non necessari |
| Kimi | Moonshot | ~1.024 | 5 min | Nessuno | 50% | Non necessari |
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
| Turno | Token del prompt | Lettura cache | Scrittura cache | Risparmio |
|---|---|---|---|---|
| 1 | 10.979 | 0 | 10.938 | Prima scrittura |
| 2 | 11.031 | 10.938 | 31 | 99,7% in cache |
| 3 | 11.062 | 10.969 | 52 | 99,5% in cache |
- 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
| Parametro | Tipo | Modelli | Descrizione |
|---|---|---|---|
prompt_cache_key | string | Tutti | Suggerimento di routing per affinità di cache. Le richieste con la stessa chiave hanno maggiori probabilità di colpire lo stesso server con cache calda. |
cache_control | object | Claude | Contrassegna i blocchi di contenuto per il caching. Vedi la sezione Claude Opus 4.5. |
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:
| Campo | Descrizione |
|---|---|
prompt_tokens | Totale dei token di input nella richiesta |
prompt_tokens_details.cached_tokens | Token serviti dalla cache (fatturati al prezzo scontato) |
prompt_tokens_details.cache_creation_input_tokens | Token scritti in cache (possono comportare un premio su Claude) |
- 5.000 token in cache × $0,60/1M = $0,003
- 500 token non in cache × $6,00/1M = $0,003
- Totale: $0,006 (vs $0,033 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| Posizione | Contenuto | In cache? |
|---|---|---|
| 1 | Istruzioni di sistema | Sì |
| 2 | Documenti di riferimento | Sì |
| 3 | Esempi few-shot | Sì |
| 4 | Query utente | No |
| Posizione | Contenuto | In cache? |
|---|---|---|
| 1 | Timestamp corrente | No (invalida tutto ciò che segue) |
| 2 | Istruzioni di sistema | No |
| 3 | Query utente | No |
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.| Scenario | Conviene il premio di scrittura cache? |
|---|---|
| 1 richiesta con questo prompt | No (paghi il 25% in più senza beneficio) |
| 2+ richieste con lo stesso prefisso | Sì (pareggio alla seconda richiesta) |
| Prompt che cambiano rapidamente | No (costi di scrittura costanti) |
| System prompt stabile, molte query | Sì (ammortizzato su molte letture) |
Durata della cache
Le cache scadono dopo un periodo di inattività (tipicamente 5-10 minuti). Questo significa:| Pattern di traffico | Beneficio del caching |
|---|---|
| Richieste continue (gap < 5 min) | Alto: la cache rimane calda |
| Traffico a raffica (gap > 10 min) | Limitato: la cache scade tra le raffiche |
| Richieste sporadiche (a ore di distanza) | Nessuno: la cache è sempre fredda |
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
| Causa | Soluzione |
|---|---|
| Prompt troppo corto | Assicurati che il prompt superi ~1.024 token (4.000 per Claude) |
| Prefisso cambiato | Controlla contenuti dinamici all’inizio del tuo prompt |
| Prima richiesta | Atteso: la prima richiesta scrive in cache, le successive leggono |
| Cache scaduta | Riduci il tempo tra le richieste a meno di 5 minuti |
| Server diversi | Aggiungi prompt_cache_key per instradare le richieste in modo coerente |
cache_creation_input_tokens su ogni richiesta
cache_creation_input_tokens su ogni richiesta
| Causa | Soluzione |
|---|---|
| Prompt che cambia | Rimuovi timestamp, ID di richiesta o altri contenuti dinamici dal prefisso |
| cache_control mancante | Per Claude, assicurati che il marker cache_control sia presente sui blocchi di contenuto |
| Sotto soglia | I prompt sotto il conteggio minimo di token non attivano il caching |
| Singolo messaggio utente | Atteso per il primo turno. La cache cresce con la cronologia della conversazione. |
Costi più alti del previsto
Costi più alti del previsto
| Causa | Soluzione |
|---|---|
| Premio di scrittura cache | Claude addebita il 25% in più per le scritture. Conviene solo se riutilizzi il prompt. |
| Basso riutilizzo | Se ogni prompt è unico, paghi i costi di scrittura senza i benefici di lettura |
| Cattiva struttura del prompt | Sposta i contenuti dinamici alla fine in modo che il prefisso rimanga stabile |