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.
Informazioni su come aggiungere il bilanciamento del carico di livello aziendale all'applicazione per estendere l'app di chat oltre i modelli OpenAI di Azure nel token e nei limiti di quota del modello di Microsoft Foundry. Questo approccio usa Azure Gestione API per indirizzare in modo intelligente il traffico tra tre risorse OpenAI di Azure.
Questo articolo richiede la distribuzione di due esempi distinti:
- App di chat
- Attendere di distribuire l'app di chat fino a quando non viene distribuito l'esempio di bilanciamento del carico.
- Se l'app chat è già stata distribuita una sola volta, modificare la variabile di ambiente per supportare un endpoint personalizzato per il servizio di bilanciamento del carico e ridistribuirlo nuovamente.
- Bilanciamento del carico con Gestione API di Azure.
Annotazioni
Questo articolo utilizza uno o più modelli di app di intelligenza artificiale come base per gli esempi e le linee guida presenti nell’articolo. I modelli di app di intelligenza artificiale offrono implementazioni di riferimento ben gestite che sono facili da distribuire. Consentono di garantire un punto di partenza di alta qualità per le app di intelligenza artificiale.
Architettura per il bilanciamento del carico di Azure OpenAI con Azure Gestione API
Poiché i modelli OpenAI di Azure in Microsoft Foundry hanno limiti di quota di token e modelli specifici, un'app di chat che usa una singola risorsa OpenAI di Azure è soggetta a errori di conversazione a causa di tali limiti.
Per usare l'app di chat senza raggiungere tali limiti, usare una soluzione con carico bilanciato con Gestione API. Questa soluzione espone facilmente un singolo endpoint da Gestione API al server delle app di chat.
La risorsa Gestione API, come livello API, si trova davanti a un set di risorse OpenAI di Azure. Il livello API si applica a due scenari: normale e regolato. Durante uno scenario normale in cui è disponibile la quota di token e modelli, la risorsa OpenAI di Azure restituisce una risposta 200 tramite il livello API e il server app back-end.
Quando una risorsa viene limitata a causa dei limiti di quota, il livello API può provare immediatamente una diversa risorsa OpenAI di Azure per soddisfare la richiesta originale dell'app di chat.
Prerequisiti
Una sottoscrizione di Azure. Creane uno gratis.
I contenitori di sviluppo sono disponibili per entrambi gli esempi, con tutte le dipendenze necessarie per completare questo articolo. È possibile eseguire i contenitori di sviluppo in GitHub Codespaces (in un browser) o in locale usando Visual Studio Code.
- GitHub Codespaces (scelta consigliata)
- Visual Studio Code
- Per usare GitHub Codespaces è necessario solo un account GitHub .
Aprire l'app di esempio del bilanciatore locale di Gestione API di Azure
- GitHub Codespaces (scelta consigliata)
- Visual Studio Code
GitHub Codespaces esegue un contenitore di sviluppo gestito da GitHub, utilizzando Visual Studio Code per il Web come interfaccia utente. Per l'ambiente di sviluppo più semplice, usare GitHub Codespaces per avere gli strumenti di sviluppo e le dipendenze corretti preinstallati per completare questo articolo.
Importante
Tutti gli account GitHub possono usare GitHub Codespaces per un massimo di 60 ore gratuite ogni mese con due istanze principali. Per ulteriori informazioni, consultare Spazio di archiviazione e ore core mensili incluse in GitHub Codespaces.
Distribuire il servizio di bilanciamento del carico di Gestione API di Azure
Per distribuire il servizio di bilanciamento del carico in Azure, accedere all'interfaccia della riga di comando per sviluppatori di Azure (
AZD):azd auth loginCompletare le istruzioni di accesso.
Distribuire l'applicazione per il bilanciamento del carico:
azd upSelezionare una sottoscrizione e un'area per la distribuzione. Non devono appartenere alla stessa sottoscrizione e alla stessa area dell'app di chat.
Attendere il completamento della distribuzione prima di continuare. Questo processo potrebbe richiedere fino a 30 minuti.
Ottenere l'endpoint del bilanciamento del carico
Eseguire il comando Bash seguente per visualizzare le variabili di ambiente dalla distribuzione. Queste informazioni saranno necessarie più avanti.
azd env get-values | grep APIM_GATEWAY_URL
Ridistribuire l'app di chat con l'endpoint del bilanciatore di carico
Questi esempi vengono completati nell'esempio di app di chat.
- Distribuzione iniziale
- ridistribuzione
Aprire il contenitore di sviluppo dell'esempio di app di chat usando una delle opzioni seguenti.
Lingua GitHub Codespaces Visual Studio Code .NET JavaScript Pitone Accedi alla CLI per sviluppatori di Azure (
AZD):azd auth loginCompletare le istruzioni di accesso.
Creare un ambiente
AZDcon un nome, ad esempiochat-app:azd env new <name>Aggiungere la variabile di ambiente seguente, che indica al back-end dell'app di chat di usare un URL personalizzato per le richieste OpenAI di Azure:
azd env set OPENAI_HOST azure_customAggiungere questa variabile di ambiente per indicare al back-end dell'app di chat l'URL personalizzato per la richiesta OpenAI di Azure:
azd env set AZURE_OPENAI_CUSTOM_URL <APIM_GATEWAY_URL>Distribuire l'app chat:
azd up
Configurare la quota TPM
Per impostazione predefinita, ognuno dei modelli OpenAI di Azure nelle istanze di Microsoft Foundry nel servizio di bilanciamento del carico viene distribuito con una capacità di 30.000 token al minuto (TPM). È possibile usare l'app di chat sapendo che è scalabile per molti utenti senza consumare la quota. Modificare questo valore quando:
- Ottieni errori di capacità di distribuzione: abbassa il valore.
- È necessaria una capacità superiore: aumentare il valore.
Usare il comando seguente per modificare il valore:
azd env set OPENAI_CAPACITY 50Riassegnare il bilanciatore di carico:
azd up
Pulire le risorse
Quando hai finito di utilizzare l'app chat e il bilanciatore di carico, ripulisci le risorse. Le risorse di Azure create e discusse in questo articolo vengono fatturate al tuo abbonamento di Azure. Se non si prevede che queste risorse siano necessarie in futuro, eliminarle per evitare di incorrere in costi aggiuntivi.
Pulire le risorse dell'app chat
Torna all'articolo sull'app di chat per pulire quelle risorse.
Pulire le risorse del bilanciatore del carico
Eliminare le risorse di Azure e rimuovere il codice sorgente:
azd down --purge --force
Gli interruttori forniscono:
-
purge: le risorse eliminate vengono rimosse immediatamente. È possibile riutilizzare i token OpenAI di Azure al minuto. -
force: L'eliminazione avviene in modo silenzioso, senza richiedere il consenso dell'utente.
Pulire le risorse
L'eliminazione dell'ambiente GitHub Codespaces garantisce che sia possibile massimizzare l'ammontare delle ore gratuite per core assegnato al tuo account.
Importante
Per ulteriori informazioni sui diritti dell'account GitHub, consultare Archiviazione mensile inclusa e ore principali di GitHub Codespaces.
Accedere al dashboard GitHub Codespaces.
Individua i codespaces attualmente in esecuzione originati dal repository GitHub
azure-samples/openai-apim-lb.
Aprire il menu di scelta rapida per l'elemento GitHub Codespaces e quindi selezionare Elimina.
Ottenere assistenza
Se hai problemi durante la distribuzione del servizio di bilanciamento del carico di Gestione API di Azure, aggiungi il tuo problema alla sezione Issues della pagina del repository.
Esempio di codice
Gli esempi usati in questo articolo includono:
Contenuti correlati
- Visualizza dati diagnostici di Gestione API di Azure in Monitoraggio di Azure.
- Usa Test di Carico di Azure per effettuare un test di carico della tua app di chat.