Memorizzazione nella cache prompt
La memorizzazione nella cache dei prompt consente di ridurre la latenza complessiva delle richieste e i costi per richieste più lunghe con contenuto identico all'inizio della richiesta. "Prompt" in questo contesto fa riferimento all'input inviato al modello come parte della richiesta di completamento della chat. Invece di rielaborare gli stessi token di input più o più volte, il modello è in grado di conservare una cache temporanea di dati di input elaborati per migliorare le prestazioni complessive. La memorizzazione nella cache dei prompt non ha alcun impatto sul contenuto di output restituito nella risposta del modello oltre a una riduzione della latenza e dei costi. Per i modelli supportati, i token memorizzati nella cache vengono fatturati con uno sconto del 50% sui prezzi dei token di input.
Modelli supportati
Attualmente solo i modelli seguenti supportano la memorizzazione nella cache dei prompt con Azure OpenAI:
o1-preview-2024-09-12
o1-mini-2024-09-12
gpt-4o-2024-05-13
gpt-4o-2024-08-06
gpt-4o-mini-2024-07-18
Supporto dell'API
Il supporto ufficiale per la memorizzazione nella cache dei prompt è stato aggiunto per la prima volta nella versione 2024-10-01-preview
dell'API . Al momento, solo o1-preview-2024-09-12
i modelli e o1-mini-2024-09-12
supportano il parametro di risposta dell'API cached_tokens
.
Introduzione
Affinché una richiesta possa sfruttare i vantaggi della memorizzazione nella cache delle richieste, la richiesta deve essere entrambe:
- Lunghezza minima di 1.024 token.
- I primi 1.024 token nel prompt devono essere identici.
Quando viene trovata una corrispondenza tra un prompt e il contenuto corrente della cache dei prompt, viene definita hit della cache. I riscontri nella cache verranno visualizzati come cached_tokens
sotto prompt_token_details
nella risposta di completamento della chat.
{
"created": 1729227448,
"model": "o1-preview-2024-09-12",
"object": "chat.completion",
"service_tier": null,
"system_fingerprint": "fp_50cdd5dc04",
"usage": {
"completion_tokens": 1518,
"prompt_tokens": 1566,
"total_tokens": 3084,
"completion_tokens_details": {
"audio_tokens": null,
"reasoning_tokens": 576
},
"prompt_tokens_details": {
"audio_tokens": null,
"cached_tokens": 1408
}
}
}
Dopo che i primi 1.024 riscontri nella cache dei token si verificheranno per ogni 128 token identici aggiuntivi.
Una singola differenza di caratteri nei primi 1.024 token comporterà un mancato riscontro nella cache caratterizzato da un cached_tokens
valore pari a 0. La memorizzazione nella cache dei prompt è abilitata per impostazione predefinita senza alcuna configurazione aggiuntiva necessaria per i modelli supportati.
Che cos'è memorizzato nella cache?
I modelli di serie o1 sono solo testo e non supportano messaggi di sistema, immagini, chiamate di strumenti/funzioni o output strutturati. Ciò limita l'efficacia della memorizzazione nella cache delle richieste per questi modelli alle parti utente/assistente della matrice di messaggi che hanno meno probabilità di avere un prefisso di token 1024 identico.
Per gpt-4o
i modelli e gpt-4o-mini
, la memorizzazione nella cache dei prompt è supportata per:
Memorizzazione nella cache supportata | Descrizione |
---|---|
Messaggi | Matrice di messaggi completa: contenuto di sistema, utente e assistente |
Immagini | Immagini incluse nei messaggi utente, sia come collegamenti che come dati con codifica Base64. Il parametro detail deve essere impostato nello stesso modo tra le richieste. |
Uso degli strumenti | Sia la matrice di messaggi che le definizioni degli strumenti |
Output strutturati | Lo schema di output strutturato viene aggiunto come prefisso al messaggio di sistema |
Per migliorare la probabilità che si verifichino riscontri nella cache, è necessario strutturare le richieste in modo che il contenuto ripetitivo si verifichi all'inizio della matrice di messaggi.
È possibile disabilitare la memorizzazione nella cache dei prompt?
La memorizzazione nella cache dei prompt è abilitata per impostazione predefinita. Non esiste alcuna opzione di rifiuto esplicito.
Come funziona la memorizzazione nella cache delle richieste per le distribuzioni con provisioning?
Per i modelli supportati nelle distribuzioni con provisioning, viene scontato fino al 100% dei token di input memorizzati nella cache. Per altre informazioni, vedere la documentazione relativa alla velocità effettiva con provisioning.