Azure API Management è una piattaforma che consente di pubblicare, proteggere, trasformare, mantenere e monitorare API in modo centralizzato. Offre funzionalità[ avanzate come gestione del traffico, applicazione di policy, controllo degli accessi e analytics. In particolare, è utile quando vogliamo esporre modelli di intelligenza artificiale tramite endpoint sicuri e governati.
Una delle novità più interessanti recentemente introdotte in Azure AI Foundry è la possibilità di importare direttamente i suoi endpoint in API Management. Questa nuova integrazione consente di centralizzare il controllo degli endpoint di modelli AI distribuiti e di esporli facilmente tramite un'API REST. Il vantaggio è triplice: oltre a semplificare l'integrazione con applicazioni esterne e migliorare la visibilità operativa e la gestione della sicurezza e delle performance, consente anche di sfruttare appieno le funzionalità di API Management come la generazione automatica della documentazione API, la personalizzazione delle risposte attraverso le policy, e l'associazione a prodotti per la gestione degli accessi e delle sottoscrizioni.
Per importare l'API, accediamo al portale di Azure e navighiamo nella nostra istanza di API Management. Da lì, scegliamo di aggiungere una nuova API selezionando Azure AI Foundry come risorsa.

Prima di tutto scegliamo il progetto AI Foundry da esporre.

Configuriamo poi il nome visualizzato e il base path. A seconda dei client supportati, selezioniamo l'opzione Azure OpenAI o Azure AI.

La differenza principale è nel percorso: Azure AI usa /models con nome nel corpo; Azure OpenAI usa /openai/deployments/{deployment} con nome nel path.
Possiamo anche definire politiche per la gestione del consumo di token, la cache semantica e la sicurezza dei contenuti. Per limitare l'utilizzo dei token, possiamo applicare la policy llm-token-limit, che consente di impostare soglie di consumo (per minuto, ora o giorno). Se il limite viene superato, il servizio restituisce un errore 429 o 403. È possibile anche stimare i token del prompt in anticipo per bloccare richieste prima del backend.

Per monitorare l'utilizzo, la policy llm-emit-token-metric registra metriche su Application Insights, tracciando il numero di token usati per prompt, completion e totale.

Queste metriche possono essere analizzate per API ID, client IP o subscription ID, migliorando il controllo e la reportistica.
Per ottimizzare la performance, si può abilitare la cache semantica usando le policy azure-openai-semantic-cache-lookup e azure-openai-semantic-cache-store.

Queste analizzano la similarità semantica delle richieste per recuperare risposte precedenti simili, riducendo latenza e richieste al backend. Questo approccio è particolarmente utile per prompt ripetitivi o standardizzati e per usufruirne è necessario di Redis Enterprise Cache.
A questo punto possiamo procedere a testare il modello. L'autenticazione utilizza gli stessi meccanismi previsti da API Management, come l'identità gestita dal sistema. Questa viene automaticamente configurata insieme a policy che indirizzano le richieste verso il backend, garantendo un'integrazione coerente e sicura con i servizi AI. Questo approccio semplifica la connessione tra i servizi e garantisce coerenza nella gestione delle API.
Commenti
Per inserire un commento, devi avere un account.
Fai il login e torna a questa pagina, oppure registrati alla nostra community.
Approfondimenti
Fornire parametri ad un Web component HTML
Montare Azure Blob Storage su Linux con BlobFuse2
Disabilitare le run concorrenti di una pipeline di Azure DevOps
Supportare la crittografia di ASP.NET Core con Azure Container App
Rendere le variabili read-only in una pipeline di Azure DevOps
Simulare Azure Cosmos DB in locale con Docker
Generare una User Delegation SAS in .NET per Azure Blob Storage
Utilizzare i variable font nel CSS
Path addizionali per gli asset in ASP.NET Core MVC
Creare una libreria CSS universale: Clip-path
Recuperare App Service cancellati su Azure
Loggare le query più lente con Entity Framework
I più letti di oggi
- Gestione ciclo di vita in .NET Aspire
- Sfruttare i nuovi overload di TimeSpan.From* per creare timespan usando numeri interi
- .NET Conference Italia 2024 - Milano
- Gestione CSS in Blazor con .NET 9
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!
- ecco tutte le novità pubblicate sui nostri siti questa settimana: https://aspit.co/wkly buon week-end!