Condividi tramite


Panoramica delle funzionalità del gateway di intelligenza artificiale generative in Azure Gestione API

SI APPLICA A: Tutti i livelli di Gestione API

Questo articolo presenta le funzionalità di Azure Gestione API per facilitare la gestione delle API di intelligenza artificiale generative, ad esempio quelle fornite dal servizio Azure OpenAI. Azure Gestione API offre una gamma di criteri, metriche e altre funzionalità per migliorare la sicurezza, le prestazioni e l'affidabilità per le API che servono le app intelligenti. Collettivamente, queste funzionalità sono denominate funzionalità gateway di intelligenza artificiale generative (GenAI) per le API di intelligenza artificiale generative.

Nota

  • Questo articolo è incentrato sulle funzionalità per gestire le API esposte dal servizio OpenAI di Azure. Molte delle funzionalità del gateway GenAI si applicano ad altre API LLM (Large Language Model), incluse quelle disponibili tramite l'API di inferenza del modello di intelligenza artificiale di Azure.
  • Le funzionalità del gateway di intelligenza artificiale generative sono funzionalità del gateway API esistente di Gestione API, non di un gateway API separato. Per altre informazioni sulle Gestione API, vedere Panoramica di Azure Gestione API.

Sfide nella gestione delle API di intelligenza artificiale generative

Una delle risorse principali disponibili nei servizi di intelligenza artificiale generativa è token. Il servizio Azure OpenAI assegna la quota per le distribuzioni di modelli espresse in token al minuto (TPM) che vengono quindi distribuiti tra i consumer del modello, ad esempio applicazioni diverse, team di sviluppatori, reparti all'interno dell'azienda e così via.

Azure semplifica la connessione di una singola app al servizio Azure OpenAI: è possibile connettersi direttamente usando una chiave API con un limite TPM configurato direttamente a livello di distribuzione del modello. Tuttavia, quando si inizia a crescere il portfolio di applicazioni, vengono presentate più app che chiamano singoli o persino più endpoint del servizio OpenAI di Azure distribuiti come istanze con pagamento in base al consumo o unità elaborate con provisioning (PTU). Ciò comporta determinate sfide:

  • Come viene rilevato l'utilizzo dei token tra più applicazioni? È possibile calcolare gli addebiti incrociati per più applicazioni/team che usano modelli di servizio OpenAI di Azure?
  • Come si garantisce che una singola app non usi l'intera quota TPM, lasciando le altre app senza alcuna opzione per l'uso dei modelli di servizio OpenAI di Azure?
  • In che modo la chiave API viene distribuita in modo sicuro tra più applicazioni?
  • Come viene distribuito il carico tra più endpoint OpenAI di Azure? È possibile assicurarsi che la capacità di cui è stato eseguito il commit in PTU venga esaurita prima di eseguire il fallback alle istanze con pagamento in base al consumo?

Il resto di questo articolo descrive in che modo Azure Gestione API può aiutare a risolvere questi problemi.

Importare la risorsa del servizio OpenAI di Azure come API

Importare un'API da un endpoint del servizio OpenAI di Azure a Gestione API di Azure usando un'esperienza a clic singolo. Gestione API semplifica il processo di onboarding importando automaticamente lo schema OpenAPI per l'API OpenAI di Azure e configura l'autenticazione nell'endpoint OpenAI di Azure usando l'identità gestita, eliminando la necessità di una configurazione manuale. All'interno della stessa esperienza intuitiva, è possibile preconfigurare i criteri per i limiti dei token e generare metriche dei token.

Screenshot del riquadro dell'API OpenAI di Azure nel portale.

Criteri di limite dei token

Configurare i criteri di limite di token OpenAI di Azure per gestire e applicare limiti per ogni consumer di API in base all'uso dei token del servizio OpenAI di Azure. Con questo criterio è possibile impostare limiti, espressi in token al minuto (TPM).

Diagramma della limitazione dei token del servizio OpenAI di Azure in Gestione API.

Questo criterio offre flessibilità per assegnare limiti basati su token su qualsiasi chiave del contatore, ad esempio la chiave di sottoscrizione, l'indirizzo IP di origine o una chiave arbitraria definita tramite un'espressione di criteri. Il criterio abilita anche il precalcolazione dei token di richiesta sul lato Azure Gestione API, riducendo al minimo le richieste non necessarie al back-end del servizio Azure OpenAI se il prompt supera già il limite.

L'esempio di base seguente illustra come impostare un limite TPM di 500 per ogni chiave di sottoscrizione:

<azure-openai-token-limit counter-key="@(context.Subscription.Id)" 
    tokens-per-minute="500" estimate-prompt-tokens="false" remaining-tokens-variable-name="remainingTokens">
</azure-openai-token-limit>

Suggerimento

Per gestire e applicare i limiti dei token per le API LLM disponibili tramite l'API di inferenza del modello di intelligenza artificiale di Azure, Gestione API fornisce i criteri llm-token-limit equivalenti.

Generare i criteri delle metriche dei token

I criteri delle metriche di emissione del token openAI di Azure inviano metriche ad Application Insights sull'utilizzo dei token LLM tramite le API del servizio OpenAI di Azure. I criteri consentono di fornire una panoramica dell'utilizzo dei modelli di servizio OpenAI di Azure in più applicazioni o consumer di API. Questo criterio può essere utile per scenari di chargeback, monitoraggio e pianificazione della capacità.

Diagramma della creazione di metriche del token del servizio OpenAI di Azure usando Gestione API.

Questo criterio acquisisce le metriche di richiesta, completamento e utilizzo totale dei token e le invia a uno spazio dei nomi di Application Insights di propria scelta. Inoltre, è possibile configurare o selezionare le dimensioni predefinite per suddividere le metriche di utilizzo dei token, in modo da analizzare le metriche in base all'ID sottoscrizione, all'indirizzo IP o a una dimensione personalizzata a scelta.

Ad esempio, i criteri seguenti inviano le metriche ad Application Insights suddivise per indirizzo IP client, API e utente:

<azure-openai-emit-token-metric namespace="openai">
    <dimension name="Client IP" value="@(context.Request.IpAddress)" />
    <dimension name="API ID" value="@(context.Api.Id)" />
    <dimension name="User ID" value="@(context.Request.Headers.GetValueOrDefault("x-user-id", "N/A"))" />
</azure-openai-emit-token-metric>

Suggerimento

Per inviare metriche per le API LLM disponibili tramite l'API di inferenza del modello di intelligenza artificiale di Azure, Gestione API fornisce i criteri equivalenti di llm-emit-token-metric.

Bilanciamento del carico back-end e interruttore

Una delle sfide legate alla creazione di applicazioni intelligenti consiste nel garantire che le applicazioni siano resilienti agli errori back-end e possano gestire carichi elevati. Configurando gli endpoint del servizio Azure OpenAI usando back-end in Azure Gestione API, è possibile bilanciare il carico tra di essi. È anche possibile definire regole di interruttore per interrompere l'inoltro delle richieste ai back-end del servizio OpenAI di Azure se non sono reattivi.

Il servizio di bilanciamento del carico back-end supporta il bilanciamento del carico round robin, ponderato e basato su priorità, offrendo flessibilità per definire una strategia di distribuzione del carico che soddisfi i requisiti specifici. Ad esempio, definire le priorità all'interno della configurazione del servizio di bilanciamento del carico per garantire un utilizzo ottimale di endpoint OpenAI di Azure specifici, in particolare quelli acquistati come PTU.

Diagramma dell'uso del bilanciamento del carico back-end in Gestione API.

L'interruttore back-end include la durata della corsa dinamica, applicando i valori dell'intestazione Retry-After fornita dal back-end. In questo modo si garantisce un ripristino preciso e tempestivo dei back-end, ottimizzando l'utilizzo dei back-end prioritari.

Diagramma dell'uso dell'interruttore back-end in Gestione API.

Criteri di memorizzazione nella cache semantica

Configurare i criteri di memorizzazione nella cache semantica di Azure OpenAI per ottimizzare l'uso dei token archiviando i completamenti per richieste simili.

Diagramma della memorizzazione nella cache semantica in Gestione API.

In Gestione API abilitare la memorizzazione nella cache semantica usando Azure Redis Enterprise o un'altra cache esterna compatibile con RediSearch ed eseguito l'onboarding in Azure Gestione API. Usando l'API Incorporamenti del servizio OpenAI di Azure, i criteri azure-openai-semantic-cache-store e azure-openai-semantic-cache-lookup archiviano e recuperano completamenti di richieste semanticamente simili dalla cache. Questo approccio garantisce il riutilizzo dei completamenti, con conseguente riduzione del consumo di token e prestazioni di risposta migliorate.

Suggerimento

Per abilitare la memorizzazione nella cache semantica per le API LLM disponibili tramite l'API di inferenza del modello di intelligenza artificiale di Azure, Gestione API fornisce i criteri llm-semantic-cache-store-policy e llm-semantic-cache-lookup-policy.

Lab ed esempi

Considerazioni sull'architettura e sulla progettazione