Esercitazione: distribuire un'app Web della chat enterprise
Importante
Gli elementi contrassegnati (anteprima) in questo articolo sono attualmente disponibili in anteprima pubblica. Questa anteprima viene fornita senza un contratto di servizio e non è consigliabile per i carichi di lavoro di produzione. Alcune funzionalità potrebbero non essere supportate o potrebbero presentare funzionalità limitate. Per altre informazioni, vedere le Condizioni supplementari per l'uso delle anteprime di Microsoft Azure.
In questo articolo si distribuisce un'app Web della chat enterprise che usa i propri dati con un modello linguistico di grandi dimensioni in Studio AI.
L'origine dati viene usata per l'elaborazione del modello con dati specifici. Con elaborazione si intende che il modello usa i dati per comprendere il contesto della domanda. Non si sta modificando il modello distribuito. I dati vengono archiviati separatamente e in modo sicuro nell'origine dati originale
La procedura dell'esercitazione è la seguente:
- Distribuire e testare un modello di chat senza i dati.
- Aggiungere i dati.
- Testare il modello con i dati.
- Distribuire l'app Web.
Prerequisiti
Una sottoscrizione di Azure: crearne una gratuitamente.
Un hub di Studio AI, un progetto e un modello di chat di Azure OpenAI distribuito. Completare l'avvio rapido del playground di Studio AI per creare tali risorse, se non sono già state create.
Una connessione al servizio Azure AI Search per indicizzare i dati del prodotto di esempio.
È necessaria una copia locale dei dati del prodotto. Il repository Azure-Samples/rag-data-openai-python-promptflow in GitHub contiene informazioni di esempio sul prodotto retail pertinenti per questo scenario di esercitazione. In particolare, il file
product_info_11.md
contiene informazioni di prodotto relative alle scarpe da trekking TrailWalker pertinenti per l’esempio di questa esercitazione. Scaricare i dati di un prodotto al dettaglio Contoso Trek di esempio in un file ZIP nel computer locale.Per poter eseguire la distribuzione in un'app Web, è necessario avere un provider di risorse Microsoft.Web registrato nella sottoscrizione selezionata.
Aggiungere i dati e usare di nuovo il modello di chat
Nell'avvio rapido del playground di Studio AI (prerequisito per questa esercitazione), è possibile osservare come il modello risponde senza i dati. Ora è possibile aggiungere i propri dati al modello per rispondere alle domande sui prodotti.
Per completare questa sezione, è necessaria una copia locale dei dati del prodotto. Il repository Azure-Samples/rag-data-openai-python-promptflow in GitHub contiene informazioni di esempio sul prodotto retail pertinenti per questo scenario di esercitazione. In particolare, il file product_info_11.md
contiene informazioni di prodotto relative alle scarpe da trekking TrailWalker pertinenti per l’esempio di questa esercitazione. Scaricare i dati di un prodotto al dettaglio Contoso Trek di esempio in un file ZIP nel computer locale.
Seguire questa procedura per aggiungere i propri dati al playground per la chat in modo da aiutare l'assistente a rispondere alle domande sui prodotti. Non si sta modificando il modello distribuito. I dati vengono archiviati separatamente e in modo sicuro nella sottoscrizione di Azure.
Passare al progetto in Studio AI della piattaforma Azure.
Selezionare Playground>Chat nel riquadro sinistro.
Selezionare il modello di chat distribuito dall'elenco a discesa Distribuzione.
Sul lato sinistro del playground per la chat selezionare Aggiungi dati>+ Aggiungi nuova origine dati.
Nell'elenco a discesa Origine dati, selezionare Carica file.
Selezionare Carica>Carica file per esplorare i file locali.
Selezionare i file da caricare. Selezionare i file con le informazioni di prodotto scaricati o creati in precedenza. Aggiungere ora tutti i file. Non sarà possibile aggiungere altri file più avanti nella stessa sessione del playground.
Selezionare Carica per caricare il file nell'account di archiviazione BLOB di Azure. Quindi seleziona Avanti.
Selezionare un servizio di Azure AI Search. In questo esempio si seleziona Connetti altre risorse di Azure AI Search dall'elenco a discesa Seleziona servizio di Azure AI Search. Se non si dispone di una risorsa di ricerca, è possibile crearla selezionando Creare una nuova risorsa di Azure AI Search. Tornare quindi a questo passaggio per connettersi e selezionarla.
Cercare il servizio di Azure AI Search e selezionare Aggiungi connessione.
Per il nome dell'indice, immettere product-info e selezionare Avanti.
Nella pagina Impostazioni di ricerca, in Impostazioni vettore, deselezionare la casella di controllo Aggiungi ricerca vettoriale a questa risorsa di ricerca. Questa impostazione consente di determinare il modo in cui il modello risponde alle richieste. Quindi, seleziona Avanti.
Nota
Se si aggiunge la ricerca vettoriale, sono disponibili altre opzioni con un costo aggiuntivo.
Rivedere le impostazioni e selezionare Crea.
Nel playground, è possibile vedere che l'inserimento dati è in corso. L'operazione potrebbe richiedere diversi minuti. Prima di procedere, attendere che vengano visualizzati l'origine dati e il nome dell'indice al posto dello stato.
È ora possibile chattare con il modello e porre la stessa domanda di prima ("Quanto vengono le scarpe da trekking TrailWalker"). Questa volta usa le informazioni dai dati per costruire la risposta. È possibile espandere il pulsante riferimenti per visualizzare i dati usati.
Distribuire l'app Web
Dopo aver soddisfatto l'esperienza in Azure AI Studio, è possibile distribuire il modello come applicazione Web autonoma.
Trovare il gruppo di risorse nel portale di Azure
In questa esercitazione l'app Web viene distribuita nello stesso gruppo di risorse dell’hub di Studio AI. Successivamente si configura l'autenticazione per l'app Web nel portale di Azure.
Seguire questa procedura per passare da Studio AI della piattaforma Azure al gruppo di risorse nel portale di Azure:
Passare al progetto in Studio AI della piattaforma Azure. quindi selezionare Impostazioni nel riquadro a sinistra.
Selezionare il nome del gruppo di risorse per aprire il gruppo di risorse nel portale di Azure. In questo esempio il gruppo di risorse è denominato
rg-contoso
.Ci si dovrebbe ora trovare nel portale di Azure, visualizzando il contenuto del gruppo di risorse in cui è stata distribuita la risorsa dell'hub. Lasciare aperta questa pagina in una scheda del browser. Servirà ancora successivamente.
Distribuire l'app Web
La pubblicazione crea un servizio app di Azure nella sottoscrizione. Potrebbe comportare costi, a seconda del piano prezzi selezionato. Una volta terminato di usare l'app, è possibile eliminarla dal portale di Azure.
Per distribuire l'app Web:
Nota
Per poter eseguire la distribuzione in un'app Web, è necessario avere un provider di risorse Microsoft.Web registrato nella sottoscrizione selezionata.
Completare i passaggi nella sezione precedente per aggiungere i dati al playground.
Nota
È possibile distribuire un'app Web con o senza dati personalizzati, ma è necessario almeno un modello distribuito, come descritto in Avvio rapido sul playground Studio AI.
Selezionare Distribuisci in un'app Web.
Nella pagina Distribuisci in un'app Web immettere i dettagli seguenti:
- Nome: nome univoco per l'app Web.
- Sottoscrizione: sottoscrizione di Azure.
- Gruppo di risorse: selezionare un gruppo di risorse in cui distribuire l'app Web. È possibile usare lo stesso gruppo di risorse dell'hub.
- Percorso: selezionare un percorso in cui distribuire l'app Web. È possibile usare la stessa posizione dell'hub.
- Piano tariffario: scegliere un piano tariffario per l'app Web.
- Abilita cronologia chat nell'app Web: per l'esercitazione, la casella cronologia chat non è selezionata. Se si abilita la funzionalità, gli utenti avranno accesso alle singole query e alle risposte precedenti. Per altre informazioni, vedere commenti sulla cronologia delle chat.
Seleziona Distribuisci.
Attendere che l'app venga distribuita. La procedura potrebbe richiedere alcuni minuti.
Quando è pronta, il pulsante Avvia è abilitato sulla barra degli strumenti. Ma non avviare ancora l'app e non chiudere la pagina chat playground. Tornarci in un secondo momento.
Configurare l'autenticazione dell'app Web
Per impostazione predefinita, l'app Web sarà accessibile solo all'utente. In questa esercitazione si aggiunge l'autenticazione per limitare l'accesso all'app ai membri del tenant di Azure. Agli utenti viene chiesto di accedere con il proprio account Microsoft Entra per poter accedere all'app. Se si preferisce, è possibile seguire un processo simile per aggiungere un altro provider di identità. L'app non usa le informazioni di accesso dell'utente in altro modo oltre a verificare che siano membri del tenant.
Tornare alla scheda del browser contenente il portale di Azure (o riaprire il portale di Azure in una nuova scheda del browser) e visualizzare il contenuto del gruppo di risorse in cui è stata distribuita la risorsa dell'hub e l'app Web (potrebbe essere necessario aggiornare la visualizzazione dell'app Web).
Selezionare la risorsa del servizio app dall'elenco delle risorse nel gruppo di risorse.
Nel menu a sinistra comprimibile in Impostazioniselezionare Autenticazione.
Aggiungere un provider di identità con le impostazioni seguenti:
- Provider di identità: selezionare Microsoft come provider di identità. Le impostazioni predefinite in questa pagina limitano l'app solo al tenant, quindi qui non è necessario modificare altri elementi.
- Tipo di tenant: forza lavoro
- Registrazione dell'app: creare una nuova registrazione dell'app
- Nome: nome del servizio app Web
- Tipi di account supportati: tenant corrente, tenant singolo
- Limitare l'accesso: richiede l'autenticazione
- Richieste non autenticate: reindirizzamento HTTP 302 Trovato, consigliato per i siti Web
Uso dell'app Web
Ci siamo quasi. È ora possibile testare l'app Web.
Attendere 10 minuti per rendere effettive le impostazioni di autenticazione.
Tornare alla scheda del browser contenente la chat playground in Studio AI della piattaforma Azure.
Selezionare Avvia per avviare l'app Web distribuita. Se richiesto, accettare la richiesta di autorizzazioni.
Se le impostazioni di autenticazione non sono ancora state applicate, chiudere la scheda del browser per l'app Web e tornare alla chat playground in Studio AI della piattaforma Azure. Attendere un po' più a lungo e riprovare.
Nell'app Web è possibile porre la stessa domanda di prima ("Quanto vengono le scarpe da trekking TrailWalker") e questa volta usa le informazioni dei dati per costruire la risposta. È possibile espandere il pulsante Fonti per visualizzare i dati usati.
Pulire le risorse
Per evitare di incorrere in costi di Azure non necessari, è necessario eliminare le risorse create in questa guida introduttiva, se non sono più necessarie. Per gestire le risorse, è possibile usare il portale di Azure.
Osservazioni:
Cronologia chat
Con la funzionalità cronologia chat, gli utenti avranno accesso alle singole query e alle risposte precedenti.
È possibile abilitare la cronologia delle chat quando si distribuisce l'app Web. Selezionare la casella di controllo Abilita cronologia chat nell'app Web.
Importante
L'abilitazione della cronologia delle chat crea un'istanza di Cosmos DB nel gruppo di risorse e comporta costi aggiuntivi per l'archiviazione usata. L'eliminazione dell'app Web non comporta l'eliminazione automatica dell'istanza di Cosmos DB. Per eliminare l'istanza di Cosmos DB, insieme a tutte le chat archiviate, è necessario passare alla risorsa associata nel portale di Azure ed eliminarla.
Dopo aver abilitato la cronologia delle chat, gli utenti potranno visualizzarla e nasconderla nell'angolo superiore destro dell'app. Nel visualizzare la cronologia, è possibile rinominare o eliminare conversazioni. Quando vengono connesse all'app, le conversazioni verranno ordinate automaticamente dalla più recente alla meno recente e denominate in base alla prima query nella conversazione.
Se si elimina la risorsa Cosmos DB ma si mantiene abilitata l'opzione cronologia chat nello studio, gli utenti riceveranno una notifica di errore di connessione, ma possono continuare a usare l'app Web senza accedere alla cronologia delle chat.