Vai al contenuto

Ottimizzare le API di Intelligenza Artificiale con Azure API Management

Scopri come gestire efficientemente le API di intelligenza artificiale su Azure.

Negli ultimi anni, le API di intelligenza artificiale generativa hanno rivoluzionato il modo in cui le aziende possono integrare funzionalità intelligenti nelle loro applicazioni. Se hai già iniziato a utilizzare Azure OpenAI e desideri portare queste tecnologie a un livello di produzione, ci sono diverse considerazioni fondamentali da tenere a mente per garantire un’implementazione efficace.

Caricamento bilanciato e gestione degli errori sono elementi chiave. In scenari con un alto volume di richieste, è essenziale distribuire il carico su più istanze. Ad esempio, la logica del circuit breaker aiuta a fermare le richieste verso un’istanza non funzionante, reindirizzando il traffico verso risorse operative. Questo meccanismo di sicurezza è cruciale per mantenere l’affidabilità del servizio.

Le metriche di monitoraggio sono altrettanto importanti. Monitorare le richieste in entrata, quelle che falliscono e quelle che vengono elaborate con successo ti aiuterà a ottimizzare e mantenere le prestazioni della tua soluzione AI. È utile considerare anche il caching delle risposte per ridurre il carico sull’API e contenere i costi.

La sicurezza non può essere sottovalutata. È necessario garantire che solo gli utenti autorizzati possano accedere al modello AI. Inizialmente, molte aziende ricorrono all’uso di chiavi API, ma in contesti aziendali più complessi è consigliabile adottare soluzioni di identità gestita per un controllo accessi più robusto.

A questo proposito, Azure API Management (APIM) offre un approccio promettente per gestire le problematiche sopra menzionate. In particolare, esiste un esempio pratico di Azure che mostra come implementare queste funzionalità in un contesto aziendale.

Le risorse necessarie

Per cominciare, puoi utilizzare alcune risorse utili per approfondire le funzionalità implementate in questo esempio:

Esempio di implementazione aziendale

In questo esempio, è sviluppata un’app di chat con frontend e backend, supportata da risorse cloud che possono essere implementate su Azure utilizzando il CLI di Azure Developer. L’interfaccia utente dell’app è intuitiva e facile da utilizzare.

Per quanto riguarda l’architettura, il flusso inizia con una richiesta POST contenente un prompt. Viene eseguita una serie di controlli che includono:

  1. Verifica dell’autenticazione attraverso l’ID dell’abbonato fornito.
  2. Controllo delle politiche per garantire che la richiesta rispetti i limiti di token ed è poi inviata al bilanciatore di carico.
  3. Se vi è un errore da parte di un backend, la richiesta viene reindirizzata a una risorsa operativa.

Allo stesso modo, l’implementazione di un semafori semantico può ottimizzare le risposte, servendo contenuti già presenti nella cache quando richieste simili vengono effettuate.

Procedura di avvio

Per iniziare, assicurati di avere un terminale pronto e il CLI di Azure Developer installato. Segui questi passaggi:

  1. Clona il repository: git clone https://github.com/Azure-Samples/genai-gateway-apim.git
  2. Accedi a Azure: azd auth login
  3. Avvia l’app localmente e verifica le risorse cloud implementate. Per farlo, esegui i seguenti comandi nella directory del repository:

cd src
npm install
npm start

L’app sarà disponibile su http://localhost:3000, con l’API accessibile a http://localhost:1337.

Esplora ora l’esempio di Azure – APIM + Gen AI e vedi come funziona nella pratica. Se hai domande o feedback, non esitare a contattarci.