Share via


Esercitazione: Compilare e distribuire un copilota di domande e risposte con un prompt flow in Studio AI della piattaforma Azure

Importante

Alcune funzionalità descritte in questo articolo potrebbero essere disponibili solo in anteprima. 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 questa esercitazione Studio AI della piattaforma Azure userai l'intelligenza artificiale generativa e il prompt flow per compilare, configurare e distribuire un copilota per la tua azienda di vendita al dettaglio chiamata Contoso. La tua azienda di vendita al dettaglio è specializzata in attrezzatura e abbigliamento da campeggio.

Il copilota deve rispondere a domande su prodotti e servizi. Deve rispondere anche a domande sui clienti. Ad esempio, il copilota può rispondere a domande come "Quanto costano le scarpe da trekking TrailWalker?" e "Quante scarpe TrailWalker ha acquistato Daniel Wilson?".

La procedura dell'esercitazione è la seguente:

  1. Aggiungere i dati al playground per la chat.
  2. Creare un prompt flow dal playground.
  3. Personalizzare il prompt flow con più origini dati.
  4. Valutare il flusso usando un set di dati di valutazione di domande e risposte.
  5. Distribuire il flusso per l'utilizzo.

Prerequisiti

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/aistudio-python-quickstart-sample in GitHub contiene informazioni di esempio sui clienti e sui prodotti per la vendita al dettaglio pertinenti allo scenario di esercitazione. Clonare il repository o copiare i file da 3-product-info.

Importante

La funzionalità Aggiungi dati nel playground di Studio AI della piattaforma Azure non supporta l'uso di una rete virtuale o di un endpoint privato nelle risorse seguenti:

  • Azure AI Search
  • OpenAI di Azure
  • Risorsa di archiviazione

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 Studio AI della piattaforma Azure.

  2. Selezionare Playground>Chat nel riquadro sinistro.

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

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

  4. Sul lato sinistro del playground per la chat selezionare Aggiungi dati>+ Aggiungi nuova origine dati.

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

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

    Screenshot delle opzioni di selezione dell'origine dati.

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

  7. Selezionare i file da caricare. Selezionare i file con le informazioni sul prodotto (3-product-info) scaricati o creati in precedenza. Aggiungere ora tutti i file. Non sarà possibile aggiungere altri file più avanti nella stessa sessione del playground.

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

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

    Screenshot delle opzioni di selezione della risorsa di ricerca.

  10. Cercare il servizio di Azure AI Search e selezionare Aggiungi connessione.

    Screenshot della pagina in cui aggiungere una connessione al servizio di ricerca.

  11. Per il nome dell'indice, immettere product-info e selezionare 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. Rivedere le impostazioni e selezionare Crea.

  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 per la chat con lo stato dell'inserimento dati visibile.

  15. Immettere un nome per la configurazione del playground e selezionare Salva>Salva configurazione. Tutti gli elementi di configurazione vengono salvati per impostazione predefinita. Gli elementi includono distribuzione, messaggio di sistema, messaggio di sicurezza, parametri, dati aggiunti, esempi e variabili. Il salvataggio di una configurazione con lo stesso nome sovrascriverà la versione precedente.

    Screenshot del nome della configurazione del playground e del pulsante Salva.

  16. È 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.

Creare un prompt flow dal playground

Ci si potrebbe chiedere ora: "Come posso personalizzare ulteriormente questo copilota?" È possibile aggiungere più origini dati, confrontare prompt diversi o le prestazioni di più modelli. Un prompt flow funge da flusso di lavoro eseguibile che semplifica lo sviluppo dell'applicazione di intelligenza artificiale basata su LLM. Offre un framework completo per la gestione del flusso di dati e dell'elaborazione all'interno dell'applicazione. Si usa il prompt flow per ottimizzare i messaggi inviati al modello di chat del copilota.

In questa sezione, apprenderai come eseguire la transizione al prompt flow dal playground. Esporterai l'ambiente di chat del playground, incluse le connessioni ai dati aggiunti. Più avanti in questa esercitazione, valuterai il flusso per poi distribuire il flusso per l'utilizzo.

Nota

Le modifiche apportate al prompt flow non vengono applicate retroattivamente per aggiornare l'ambiente del playground.

È possibile creare un prompt flow dal playground seguendo questa procedura:

  1. Passare al progetto in Studio AI.

  2. Selezionare Playground>Chat nel riquadro sinistro.

  3. Poiché si usano i propri dati, è necessario selezionare Aggiungi i dati. Dovrebbe essere già presente un indice denominato product-info creato in precedenza nel playground della chat. Selezionarlo dall'elenco a discesa Selezionare l'indice del progetto disponibile. In caso contrario, creare prima un indice con i dati del prodotto e quindi tornare a questo passaggio.

  4. Selezionare Prompt flow (Flusso prompt) dal menu sopra il riquadro della sessione di chat.

  5. Immettere un nome per la cartella del prompt flow. Quindi selezionare Apri. AI Studio esporta l'ambiente di chat del playground per richiedere il flusso. L'esportazione include le connessioni ai dati aggiunti.

    Screenshot dell'apertura nella finestra di dialogo del prompt flow.

All'interno di un flusso, i nodi occupano la fase centrale, rappresentando strumenti specifici con funzionalità univoche. Questi nodi gestiscono l'elaborazione dei dati, l'esecuzione delle attività e le operazioni algoritmiche, con input e output. Connettendo i nodi, si stabilisce una catena continua di operazioni che guida il flusso di dati attraverso l'applicazione. Per altre informazioni, vedi Strumenti prompt flow.

Per facilitare la configurazione e l'ottimizzazione dei nodi, viene fornita una rappresentazione visiva della struttura del flusso di lavoro tramite un grafo aciclico diretto. Questo grafo presenta la connettività e le dipendenze tra nodi, fornendo una panoramica chiara dell'intero flusso di lavoro. I nodi del grafo mostrati di seguito sono rappresentativi dell'esperienza di chat del playground esportata nel prompt flow.

Screenshot del grafico predefinito esportato dal playground al prompt flow.

Nel prompt flow dovrebbe essere visualizzato anche:

  • Pulsante Salva : è possibile salvare il flusso di richiesta in qualsiasi momento selezionando Salva dal menu in alto. Assicurarsi di salvare periodicamente il prompt flow quando si apportano modifiche in questa esercitazione.
  • Pulsante Avvia sessione di calcolo: è necessario avviare una sessione di calcolo per eseguire il flusso di richiesta. È possibile avviare la sessione più avanti nell'esercitazione. I costi per le istanze di calcolo vengono addebitati durante l'esecuzione. Per altre informazioni, vedere come creare una sessione di calcolo.

Screenshot dei pulsanti salva e avvia sessione nel flusso.

È possibile tornare al flusso di richiesta in qualsiasi momento selezionando Flusso prompt da Strumenti nel menu a sinistra. Selezionare quindi la cartella del flusso di richiesta creata in precedenza.

Screenshot dell'elenco dei prompt flow.

Personalizzare il prompt flow con più origini dati

in precedenza nel playground di chat di AI Studio , sono stati aggiunti i dati per creare un indice di ricerca contenente i dati dei prodotti per il copilot di Contoso. Finora, gli utenti possono solo chiedere informazioni sui prodotti con domande come "Quanto costano le scarpe da trekking TrailWalker?". Ma non possono ottenere risposte a domande come "Quante scarpe TrailWalker ha acquistato Daniel Wilson?" Per abilitare questo scenario, si aggiunge al flusso un altro indice con le informazioni sul cliente.

Creare l'indice con le informazioni sul cliente

Per procedere, è necessaria una copia locale delle informazioni dei clienti di esempio. Per altre informazioni e collegamenti a dati di esempio, vedi i prerequisiti.

Seguire queste istruzioni su come creare un nuovo indice. Si tornerà al flusso di richiesta più avanti in questa esercitazione per aggiungere le informazioni del cliente al flusso. È possibile aprire una nuova scheda nel browser per seguire queste istruzioni e quindi tornare al flusso di richiesta.

  1. Passare al progetto in Studio AI.

  2. Selezionare Indice dal menu a sinistra. Si noti che si dispone già di un indice denominato product-info creato in precedenza nel playground della chat.

    Screenshot della pagina degli indici con il pulsante per creare un nuovo indice.

  3. Selezionare + Nuovo indice. Viene visualizzata la procedura guidata Crea un indice.

  4. Nella pagina Dati di origine, selezionare Carica file dall'elenco a discesa Origine dati. Selezionare quindi Carica file> per esplorare i file locali.

  5. Selezionare i file di informazioni del cliente scaricati o creati in precedenza. Vedere i prerequisiti. Quindi seleziona Avanti.

    Screenshot delle opzioni di selezione dell'origine dati del cliente.

  6. Selezionare la stessa connessione servizio di ricerca di Azure ai servizio di ricerca (contoso search) usata per l'indice delle informazioni sul prodotto. Quindi seleziona Avanti.

  7. Digitare customer-info come nome dell'indice.

    Screenshot del servizio di Azure AI Search e del nome dell'indice.

  8. Selezionare una macchina virtuale per eseguire i processi di indicizzazione. L'impostazione predefinita Selezione automatica. Quindi seleziona Avanti.

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

  10. Ricontrollare i dettagli immessi e selezionare Crea.

    Screenshot della pagina Rivedi e completa la creazione dell'indice.

    Nota

    Si useranno l'indice customer-info e la connessione contosooutdooraisearch al servizio di Azure AI Search nel prompt flow più avanti in questa esercitazione. Se i nomi immessi differiscono da quelli qui specificati, assicurarsi di usare i nomi immessi nel resto dell'esercitazione.

  11. Viene visualizzata la pagina dei dettagli dell'indice, in cui è possibile vedere lo stato della creazione dell'indice.

    Screenshot dei dettagli dell'indice delle informazioni sul cliente.

Per altre informazioni su come creare un indice, vedere Creare un indice.

Creare una sessione di calcolo necessaria per il flusso di richiesta

Dopo aver creato l'indice, tornare al flusso di richiesta e avviare la sessione di calcolo. Il flusso di richiesta richiede l'esecuzione di una sessione di calcolo.

  1. Andare al progetto.
  2. Selezionare Prompt flow (Flusso prompt) da Tools (Strumenti ) nel menu a sinistra. Selezionare quindi la cartella del flusso di richiesta creata in precedenza.
  3. Selezionare Avvia sessione di calcolo dal menu in alto.

Per creare un'istanza di calcolo e una sessione di calcolo, è anche possibile seguire la procedura descritta in come creare una sessione di calcolo.

Per completare il resto dell'esercitazione, assicurarsi che la sessione di calcolo sia in esecuzione.

Importante

Vengono addebitati costi per le istanze di ambiente di calcolo in esecuzione. Per evitare di incorrere in costi di Azure non necessari, sospendere l'istanza di ambiente di calcolo quando non si lavora attivamente sul prompt flow. Per altre informazioni, vedere come avviare e arrestare il calcolo.

Aggiungere informazioni sul cliente al flusso

Dopo aver creato l'indice, tornare al prompt flow e seguire questa procedura per aggiungere al flusso le informazioni sul cliente:

  1. Assicurarsi di disporre di una sessione di calcolo in esecuzione. Se non è disponibile, vedere Creare una sessione di calcolo nella sezione precedente.

  2. Selezionare + Altri strumenti dal menu in alto e quindi selezionare Ricerca indice nell'elenco degli strumenti.

    Screenshot della selezione dello strumento di ricerca dell'indice nel flusso di richiesta.

  3. Assegnare al nuovo nodo il nome QueryCustomerIndex e selezionare Aggiungi.

  4. Selezionare la casella di testo mlindex_content nel nodo queryCustomerIndex .

    Screenshot della casella di testo mlindex_content nel nodo di ricerca dell'indice.

    Verrà visualizzata la finestra di dialogo Genera . Usare questa finestra di dialogo per configurare il nodo queryCustomerIndex per connettersi all'indice delle informazioni del cliente.

  5. Per il valore index_type selezionare Ricerca di intelligenza artificiale di Azure.

  6. Immetti o seleziona i valori seguenti:

    Nome Valore
    acs_index_connection Il nome della connessione servizio di ricerca di intelligenza artificiale di Azure, ad esempio contoso contososearchaisearch
    acs_index_name customer-info
    acs_content_field content
    acs_metadata_field meta_json_string
    semantic_configuration azuremldefault
    embedding_type Nessuno
  7. Per salvare le impostazioni, fare clic su Save (Salva).

  8. Selezionare o immettere i valori seguenti per il nodo queryCustomerIndex :

    Nome Valore
    Query ${extractSearchIntent.output}
    Query_type Parola chiave
    topK 5

    È possibile vedere che il nodo queryCustomerIndex è connesso al nodo extractSearchIntent nel grafico.

    Screenshot del nodo del prompt flow per il recupero delle informazioni sul prodotto.

  9. Selezionare Salva dal menu in alto per salvare le modifiche. Ricordarsi di salvare periodicamente il flusso di richiesta durante l'applicazione delle modifiche.

Connessione le informazioni del cliente al flusso

Nella sezione successiva si aggregano il prodotto e le informazioni sul cliente per restituirlo in un formato che il modello linguistico di grandi dimensioni può usare. Prima di tutto, è necessario connettere le informazioni del cliente al flusso.

  1. Selezionare l'icona con i puntini di sospensione accanto a + Altri strumenti e quindi selezionare Modalità file non elaborato per passare alla modalità file non elaborata. Questa modalità consente di copiare e incollare nodi nel grafico.

    Screenshot dell'opzione modalità file non elaborata nel flusso di richiesta.

  2. Sostituire tutte le istanze di querySearchResource con queryProductIndex nel grafico. Il nodo viene rinominato in modo da riflettere meglio che recupera le informazioni sul prodotto e contrasta con il nodo queryCustomerIndex aggiunto al flusso.

  3. Rinominare e sostituire tutte le istanze di chunkDocuments con chunkProductDocuments nel grafico.

  4. Rinominare e sostituire tutte le istanze di selectChunks con selectProductChunks nel grafico.

  5. Copiare e incollare i nodi chunkProductDocuments e selezionare NodiProductChunks per creare nodi simili per le informazioni del cliente. Rinominare il blocco dei nuovi nodiCustomerDocuments e selezionare RispettivamenteCustomerChunks.

  6. All'interno del nodo chunkCustomerDocuments sostituire l'input ${queryProductIndex.output} con ${queryCustomerIndex.output}.

  7. All'interno del nodo selectCustomerChunks sostituire l'input ${chunkProductDocuments.output} con ${chunkCustomerDocuments.output}.

  8. Selezionare Salva dal menu in alto per salvare le modifiche.

    Screenshot dell'opzione per salvare il file yaml in modalità file non elaborato.

    Al momento, il flow.dag.yaml file deve includere nodi (tra gli altri) simili all'esempio seguente:

    - name: chunkProductDocuments
      type: python
      source:
        type: code
        path: chunkProductDocuments.py
      inputs:
        data_source: Azure AI Search
        max_tokens: 1050
        queries: ${extractSearchIntent.output}
        query_type: Keyword
        results: ${queryProductIndex.output}
        top_k: 5
      use_variants: false
    - name: selectProductChunks
      type: python
      source:
        type: code
        path: filterChunks.py
      inputs:
        min_score: 0.3
        results: ${chunkProductDocuments.output}
        top_k: 5
      use_variants: false
    - name: chunkCustomerDocuments
      type: python
      source:
        type: code
        path: chunkCustomerDocuments.py
      inputs:
        data_source: Azure AI Search
        max_tokens: 1050
        queries: ${extractSearchIntent.output}
        query_type: Keyword
        results: ${queryCustomerIndex.output}
        top_k: 5
      use_variants: false
    - name: selectCustomerChunks
      type: python
      source:
        type: code
        path: filterChunks.py
      inputs:
        min_score: 0.3
        results: ${chunkCustomerDocuments.output}
        top_k: 5
      use_variants: false
    

Aggregare le informazioni sul prodotto e sul cliente

A questo punto, il flusso di richiesta usa solo le informazioni sul prodotto.

  • extractSearchIntent estrae la finalità di ricerca dalla domanda dell'utente.
  • queryProductIndex recupera le informazioni sul prodotto dall'indice product-info .
  • Lo strumento LLM (per modelli linguistici di grandi dimensioni) riceve una risposta formattata tramite i nodi chunkProductDocuments>selectProductChunks>formatGeneratedReplyInputs.

È necessario connettere e aggregare il prodotto e le informazioni del cliente per restituirlo in un formato che lo strumento LLM può usare. Seguire questa procedura per aggregare le informazioni sul prodotto e sul cliente:

  1. Selezionare Python dall'elenco degli strumenti.

  2. Assegnare allo strumento il nome aggregateChunks e selezionare Aggiungi.

  3. Copiare e incollare il codice Python seguente per sostituire tutto il contenuto nel blocco di codice aggregateChunks .

    from promptflow import tool
    from typing import List
    
    @tool
    def aggregate_chunks(input1: List, input2: List) -> str:
        interleaved_list = []
        for i in range(max(len(input1), len(input2))):
            if i < len(input1):
                interleaved_list.append(input1[i])
            if i < len(input2):
                interleaved_list.append(input2[i])
        return interleaved_list
    
  4. Selezionare il pulsante Convalida e analizza input per convalidare gli input per il nodo aggregateChunks . Se gli input sono validi, il prompt flow analizza gli input e crea le variabili necessarie, da usare nel codice.

    Screenshot del nodo del flusso di richiesta per l'aggregazione di informazioni sul prodotto e sui clienti.

  5. Modificare il nodo aggregateChunks per connettere le informazioni sul prodotto e sul cliente. Impostare gli input sui valori seguenti:

    Nome Type Valore
    input1 list ${selectProductChunks.output}
    input2 list ${selectCustomerChunks.output}

    Screenshot degli input da modificare nel nodo blocchi di aggregazione.

  6. Selezionare il nodo shouldGenerateReply dal grafico. Selezionare o immettere ${aggregateChunks.output} per l'input blocchi .

  7. Selezionare il nodo formatGenerateReplyInputs dal grafico. Selezionare o immettere ${aggregateChunks.output} per l'input blocchi .

  8. Selezionare il nodo output dal grafo. Selezionare o immettere ${aggregateChunks.output} per l'input blocchi .

  9. Selezionare Salva dal menu in alto per salvare le modifiche. Ricordarsi di salvare periodicamente il flusso di richiesta durante l'applicazione delle modifiche.

È ora possibile visualizzare il nodo aggregateChunks nel grafico. Il nodo connette le informazioni sul prodotto e sul cliente per restituirlo in un formato che lo strumento LLM può usare.

Screenshot degli input e degli output del nodo blocchi di aggregazione nel grafico.

Chattare in prompt flow con informazioni sul prodotto e sul cliente

A questo punto nel prompt flow sono disponibili sia informazioni sul prodotto che sul cliente. È possibile chattare con il modello nel prompt flow e ottenere risposte a domande come "Quante scarpe TrailWalker hanno acquistato Daniel Wilson?" Prima di procedere a una valutazione più formale, è possibile chattare con il modello per vedere come risponde alle domande.

  1. Continuare dalla sezione precedente con il nodo output selezionato. Assicurarsi che l'output della risposta abbia selezionato il pulsante di opzione Output chat. In caso contrario, il set completo di documenti viene restituito in risposta alla domanda nella chat.

  2. Selezionare Chat dal menu in alto nel prompt flow per provare la chat.

  3. Digitare "Quante scarpe TrailWalker ha acquistato Daniel Wilson?", quindi selezionare l'icona a forma di freccia destra per inviare il messaggio.

    Nota

    La risposta del modello potrebbe richiedere alcuni secondi. È possibile prevedere che il tempo di risposta sia più veloce quando si usa un flusso distribuito.

  4. La risposta è quella prevista. Il modello usa le informazioni sul cliente per rispondere alla domanda.

    Screenshot della risposta dell'assistente con i dati di base del prodotto e del cliente.

Valutare il flusso usando un set di dati di valutazione di domande e risposte

In AI Studio si vuole valutare il flusso prima di distribuire il flusso per l'utilizzo.

In questa sezione viene usata la valutazione predefinita per valutare il flusso con un set di dati di valutazione di domande e risposte. Per valutare il flusso, la valutazione predefinita usa metriche basate su intelligenza artificiale: fondatezza, pertinenza e punteggio recupero. Per altre informazioni, vedi Metriche di valutazione predefinite.

Creare una valutazione

È necessario un set di dati di valutazione di domande e risposte che contiene domande e risposte rilevanti per lo scenario. Creare in locale un nuovo file denominato qa-evaluation.jsonl. Copiare e incollare nel file le domande e le risposte seguenti ("truth").

{"question": "What color is the CozyNights Sleeping Bag?", "truth": "Red", "chat_history": [], }
{"question": "When did Daniel Wilson order the BaseCamp Folding Table?", "truth": "May 7th, 2023", "chat_history": [] }
{"question": "How much does TrailWalker Hiking Shoes cost? ", "truth": "$110", "chat_history": [] }
{"question": "What kind of tent did Sarah Lee buy?", "truth": "SkyView 2 person tent", "chat_history": [] }
{"question": "What is Melissa Davis's phone number?", "truth": "555-333-4444", "chat_history": [] }
{"question": "What is the proper care for trailwalker hiking shoes?", "truth": "After each use, remove any dirt or debris by brushing or wiping the shoes with a damp cloth.", "chat_history": [] }
{"question": "Does TrailMaster Tent come with a warranty?", "truth": "2 years", "chat_history": [] }
{"question": "How much did David Kim spend on the TrailLite Daypack?", "truth": "$240", "chat_history": [] }
{"question": "What items did Amanda Perez purchase?", "truth": "TrailMaster X4 Tent, TrekReady Hiking Boots (quantity 3), CozyNights Sleeping Bag, TrailBlaze Hiking Pants, RainGuard Hiking Jacket, and CompactCook Camping Stove", "chat_history": [] }
{"question": "What is the Brand for TrekReady Hiking Boots", "truth": "TrekReady", "chat_history": [] }
{"question": "How many items did Karen Williams buy?", "truth": "three items of the Summit Breeze Jacket", "chat_history": [] }
{"question": "France is in Europe", "truth": "Sorry, I can only truth questions related to outdoor/camping gear and equipment", "chat_history": [] }

Dopo aver creato il set di dati di valutazione, è possibile valutare il flusso seguendo questa procedura:

  1. Selezionare Valuta>Valutazione predefinita dal menu in alto nel prompt flow.

    Screenshot dell'opzione per creare una valutazione predefinita dal prompt flow.

    Verrà visualizzata la procedura guidata Crea una nuova valutazione.

  2. Immettere un nome per la propria valutazione e selezionare una sessione di calcolo.

  3. Selezionare Domanda e risposta senza contesto nelle opzioni dello scenario.

  4. Selezionare il flusso da valutare. In questo esempio selezionare Flusso outdoor Contoso o il nome che si è dato al flusso. Quindi seleziona Avanti.

    Screenshot della selezione di uno scenario di valutazione.

  5. Selezionare Aggiungi set di dati nella pagina Configura dati di test.

    Screenshot dell'opzione per l'uso di un set di dati nuovo o esistente.

  6. Selezionare Carica file, esplorare i file e selezionare il file qa-evaluation.jsonl creato in precedenza.

  7. Dopo il caricamento del file, è necessario configurare le colonne di dati in modo che corrispondano agli input necessari per il flusso di richiesta per eseguire un'esecuzione batch che genera l'output per la valutazione. Immettere o selezionare i valori seguenti per ogni mapping del set di dati per il flusso di richiesta.

    Screenshot del mapping del set di dati di valutazione del flusso di richiesta.

    Nome Descrizione Tipo Origine dati
    chat_history Cronologia delle chat list ${data.chat_history}
    query La query string ${data.question}
  8. Selezionare Avanti.

  9. Selezionare le metriche che si vogliono usare per valutare il flusso. In questo esempio selezionare Coerenza, Fluency, somiglianza GPT e punteggio F1.

  10. Selezionare una connessione e un modello da usare per la valutazione. In questo esempio selezionare gpt-35-turbo-16k. Quindi seleziona Avanti.

    Screenshot della selezione delle metriche di valutazione.

    Nota

    La valutazione con le metriche assistite dall'intelligenza artificiale per eseguire il calcolo deve chiamare un altro modello GPT. Per ottenere prestazioni ottimali, usare un modello che supporti almeno 16.000 token, ad esempio il modello gpt-4-32k o gpt-35-turbo-16k. Se in precedenza non è stato distribuito un modello di questo tipo, è possibile distribuire un altro modello seguendo la procedura descritta in Avvio rapido del playground per la chat di Studio AI. Tornare quindi a questo passaggio e selezionare il modello distribuito.

  11. È necessario configurare le colonne di dati in modo che corrispondano agli input necessari per generare le metriche di valutazione. Immettere i valori seguenti per eseguire il mapping del set di dati alle proprietà di valutazione:

    Nome Descrizione Tipo Origine dati
    Domanda Query che cerca informazioni specifiche. string ${data.question}
    answer Risposta alla domanda generata dal modello come risposta. string ${run.outputs.reply}
    documents Stringa con contesto dai documenti recuperati. string ${run.outputs.documents}
  12. Selezionare Avanti.

  13. Esaminare i dettagli della valutazione, quindi selezionare Invia. Si accede alla pagina Valutazioni delle metriche.

Visualizzare lo stato e i risultati della valutazione

Ora è possibile visualizzare lo stato e i risultati della valutazione seguendo questa procedura:

  1. Dopo aver creato una valutazione, se non è già presente, passare alla valutazione. Nella pagina Valutazioni delle metriche è possibile visualizzare lo stato della valutazione e le metriche selezionate. Potrebbe essere necessario selezionare Aggiorna dopo un paio di minuti per visualizzare lo stato Completato.

    Screenshot della pagina delle valutazioni delle metriche.

  2. Arrestare la sessione di calcolo nel flusso di richiesta. Passare al flusso di richiesta e selezionare Sessione di calcolo che esegue>Arresta sessione di calcolo dal menu in alto.

    Screenshot del pulsante per arrestare una sessione di calcolo nel flusso di richiesta.

    Suggerimento

    Dopo aver completato la valutazione, non è necessaria una sessione di calcolo per completare il resto di questa esercitazione. È possibile arrestare l'istanza di ambiente di calcolo per evitare di incorrere in costi di Azure non necessari. Per altre informazioni, vedere come avviare e arrestare il calcolo.

  3. Selezionare il nome della valutazione (ad esempio evaluation_evaluate_from_flow_variant_0) per visualizzare le metriche di valutazione.

    Screenshot della pagina dettagliata dei risultati delle metriche.

Per altre informazioni, vedi Visualizzare i risultati della valutazione.

Distribuire il flusso

Dopo aver creato un flusso e completato una valutazione basata su metriche, è possibile creare l'endpoint online per l'inferenza in tempo reale. Ciò significa che è possibile usare il flusso distribuito per rispondere alle domande in tempo reale.

Seguire questa procedura per distribuire un flusso di richiesta come endpoint online da AI Studio.

  1. Preparare un prompt flow per la distribuzione. Se non è disponibile, vedere le sezioni precedenti o come compilare un flusso di richiesta.

  2. Facoltativo: selezionare Chat per verificare se il flusso funziona correttamente. È consigliabile testare il flusso prima della distribuzione.

  3. Selezionare Distribuire nell'editor del flusso.

    Screenshot del pulsante Distribuisci da un editor del prompt flow.

  4. Specificare le informazioni richieste nella pagina Impostazioni di base della procedura guidata di distribuzione. Selezionare Avanti per passare alle pagine delle impostazioni avanzate.

    Screenshot della pagina delle impostazioni di base nella procedura guidata di distribuzione.

  5. Nella pagina Impostazioni avanzate - Endpoint lasciare le impostazioni predefinite e selezionare Avanti.

  6. Nella pagina Impostazioni avanzate - Distribuzione lasciare le impostazioni predefinite e selezionare Avanti.

  7. Nella pagina Impostazioni avanzate - Output e connessioni assicurarsi che tutti gli output siano selezionati in Incluso nella risposta dell'endpoint.

    Screenshot della pagina delle impostazioni avanzate nella procedura guidata di distribuzione.

  8. Selezionare Rivedi e crea per rivedere le impostazioni e creare la distribuzione.

  9. Selezionare Crea per distribuire il prompt flow.

    Screenshot della pagina delle impostazioni di distribuzione del prompt flow di revisione.

Per altre informazioni, vedi come distribuire un flusso.

Usare il flusso distribuito

L'applicazione copilota può usare il prompt flow distribuito per rispondere alle domande in tempo reale. È possibile usare l'endpoint REST o l'SDK per usare il flusso distribuito.

  1. Per visualizzare lo stato della distribuzione in AI Studio, selezionare Distribuzioni nel riquadro di spostamento a sinistra.

    Screenshot dello stato di distribuzione del prompt flow in corso.

    Dopo aver creato correttamente la distribuzione, è possibile selezionare la distribuzione per visualizzare i dettagli.

    Nota

    Se viene visualizzato un messaggio che indica che "Attualmente questo endpoint non ha distribuzioni" o se lo Stato è ancora Aggiornamento in corso, potrebbe essere necessario selezionare Aggiorna dopo un paio di minuti per visualizzare la distribuzione.

  2. Facoltativamente, la pagina dei dettagli è il luogo in cui è possibile modificare il tipo di autenticazione o abilitare il monitoraggio.

    Screenshot della pagina dei dettagli della distribuzione del prompt flow.

  3. Selezionare la scheda Usa. È possibile visualizzare codici di esempio e l'endpoint REST per l’applicazione copilota, da usare nel flusso distribuito.

    Screenshot dell'endpoint di distribuzione del prompt flow e degli esempi di codice.

Pulire le risorse

Per evitare di incorrere in costi di Azure superflui, è necessario eliminare le risorse create in questo avvio rapido, se non sono più richieste. Per gestire le risorse, è possibile usare il portale di Azure.

È anche possibile arrestare o eliminare l'istanza di calcolo in AI Studio in base alle esigenze.

Passaggi successivi