Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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à del gateway di intelligenza artificiale per le API di intelligenza artificiale generative.
Nota
- Usare le funzionalità del gateway di intelligenza artificiale per gestire le API esposte dal servizio OpenAI di Azure, disponibili tramite l'API di inferenza del modello di intelligenza artificiale di Azure o con modelli compatibili con OpenAI gestiti tramite provider di inferenza di terze parti.
- Le funzionalità del gateway di intelligenza artificiale 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à a velocità effettiva 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 nella Gestione API di Azure utilizzando un'esperienza con un solo clic. 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, generare metriche dei token e memorizzazione nella cache semantica.
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 un limite di frequenza, espresso in token al minuto (TPM). È anche possibile impostare una quota di token in un periodo specificato, ad esempio ogni ora, giornaliera, settimanale, mensile o annuale.
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 precalcolo dei token del prompt sul lato di Gestione API di Azure, riducendo al minimo le richieste non necessarie al back-end del servizio Azure OpenAI nel caso in cui il prompt superi 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 altre API LLM, Gestione API fornisce i criteri llm-token-limit equivalenti.
Generare i criteri delle metriche dei token
La politica delle metriche di emissione del token di Azure OpenAI invia metriche ad Application Insights sull'utilizzo dei token LLM tramite le API del servizio Azure OpenAI. 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à.
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 le altre API LLM, Gestione API fornisce la politica equivalente llm-emit-token-metric per inviare metriche.
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.
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.
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.
In Gestione API, abilita la memorizzazione nella cache semantica utilizzando Azure Redis Enterprise, Azure Managed Redis o un'altra cache esterna compatibile con RediSearch e integrata in Gestione API di Azure. 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 altre API LLM, Gestione API fornisce i criteri llm-semantic-cache-store-policy e llm-semantic-cache-lookup-policy equivalenti.
Registrazione dell'utilizzo, delle richieste e dei completamenti dei token
Abilitare un'impostazione di diagnostica nell'istanza di Gestione API per registrare le richieste elaborate dal gateway per le API REST del modello linguistico di grandi dimensioni. Per ogni richiesta, i dati vengono inviati a Monitoraggio di Azure, inclusi l'utilizzo dei token (token di richiesta, token di completamento e token totali), il nome del modello usato e, facoltativamente, i messaggi di richiesta e risposta (richiesta e completamento). Le richieste e le risposte di grandi dimensioni vengono suddivise in più voci di log numerate in sequenza per la ricostruzione successiva, se necessario.
L'amministratore di Gestione API può usare i log del gateway LLM insieme ai log del gateway gestione API per scenari come i seguenti:
- Calcolare l'utilizzo per la fatturazione: calcolare le metriche di utilizzo per la fatturazione in base al numero di token utilizzati da ogni applicazione o consumer di API (ad esempio, segmentato in base all'ID sottoscrizione o all'indirizzo IP).
- Esaminare i messaggi : per facilitare il debug o il controllo, esaminare e analizzare richieste e completamenti.
Altre informazioni sul monitoraggio di Gestione API con Azure Monitor.
Criteri di sicurezza dei contenuti
Per proteggere gli utenti da contenuti dannosi, offensivi o fuorvianti, è possibile moderare automaticamente tutte le richieste in ingresso a un'API LLM configurando i criteri llm-content-safety . Il criterio applica i controlli di sicurezza dei contenuti alle richieste LLM trasmettendole prima al servizio Sicurezza dei contenuti di Intelligenza artificiale di Azure prima di inviare all'API LLM back-end.
Lab ed esempi
- Lab per le funzionalità del gateway di intelligenza artificiale di Gestione API di Azure
- Workshop sul gateway di intelligenza artificiale
- Azure Gestione API (APIM) - Esempio di Azure OpenAI (Node.js)
- Codice di esempio Python per l'uso di Azure OpenAI con Gestione API
Considerazioni sull'architettura e sulla progettazione
- Architettura di riferimento del gateway di intelligenza artificiale con Gestione API
- Acceleratore di zona di destinazione del gateway dell'hub di intelligenza artificiale
- Progettazione e implementazione di una soluzione gateway con risorse OpenAI di Azure
- Usare un gateway davanti a più distribuzioni o istanze di Azure OpenAI
Contenuto correlato
- Blog: Introduzione alle funzionalità di intelligenza artificiale in Gestione API di Azure
- Blog: Integrazione di Sicurezza dei contenuti di Azure con Gestione API per gli endpoint OpenAI di Azure
- Training: gestire le API di intelligenza artificiale generative con Azure Gestione API
- Bilanciamento del carico intelligente per gli endpoint OpenAI e Azure Gestione API
- Autenticare e autorizzare l'accesso alle API OpenAI di Azure usando Azure Gestione API