Condividi tramite


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 di chat aziendale che usa i propri dati con un modello linguistico di grandi dimensioni nel portale di Azure AI Foundry.

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:

  • Configura le risorse.
  • Aggiungere i dati.
  • Testare il modello con i dati.
  • Distribuire l'app Web.

Prerequisiti

  • Una sottoscrizione di Azure: crearne una gratuitamente.

  • Un modello di chat OpenAI di Azure distribuito. Completare l'avvio rapido di Azure AI Foundry Playground per creare questa risorsa, se non è già stato fatto.

  • Connessione servizio di ricerca per indicizzare i dati del prodotto di esempio. Se non è disponibile, seguire la procedura per creare e connettere un servizio di ricerca.

  • 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.

  • Provider di risorse Microsoft.Web registrato nella sottoscrizione selezionata per poter eseguire la distribuzione in un'app Web. Per altre informazioni sulla registrazione di una risorsa, vedere Registrare il provider di risorse.

  • Autorizzazioni necessarie per aggiungere assegnazioni di ruolo nella sottoscrizione di Azure. La concessione delle autorizzazioni per assegnazione di ruolo è consentita solo dal Proprietario delle risorse di Azure specifiche.

Portale di Azure AI Foundry e portale di Azure

In questa esercitazione vengono eseguite alcune attività nel portale di Azure AI Foundry e alcune attività nel portale di Azure.

Il portale di Azure AI Foundry è un ambiente basato sul Web per la creazione, il training e la distribuzione di modelli di intelligenza artificiale. In qualità di sviluppatore, è la posizione in cui si creerà e si distribuirà l'applicazione Web chat.

Il portale di Azure consente a un amministratore di gestire e monitorare le risorse di Azure. Gli amministratori useranno il portale per configurare le impostazioni per vari servizi di Azure necessari per l'accesso dall'app Web.

Configurare le risorse

Importante

È necessario disporre delle autorizzazioni necessarie per aggiungere assegnazioni di ruolo nella sottoscrizione di Azure. La concessione delle autorizzazioni per assegnazione di ruolo è consentita solo dal Proprietario delle risorse di Azure specifiche. Potrebbe essere necessario chiedere al proprietario della sottoscrizione di Azure (che potrebbe essere l'amministratore IT) di completare questa sezione.

Affinché le risorse funzionino correttamente all'interno di un'app Web, è necessario configurarle con le autorizzazioni corrette. Questo lavoro viene eseguito nel portale di Azure.

Per iniziare, identificare le risorse da configurare dal portale di Azure AI Foundry.

  1. Aprire il portale di Azure AI Foundry e selezionare il progetto usato per distribuire il modello di chat OpenAI di Azure.

  2. Selezionare Centro gestione nel riquadro sinistro.

  3. Selezionare Risorse connesse nel progetto.

  4. Identificare le tre risorse da configurare: Azure OpenAI, Ricerca di intelligenza artificiale di Azure e Archiviazione BLOB di Azure corrispondente all'area di lavoroblobstore.

    Screenshot che mostra le risorse connesse che devono essere configurate.

    Suggerimento

    Se sono presenti più risorse OpenAI di Azure, usare quella che contiene il modello di chat distribuito.

  5. Per ogni risorsa, selezionare il collegamento per aprire i dettagli della risorsa. Nella pagina dei dettagli selezionare il nome della risorsa per aprire la risorsa nel portale di Azure. (Per workspaceblobstore, selezionare Visualizzare nel portale di Azure).

  6. Dopo aver aperto la scheda del browser, tornare al portale di Azure AI Foundry e ripetere il processo per la risorsa successiva.

  7. Al termine, dovrebbero essere aperte tre nuove schede del browser, per servizio di ricerca, i servizi di intelligenza artificiale di Azure e il contenitore blobstore. Mantenere aperte tutte e tre le nuove schede man mano che verranno visualizzate tra di esse per configurare le risorse.

Abilitare l'identità gestita

Nella scheda del browser per la risorsa servizio di ricerca nella portale di Azure abilitare l'identità gestita:

  1. Nel riquadro sinistro, in Impostazioni selezionare Identità.
  2. Impostare Stato su .
  3. Seleziona Salva.

Nella scheda del browser per la risorsa dei servizi di intelligenza artificiale di Azure nella portale di Azure abilitare l'identità gestita:

  1. Nel riquadro sinistro, in Gestione risorse selezionare Identità.
  2. Impostare Stato su .
  3. Seleziona Salva.

Nella scheda del browser per la risorsa servizio di ricerca nella portale di Azure impostare i criteri di accesso all'API:

  1. Nel riquadro sinistro, in Impostazioni, selezionare Chiavi.
  2. In Controllo di accesso API selezionare Entrambi.
  3. Quando richiesto, selezionare per confermare la modifica.

Assegnazione di ruoli

Questo modello verrà ripetuto più volte negli elementi puntati riportati di seguito.

Il modello generale per l'assegnazione del controllo degli accessi in base al ruolo per qualsiasi risorsa è:

  1. Passare alla portale di Azure per la risorsa specificata.
  2. Nella pagina sinistra del portale di Azure selezionare Controllo di accesso (IAM).
  3. Selezionare Aggiungi>Aggiungi assegnazione di ruolo.
  4. Cercare il ruolo da assegnare e selezionarlo. Quindi seleziona Avanti.
  5. Quando si assegna un ruolo a se stessi:
    1. Selezionare Utente, gruppo o entità servizio.
    2. Selezionare Selezionare i membri.
    3. Cercare il nome e selezionarlo.
  6. Quando si assegna un ruolo a un'altra risorsa:
    1. Selezionare Identità gestita.
    2. Selezionare Selezionare i membri.
    3. Usare l'elenco a discesa per trovare il tipo di risorsa da assegnare. Ad esempio, servizi di intelligenza artificiale di Azure o servizio di ricerca.
    4. Selezionare la risorsa dall'elenco visualizzato. Potrebbe esserci solo uno, ma è comunque necessario selezionarlo.
  7. Continuare la procedura guidata e selezionare Rivedi e assegna per aggiungere l'assegnazione di ruolo.

Usare questi passaggi per assegnare i ruoli per le risorse configurate in questa esercitazione:

  • Assegnare i ruoli seguenti nella scheda del browser per servizio di ricerca nel portale di Azure:

    • Lettore di dati dell'indice di ricerca nell'identità gestita dei servizi di intelligenza artificiale di Azure
    • Collaboratore al servizio di ricerca per l'identità gestita dei servizi di intelligenza artificiale di Azure
    • Collaboratore a se stessi (per trovare Collaboratore, passare alla scheda Ruoli di amministratore con privilegi nella parte superiore. Tutti gli altri ruoli si trovano nella scheda Ruoli funzione processo.
  • Assegnare i ruoli seguenti nella scheda del browser per i servizi di intelligenza artificiale di Azure nel portale di Azure:

    • Collaboratore OpenAI di Servizi cognitivi all'identità gestita servizio di ricerca
    • Collaboratore a se stessi.
  • Assegnare i ruoli seguenti nella scheda del browser per l'archiviazione BLOB di Azure nel portale di Azure:

    • Collaboratore ai dati dei BLOB di archiviazione per l'identità gestita dei servizi di intelligenza artificiale di Azure
    • Lettore di dati BLOB di archiviazione nell'identità gestita servizio di ricerca
    • Collaboratore a se stessi

La configurazione delle risorse è stata completata. Se lo si desidera, è possibile chiudere le schede del browser portale di Azure.

Aggiungere i dati e usare di nuovo il modello di chat

Nella guida introduttiva di Azure AI Foundry Playground (prerequisito per questa esercitazione), osservare come il modello risponde senza i dati. Aggiungere ora i 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.

  1. Passare al progetto in Azure AI Foundry.

  2. Selezionare Playground.

  3. Selezionare Prova il playground della chat.

  4. Selezionare il modello di chat distribuito dall'elenco a discesa Distribuzione.

    Screenshot del playground della chat con la modalità chat e il modello selezionati.

  5. Sul lato sinistro del playground della chat selezionare Aggiungi i dati (ANTEPRIMA)>+ Aggiungi una nuova origine dati.

    Screenshot del playground per la chat con l'opzione di aggiunta di un'origine dati visibile.

  6. Nell'elenco a discesa Origine dati, selezionare Carica file.

    Screenshot delle opzioni di selezione dell'origine dati.

  7. Selezionare Carica>Carica file per esplorare i file locali.

  8. 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.

  9. Selezionare Carica per caricare il file nell'account di archiviazione BLOB di Azure. Quindi seleziona Avanti.

    Screenshot della finestra di dialogo in cui si selezionano e caricano i file.

  10. Selezionare il servizio Ricerca intelligenza artificiale di Azure.

  11. Per Vector index name (Nome indice vettore) immettere product-info e selezionare Next (Avanti).

  12. 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.

  13. Esaminare le impostazioni e selezionare Crea indice vettoriale.

  14. 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.

    Screenshot del playground della chat con lo stato dell'inserimento dati visibile.

  15. È 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 nel portale di Azure AI Foundry, è 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 Azure AI Foundry. Successivamente si configura l'autenticazione per l'app Web nel portale di Azure.

Seguire questa procedura per passare al gruppo di risorse nel portale di Azure:

  1. Passare al progetto in Azure AI Foundry. Selezionare quindi Centro di gestione nel riquadro sinistro.

  2. Sotto l'intestazione Progetto selezionare Panoramica.

  3. 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-sdg-ai.

    Screenshot del gruppo di risorse nel portale di Azure AI Foundry.

  4. Ci si dovrebbe ora trovare nel portale di Azure, visualizzando il contenuto del gruppo di risorse in cui è stata distribuita la risorsa dell'hub. Si noti il nome e la posizione del gruppo di risorse. Queste informazioni verranno usate nella sezione successiva.

  5. Mantenere aperta questa pagina in una scheda del browser. Si tornerà a esso in un secondo momento.

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:

Importante

È necessario registrare Microsoft.Web come provider di risorse prima di poter eseguire la distribuzione in un'app Web.

  1. Completare i passaggi nella sezione precedente per aggiungere i dati al playground. È possibile distribuire un'app Web con o senza dati personalizzati, ma almeno è necessario un modello distribuito come descritto in Avvio rapido di Azure AI Foundry Playground.

  2. Selezionare Distribuisci > ... come app Web.

    Screenshot del pulsante Distribuisci nuova app Web.

  3. Nella pagina Distribuisci in un'app Web immettere i dettagli seguenti:

    • Nome: nome univoco per l'app Web.
    • Sottoscrizione: sottoscrizione di Azure. Se non vengono visualizzate sottoscrizioni disponibili, registrare prima Microsoft.Web come provider di risorse.
    • Gruppo di risorse: selezionare un gruppo di risorse in cui distribuire l'app Web. Usare lo stesso gruppo di risorse dell'hub.
    • Percorso: selezionare un percorso in cui distribuire l'app Web. 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 hanno accesso alle singole query e risposte precedenti. Per altre informazioni, vedere commenti sulla cronologia delle chat.
  4. Seleziona Distribuisci.

  5. Attendere che l'app venga distribuita. La procedura potrebbe richiedere alcuni minuti.

  6. Quando è pronta, il pulsante Avvia è abilitato sulla barra degli strumenti. Ma non avviare ancora l'app e non chiudere la pagina del playground della chat. Si tornerà a esso in un secondo momento.

Configurare l'autenticazione dell'app Web

Per impostazione predefinita, l'app Web è 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.

  1. 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 l'app Web (potrebbe essere necessario aggiornare la visualizzazione dell'app Web).

  2. Selezionare la risorsa del servizio app dall'elenco delle risorse nel gruppo di risorse.

  3. Nel menu a sinistra comprimibile in Impostazioniselezionare Autenticazione.

    Screenshot della voce di menu autenticazione dell'app Web nelle impostazioni nel portale di Azure.

  4. Se in questa pagina Viene elencato un provider di identità, non è necessario altro. È possibile omettere il passaggio successivo.

  5. 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

La procedura è quasi completata. È ora possibile testare l'app Web.

  1. Se sono state modificate le impostazioni, attendere 10 minuti o così via per rendere effettive le impostazioni di autenticazione.

  2. Tornare alla scheda del browser contenente la pagina del playground di chat nel portale di Azure AI Foundry.

  3. 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 al playground della chat nel portale di Azure AI Foundry. Attendere un po' più a lungo e riprovare.

  4. 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.

    Screenshot dell'esperienza di chat tramite l'app Web distribuita.

Informazioni sulla cronologia delle chat

Con la funzionalità cronologia chat, gli utenti hanno accesso alle singole query e 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.

Screenshot dell'opzione per abilitare la cronologia delle chat durante la distribuzione di un'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 possono visualizzarlo e nasconderlo nell'angolo in alto a destra dell'app. Nel visualizzare la cronologia, è possibile rinominare o eliminare conversazioni. Quando vengono connessi all'app, le conversazioni vengono ordinate automaticamente dal più recente al 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 ricevono una notifica di errore di connessione, ma possono continuare a usare l'app Web senza accedere alla cronologia delle chat.

Aggiornare l'app Web

Usare il playground per aggiungere altri dati o testare il modello con scenari diversi. Quando si è pronti per aggiornare l'app Web con il nuovo modello, selezionare Distribuisci > ... come app Web di nuovo. Selezionare Aggiorna un'app Web esistente e scegliere l'app Web esistente dall'elenco. Il nuovo modello viene distribuito nell'app Web esistente.

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.