Condividi tramite


Ottenere risposte memorizzate nella cache delle richieste dell'API Azure OpenAI

SI APPLICA A: Tutti i livelli di Gestione API

Usare i criteri per eseguire la azure-openai-semantic-cache-lookup ricerca nella cache delle risposte alle richieste api di completamento chat OpenAI di Azure da una cache esterna configurata, in base alla prossimità vettoriale della richiesta alle richieste precedenti e a una soglia del punteggio di somiglianza specificata. La memorizzazione delle risposte nella cache riduce la larghezza di banda e i requisiti di elaborazione imposti sull'API Azure OpenAI back-end e riduce la latenza percepita dagli utenti delle API.

Nota

Nota

Impostare gli elementi e gli elementi figlio del criterio nell'ordine specificato nell'istruzione del criterio. Altre informazioni su come impostare o modificare i criteri di Gestione API.

Azure OpenAI supportato nei modelli di Azure AI Foundry

I criteri vengono usati con le API aggiunte a Gestione API dai modelli OpenAI di Azure in AI Foundry dei tipi seguenti:

Tipo di API Modelli supportati
Completamento della chat gpt-3.5

gpt-4

gpt-4o

gpt-4o-mini

o1

o3
Incorporamenti text-embedding-3-large

text-embedding-3-small

text-embedding-ada-002
Risposte (anteprima) gpt-4o (Versioni: 2024-11-20, 2024-08-06, 2024-05-13)

gpt-4o-mini (Versione: 2024-07-18)

gpt-4.1 (Versione: 2025-04-14)

gpt-4.1-nano (Versione: 2025-04-14)

gpt-4.1-mini (Versione: 2025-04-14)

gpt-image-1 (Versione: 2025-04-15)

o3 (Versione: 2025-04-16)

o4-mini (Versione: '2025-04-16)

Nota

Le API di completamento tradizionali sono disponibili solo con le versioni del modello legacy e il supporto è limitato.

Per informazioni aggiornate sui modelli e sulle relative funzionalità, vedere Azure OpenAI in Foundry Models(OpenAI di Azure in Foundry Models).

Istruzione del criterio

<azure-openai-semantic-cache-lookup
    score-threshold="score threshold to return cached response"
    embeddings-backend-id ="backend entity ID for embeddings API"
    embeddings-backend-auth ="system-assigned"             
    ignore-system-messages="true | false"      
    max-message-count="count" >
    <vary-by>"expression to partition caching"</vary-by>
</azure-openai-semantic-cache-lookup>

Attributi

Attributo Descrizione Richiesto Valore predefinito
score-threshold La soglia del punteggio definisce il modo in cui un prompt in ingresso deve corrispondere a un prompt memorizzato nella cache per restituire la risposta archiviata. Il valore è compreso tra 0,0 e 1,0. I valori inferiori richiedono una maggiore somiglianza semantica per una corrispondenza. Altre informazioni. N/D
embeddings-backend-id Back-end ID per la chiamata API di incorporamento. N/D
embeddings-backend-auth Autenticazione usata per il back-end dell'API di incorporamento. Sì. Deve essere impostato su system-assigned. N/D
ignore-system-messages Booleano. Se impostato su true (scelta consigliata), rimuove i messaggi di sistema da una richiesta di completamento della chat prima di valutare la somiglianza della cache. NO falso
max-message-count Se specificato, numero di messaggi di dialogo rimanenti dopo il quale la memorizzazione nella cache viene ignorata. NO N/D

Elementi

Nome Descrizione Richiesto
variare in base a Espressione personalizzata determinata in fase di esecuzione la cui memorizzazione nella cache delle partizioni di valore. Se vengono aggiunti più elementi vary-by, i valori vengono concatenati per creare una combinazione univoca. NO

Utilizzo

Note sull'utilizzo

  • Questo criterio può essere usato una sola volta in una sezione di criteri.
  • Ottimizzare il valore di score-threshold in base all'applicazione per assicurarsi che venga usata la sensibilità corretta per determinare quando restituire risposte memorizzate nella cache per le query. Iniziare con un valore basso, ad esempio 0,05, e regolare per ottimizzare il rapporto tra riscontri nella cache e mancati riscontri nella cache.
  • La soglia del punteggio superiore a 0,2 può causare una mancata corrispondenza della cache. Prendere in considerazione l'uso di un valore inferiore per i casi d'uso sensibili.
  • Controllare l'accesso tra utenti alle voci della cache specificando vary-by con identificatori specifici di utenti o gruppi di utenti.
  • Il modello di incorporamento deve avere capacità sufficiente e dimensioni del contesto sufficienti per supportare il volume e le richieste dei prompt.
  • Prendere in considerazione l'aggiunta di criteri llm-content-safety con prompt shield per proteggere da attacchi di richiesta.
  • È consigliabile configurare criteri di limite di frequenza (o criteri rate-limit-by-key ) immediatamente dopo qualsiasi ricerca nella cache. Ciò consente di evitare che il servizio back-end venga sovraccaricato se la cache non è disponibile.

Esempi

Esempio con i criteri azure-openai-semantic-cache-store corrispondenti

Nell'esempio seguente viene illustrato come usare i azure-openai-semantic-cache-lookup criteri insieme azure-openai-semantic-cache-store ai criteri per recuperare risposte memorizzate nella cache semanticamente simili con una soglia di punteggio di somiglianza pari a 0,05. I valori memorizzati nella cache vengono partizionati dall'ID sottoscrizione del chiamante.

Nota

Aggiungi una policy di limite di velocità (o politica limite di velocità per chiave ) dopo la ricerca della cache per aiutare a limitare il numero di chiamate e prevenire sovraccarichi sul servizio backend nel caso in cui la cache non sia disponibile.

<policies>
    <inbound>
        <base />
        <azure-openai-semantic-cache-lookup
            score-threshold="0.05"
            embeddings-backend-id ="azure-openai-backend"
            embeddings-backend-auth ="system-assigned" >
            <vary-by>@(context.Subscription.Id)</vary-by>
        </azure-openai-semantic-cache-lookup>
        <rate-limit calls="10" renewal-period="60" />
    </inbound>
    <outbound>
        <azure-openai-semantic-cache-store duration="60" />
        <base />
    </outbound>
</policies>

Per ulteriori informazioni sull'utilizzo dei criteri, vedere: