Sviluppare un flusso di richiesta (versione classica)

Si applica solo a:Portale di Foundry (versione classica). Questo articolo non è disponibile per il nuovo portale foundry. Altre informazioni sul nuovo portale.

Nota

I collegamenti in questo articolo potrebbero aprire contenuto nella nuova documentazione di Microsoft Foundry anziché nella documentazione di Foundry (versione classica) visualizzata.

Avviso

Lo sviluppo delle funzionalità di Prompt Flow è terminato il 20 aprile 2026. La funzionalità verrà ritirata completamente il 20 aprile 2027. Alla data di ritiro, Prompt Flow passa alla modalità di sola lettura. I flussi esistenti continueranno a funzionare fino a tale data.

Azione consigliata: Eseguire la migrazione dei carichi di lavoro di Prompt Flow a Microsoft Agent Framework prima del 20 aprile 2027.

Flusso prompt è uno strumento di sviluppo progettato per semplificare l'intero ciclo di sviluppo di applicazioni di intelligenza artificiale basate su modelli di linguaggio di grandi dimensioni. Flusso prompt offre una soluzione completa che semplifica il processo di creazione di prototipi, sperimentazione, iterazione e distribuzione delle applicazioni di intelligenza artificiale.

Con il flusso di richiesta, è possibile:

  • Orchestrare i flussi eseguibili con LLMs, prompt e strumenti Python attraverso un grafo visuale.
  • Testare, eseguire il debug e iterare i flussi con facilità.
  • Creare le varianti di richiesta e confrontare le loro prestazioni.

Questo articolo illustra come creare e sviluppare il primo flusso di richiesta nel portale di Microsoft Foundry.

Prerequisiti

Importante

Questo articolo fornisce il supporto legacy per i progetti basati su hub. Non funzionerà per i progetti Foundry. Vedere Come si conosce il tipo di progetto di cui si dispone?

nota di compatibilità SDK: gli esempi di codice richiedono una versione specifica Microsoft Foundry SDK. Se si verificano problemi di compatibilità, valutare la possibilità di eseguire la migrazione da un progetto basato su hub a un progetto Foundry.

  • Il flusso del prompt richiede una sessione di calcolo. Se non si ha un runtime, è possibile crearne uno nel portale foundry.
  • È necessario un modello distribuito.
  • Nel tuo progetto, configura il controllo di accesso per l'account di archiviazione blob. Assegna il ruolo Collaboratore dati BLOB di archiviazione al tuo account utente.
    • Nella parte inferiore sinistra del portale foundry selezionare Centro gestione.
    • In Risorse connesse per l'hub selezionare il collegamento corrispondente al tipo Archiviazione BLOB di Azure.
    • Selezionare Visualizzare nel portale di Azure
    • Nel portale di Azure selezionare Control di accesso (IAM).
    • Selezionare Aggiungi assegnazione>di ruolo.
    • Cerca Storage Blob Data Contributor e quindi selezionalo.
    • Usare la pagina Aggiungi assegnazione di ruolo per aggiungere se stessi come membro.
    • Selezionare Rivedi e assegna per esaminare l'assegnazione.
    • Selezionare Rivedi e assegna per assegnare il ruolo.

Creare e sviluppare un flusso di prompt

È possibile creare un flusso clonando gli esempi disponibili nella raccolta o creando un flusso da zero. Se si dispone già di file di flusso in una condivisione file o locale, è anche possibile importare i file per creare un flusso.

Per creare un flusso di richieste dalla galleria nel portale di Foundry:

Suggerimento

Poiché è possibile customizzare il riquadro sinistro nel portale di Microsoft Foundry, è possibile che vengano visualizzati elementi diversi rispetto a quelli illustrati in questi passaggi. Se non viene visualizzato ciò che si sta cercando, selezionare ... Altro nella parte inferiore del riquadro sinistro.

Accedere a Microsoft Foundry. Assicurarsi che l'interruttore New Foundry sia disattivato. Questi passaggi fanno riferimento a Foundry (versione classica).

  1. Selezionare il progetto.

  2. Se ci si trova nel Centro gestione, selezionare Vai al progetto per tornare al progetto.

  3. Dal menu a sinistra collapsibile selezionare Flusso prompt.

  4. Selezionare + Crea.

  5. Nel riquadro Flusso standard selezionare Crea.

  6. Nella pagina Crea un nuovo flusso immettere un nome di cartella e quindi selezionare Crea.

    Screenshot della selezione e della creazione di un flusso standard.

  7. La pagina di creazione del flusso di prompt si apre. Selezionare Avvia sessione di calcolo per avere una sessione di calcolo in esecuzione per il flusso.

  8. Puoi iniziare a creare il tuo flusso ora. Per impostazione predefinita viene visualizzato un flusso di esempio. Questo flusso di esempio include nodi per gli strumenti LLM e Python.

    Screenshot dell'input e dell'output del flusso di flusso nella pagina del flusso di richiesta di modifica.

    Nota

    Visualizzazione grafico solo per la visualizzazione. Mostra la struttura del flusso che stai sviluppando. Non è possibile modificare direttamente la visualizzazione grafico, ma è possibile eseguire lo zoom avanti, eseguire lo zoom indietro e scorrere. È possibile selezionare un nodo nella visualizzazione grafico per evidenziare e passare al nodo nella visualizzazione di modifica dello strumento.

  9. Facoltativamente, è possibile aggiungere altri strumenti al flusso. Le opzioni degli strumenti visibili sono LLM, Prompt e Python. Per visualizzare altri strumenti, selezionare + Altri strumenti.

    Screenshot della posizione in cui è possibile trovare altri strumenti nella pagina del flusso di richiesta di modifica.

  10. Selezionare una connessione e una distribuzione nell'editor degli strumenti LLM.

    Screenshot della connessione e della distribuzione selezionate nello strumento LLM nella pagina del flusso di richiesta di modifica.

  11. Nella sezione Input aggiungere un valore per l'argomento. Ad esempio, "atomi".

  12. Selezionare Esegui per eseguire il flusso.

    Screenshot della posizione in cui selezionare Esegui nella pagina del flusso di richiesta di modifica.

  13. Lo stato di esecuzione del flusso viene visualizzato come In esecuzione.

    Screenshot del flusso nello stato in esecuzione nella pagina del flusso di richiesta di modifica.

  14. Al termine dell'esecuzione del flusso, selezionare Visualizza output per visualizzare i risultati del flusso.

    Screenshot della posizione in cui è possibile selezionare per visualizzare i risultati del flusso dalla pagina del flusso di richiesta di modifica.

  15. È possibile visualizzare lo stato dell'esecuzione del flusso e i risultati nella sezione Risultati.

    Screenshot dei dettagli dell'output.

Creazione del flusso

Ogni flusso è rappresentato da una cartella che contiene un file "flow.dag.yaml", file di codice sorgente e cartelle di sistema. È possibile aggiungere nuovi file, modificare i file esistenti ed eliminare file. È anche possibile esportare i file in file locali o importarli da locale.

Oltre a modificare in linea il nodo nella visualizzazione predefinita, è anche possibile attivare l'interruttore Modalità file grezzo e selezionare il nome del file per modificare il file nella scheda di apertura del file.

Input e output del flusso

L'input del flusso è costituito dai dati passati nel flusso nel suo complesso. Definire lo schema di input specificando il nome e il tipo. Impostare il valore di ciascun input per testare il flusso. È possibile fare riferimento all'input del flusso più avanti nei nodi del flusso usando la sintassi ${inputs.[input name]}.

L'output del flusso è costituito dai dati generati dal flusso nel suo complesso, riassumendo i risultati dell'esecuzione del flusso. È possibile visualizzare ed esportare la tabella di output al termine dell'esecuzione del flusso o dell'esecuzione batch. Definire il valore di output del flusso facendo riferimento all'output del singolo nodo di flusso usando la sintassi ${[node name].output} o ${[node name].output.[field name]}.

Facendo riferimento all'output del nodo, è possibile collegare i nodi tra loro. Ad esempio, è possibile fare riferimento all'output del nodo LLM nell'input del nodo Python, in modo che il nodo Python possa utilizzare l'output del nodo LLM e nella visualizzazione grafico è possibile vedere che i due nodi sono collegati tra loro.

Abilitare il controllo condizionale per il flusso

Prompt Flow offre non solo un modo semplificato per eseguire il flusso, ma offre anche una potente funzionalità per gli sviluppatori, ovvero il controllo condizionale, che consente agli utenti di impostare condizioni per l'esecuzione di qualsiasi nodo in un flusso.

Al suo interno, il controllo condizionale offre la possibilità di associare ogni nodo in un flusso a una configurazione di attivazione. Questa configurazione è essenzialmente un'istruzione "when" che determina quando deve essere eseguito un nodo. La potenza di questa funzionalità viene resa disponibile quando si hanno flussi complessi in cui l'esecuzione di determinate attività dipende dal risultato delle attività precedenti. Usando il controllo condizionale, è possibile configurare i nodi specifici per l'esecuzione solo quando vengono soddisfatte le condizioni specificate.

In particolare, è possibile impostare la configurazione di attivazione per un nodo selezionando il pulsante Attiva configurazione nella scheda del nodo. È possibile aggiungere l'istruzione "when" e impostare la condizione. È possibile impostare le condizioni facendo riferimento all'input del flusso o all'output del nodo. Ad esempio, è possibile impostare la condizione ${inputs.[input name]} come valore specifico o ${[node name].output} come valore specifico.

Se la condizione non viene soddisfatta, il nodo viene ignorato. Lo stato del nodo viene visualizzato come "Bypassed".

Testare il flusso

È possibile testare il flusso in due modi:

  • Eseguire un singolo nodo:

    • Per eseguire un singolo nodo, selezionare l'icona Esegui in un nodo nella visualizzazione predefinita. Al termine dell'esecuzione, è possibile controllare rapidamente il risultato nella sezione Outputs dei nodi. n Screenshot che mostra il pulsante Esegui nella scheda del nodo.
  • Esegui l'intero flusso:

    • Per eseguire l'intero flusso, selezionare il pulsante Esegui in alto a destra.

Visualizzare i risultati e la traccia dei test (anteprima)

La traccia è disabilitata per impostazione predefinita, per abilitare la traccia è necessario impostare la variabile PF_DISABLE_TRACING di ambiente su false. Un modo per eseguire questa operazione consiste nell'aggiungere quanto segue al nodo Python:

import os
os.environ["PF_DISABLE_TRACING"] = "false"

Per l'esecuzione dell'intero flusso, dopo aver eseguito il flusso, è possibile visualizzare lo stato di esecuzione nel banner di esecuzione. Per visualizzare la traccia per controllare il risultato e osservare l'esecuzione del flusso, è possibile selezionare Visualizza output e quindi selezionare la scheda di traccia . È possibile visualizzare l'input e l'output dell'intero flusso e di ogni nodo, insieme a informazioni più dettagliate per il debug. È disponibile durante l'esecuzione e dopo il completamento dell'esecuzione.

Comprendere la vista di traccia

Selezionare la scheda Traccia nella schermata Output per visualizzare un grafico che fornisce informazioni sulla durata e sul costo del token associato del flusso. Selezionare il flusso sotto il nome del nodo per visualizzare informazioni dettagliate sulla panoramica del flusso nel riquadro a destra.

 Screenshot dei dettagli della traccia.

Nota

In prompt flow SDK sono stati definiti diversi tipi di intervallo, tra cui LLM, Function, Embedding, Retrieval e Flow. Il sistema crea automaticamente intervalli con informazioni sull'esecuzione in attributi ed eventi designati.

Per ulteriori informazioni sui tipi di span, vedere Traccia span.

Sviluppare un flusso di chat

Il flusso di chat è progettato per lo sviluppo di applicazioni conversazionali, basandosi sulle funzionalità del flusso standard e fornendo supporto avanzato per input/output di chat e gestione della cronologia delle chat. Con il flusso di chat, è possibile creare facilmente un chatbot che gestisce l'input e l'output della chat.

Nella pagina di creazione del flusso di chat il flusso di chat viene contrassegnato con un'etichetta "chat" per distinguerla dal flusso standard e dal flusso di valutazione. Per testare il flusso di chat, selezionare il pulsante "Chat" per attivare una casella di chat per la conversazione.

Input/output della chat e cronologia delle chat

Gli elementi più importanti che differenziano un flusso di chat da un flusso standard sono l'input di Chat, la cronologia delle chat e l'output di Chat.

  • Input chat: l'input della chat fa riferimento ai messaggi o alle query inviate dagli utenti al chatbot. La gestione efficace dell'input della chat è fondamentale per una conversazione di successo, poiché implica la comprensione delle intenzioni dell'utente, l'estrazione di informazioni pertinenti e l'attivazione di risposte appropriate.
  • Cronologia chat: la cronologia delle chat è il record di tutte le interazioni tra l'utente e il chatbot, inclusi gli input utente e gli output generati dall'intelligenza artificiale. La gestione della cronologia delle chat è essenziale per tenere traccia del contesto della conversazione e garantire che l'intelligenza artificiale possa generare risposte contestualmente pertinenti.
  • Output di chat: L'output della chat fa riferimento ai messaggi generati dall'intelligenza artificiale inviati all'utente in risposta ai loro input. La generazione di output di chat contestualmente appropriati e coinvolgenti è fondamentale per un'esperienza utente positiva.

Un flusso di chat può avere più input, cronologia chat e input di chat sono necessari nel flusso di chat.

  • Nella sezione degli input del flusso di chat, un input del flusso può essere contrassegnato come input di chat. È quindi possibile riempire il valore di input della chat digitando nella casella di chat.

  • Il flusso di prompt può assistere l'utente nella gestione della cronologia delle chat. Nella chat_history sezione Input è riservato per rappresentare la cronologia delle chat. Tutte le interazioni nella chat, inclusi gli input della chat utente, gli output di chat generati e altri input e output del flusso, vengono archiviate automaticamente nella cronologia delle chat. L'utente non può impostare manualmente il valore di chat_history nella sezione Input. È strutturato come un elenco di input e output:

    [
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    },
    {
        "inputs": {
        "<flow input 1>": "xxxxxxxxxxxxxxx",
        "<flow input 2>": "xxxxxxxxxxxxxxx",
        "<flow input N>""xxxxxxxxxxxxxxx"
        },
        "outputs": {
        "<flow output 1>": "xxxxxxxxxxxx",
        "<flow output 2>": "xxxxxxxxxxxxx",
        "<flow output M>": "xxxxxxxxxxxxx"
        }
    }
    ]
    

Nota

La possibilità di salvare o gestire automaticamente la cronologia delle chat è una funzionalità nella pagina di creazione durante l'esecuzione di test nella casella di chat. Per le esecuzioni batch, è necessario che gli utenti includano la cronologia delle chat all'interno del set di dati di esecuzione batch. Se non è disponibile alcuna cronologia di chat per i test, impostare il chat_history su un elenco [] vuoto all'interno del set di dati di esecuzione batch.

Prompt dell'autore con cronologia della chat

L'incorporamento della cronologia delle chat nei prompt è essenziale per la creazione di risposte di chatbot consapevoli del contesto e coinvolgenti. Nei prompt è possibile fare riferimento chat_history per recuperare le interazioni precedenti. In questo modo è possibile fare riferimento a input e output precedenti per creare risposte contestualmente pertinenti.

Usare la grammatica for-loop del linguaggio Jinja per visualizzare un elenco di input e output da chat_history.

{% for item in chat_history %}
user:
{{item.inputs.question}}
assistant:
{{item.outputs.answer}}
{% endfor %}

Eseguire il test con la chat box

La chat box offre un modo interattivo per testare il flusso di chat simulando una conversazione con il chatbot. Per testare il flusso di chat usando la casella di chat, seguire questa procedura:

  1. Selezionare il pulsante "Chat" per aprire la casella di chat.
  2. Digitare gli input di test nella casella di chat e premere INVIO per inviarli al chatbot.
  3. Esaminare le risposte del chatbot per assicurarsi che siano contestualmente appropriate e accurate.
  4. Visualizzare la traccia direttamente per osservare ed eseguire rapidamente il debug.

Passaggi successivi