Eventi
17 mar, 21 - 21 mar, 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nuQuesto browser non è più supportato.
Esegui l'aggiornamento a Microsoft Edge per sfruttare i vantaggi di funzionalità più recenti, aggiornamenti della sicurezza e supporto tecnico.
Scopri come aggiungere il bilanciamento del carico alla tua applicazione per estendere l'applicazione di chat oltre i limiti di token e di quota del modello del servizio OpenAI di Azure. Questo approccio usa app contenitore di Azure per creare tre endpoint OpenAI di Azure e un contenitore primario per indirizzare il traffico in ingresso a uno dei tre endpoint.
Questo articolo richiede la distribuzione di due esempi distinti:
App di chat
Se l'app di chat non è ancora stata distribuita, attendere 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.
L'app chat è disponibile in queste lingue:
App di bilanciamento del carico
Nota
Questo articolo usa uno o più modelli di app di intelligenza artificiale come base per gli esempi e le linee guida 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.
Poiché la risorsa OpenAI di Azure ha 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, utilizzare una soluzione bilanciata con App Contenitore. Questa soluzione espone senza soluzione di continuità un singolo endpoint da Container Apps al server della tua app di chat.
L'app contenitore si trova davanti a un set di risorse OpenAI di Azure. L'app container risolve due scenari: normale e limitato. Durante uno scenario normale in cui è disponibile la quota di token e modelli, la risorsa OpenAI di Azure restituisce 200 tramite l'app contenitore e il server app.
Quando una risorsa si trova in uno scenario limitato a causa dei limiti di quota, l'applicazione container può tentare nuovamente immediatamente una risorsa OpenAI di Azure diversa per soddisfare la richiesta originale dell'app di chat.
Abbonamento di Azure. Crearne uno gratuito
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 con Visual Studio Code.
GitHub Codespaces esegue un contenitore di sviluppo gestito da GitHub con Visual Studio Code per il Web come interfaccia utente. Per l'ambiente di sviluppo più semplice, usa 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 altre informazioni, vedere Spazio di archiviazione e ore core mensili inclusi in GitHub Codespaces.
Accedi ad Azure Developer CLI per fornire l'autenticazione ai passaggi di provisioning e distribuzione.
azd auth login --use-device-code
Configurare una variabile di ambiente per usare l'autenticazione di Azure CLI nel passaggio di post-provisioning:
azd config set auth.useAzCliAuth "true"
Distribuire l'app di bilanciamento del carico:
azd up
Selezionare una sottoscrizione e un'area per la distribuzione. Non devono necessariamente essere lo stesso abbonamento e la stessa regione dell'app di chat.
Attendere il completamento della distribuzione prima di continuare.
Usare il comando seguente per visualizzare l'endpoint distribuito per l'app contenitore:
azd env get-values
Copiare il valore CONTAINER_APP_URL
. Tu lo usi nella sezione successiva.
Questi esempi vengono completati nell'esempio di app di chat.
Aprire il contenitore di sviluppo dell'esempio di app di chat usando una delle opzioni seguenti.
Lingua | GitHub Codespaces | Visual Studio Code |
---|---|---|
.NET | ||
JavaScript | ||
Python |
Accedi alla CLI per sviluppatori di Azure (AZD
):
azd auth login
Completare le istruzioni di accesso.
Creare un ambiente AZD
con un nome, ad esempio chat-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_custom
Aggiungere la variabile di ambiente seguente. Sostituire <CONTAINER_APP_URL>
per l'URL della sezione precedente. Questa azione indica al back-end dell'app di chat il valore dell'URL personalizzato per la richiesta OpenAI di Azure.
azd env set AZURE_OPENAI_CUSTOM_URL <CONTAINER_APP_URL>
Distribuire l'app chat:
azd up
Ora è possibile usare l'app di chat con la certezza che è stata creata per la scalabilità tra molti utenti senza esaurire la quota.
Nel portale di Azurecercare il gruppo di risorse.
Nell'elenco delle risorse nel gruppo selezionare la risorsa App Contenitore di Azure.
Selezionare Monitoraggio del flusso di log> per visualizzare il log.
Usare l'app di chat per generare traffico nel log.
Cercare i log che fanno riferimento alle risorse Azure OpenAI. Ognuna delle tre risorse ha la propria identità numerica nel commento del log che inizia con Proxying to https://openai3
, dove 3
indica la terza risorsa OpenAI di Azure.
Quando il servizio di bilanciamento del carico riceve lo stato che la richiesta supera la quota, il servizio di bilanciamento del carico ruota automaticamente su un'altra risorsa.
Per impostazione predefinita, ogni istanza di Azure OpenAI nel servizio di bilanciamento del carico viene distribuita con una capacità di 30.000 token al minuto (TPM). È possibile usare l'app di chat con la certezza che sia stata creata per la scalabilità tra molti utenti senza esaurire la quota. Modificare questo valore quando:
Usare il comando seguente per modificare il valore:
azd env set OPENAI_CAPACITY 50
Riassegnare il bilanciatore di carico:
azd up
Al termine dell'utilizzo dell'app di chat e del bilanciamento del carico, ripulisci le risorse. Le risorse di Azure create in questo articolo vengono fatturate alla sottoscrizione di Azure. Se prevedi che queste risorse non ti servano in futuro, eliminale per evitare di incorrere in costi aggiuntivi.
Tornare all'articolo sull'app di chat per pulire le risorse:
Esegui il seguente comando Azure Developer CLI per eliminare le risorse di Azure e rimuovere il codice sorgente:
azd down --purge --force
Le opzioni forniscono:
purge
: Le risorse eliminate vengono interamente rimosse immediatamente, in modo da poter riutilizzare i token del servizio OpenAI di Azure per minuto.force
: l'eliminazione viene eseguita automaticamente, senza richiedere il consenso dell'utente.L'eliminazione dell'ambiente GitHub Codespaces consente di massimizzare i diritti di ore gratuite per core a disposizione dell'account.
Importante
Per altre informazioni sui diritti dell'account GitHub, vedere Ore di archiviazione e di core mensili incluse in GitHub Codespaces.
Accedere al dashboard GitHub Codespaces.
Individua i tuoi spazi di codice che sono attualmente in esecuzione e provenienti dal repository GitHub azure-samples/openai-aca-lb.
Aprire il menu contestuale per lo spazio di codice e quindi selezionare Elimina.
Se si verificano problemi durante la distribuzione del servizio di bilanciamento del carico di Gestione API di Azure, aggiungi il tuo problema alla pagina web dei problemi del repository.
Gli esempi usati in questo articolo includono:
Eventi
17 mar, 21 - 21 mar, 10
Gå med i mötesserien för att skapa skalbara AI-lösningar baserat på verkliga användningsfall med andra utvecklare och experter.
Registrera dig nu