strumento Python per i flussi nel portale di Microsoft Foundry (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

Prompt flow in Microsoft Foundry e Azure Machine Learning sarà ritirato il 20 aprile 2027. Prompt flow non è più consigliato per i nuovi sviluppi. Esegui la migrazione di applicazioni e distribuzioni Prompt flow esistenti ad Microsoft Agent Framework prima del 20 aprile 2027.

Le immagini container di prompt flow non ricevono più aggiornamenti, inclusi gli aggiornamenti di sicurezza e dei pacchetti. Questo vale per le immagini runtime di Prompt flow, tra cui promptflow-runtime, promptflow-runtime-stable e promptflow-python.

Dopo il 20 aprile 2027, Prompt flow, inclusi l'esperienza di creazione sul Web in Microsoft Foundry e Azure Machine Learning, le estensioni per VS Code e le immagini del contenitore correlate di Prompt flow, non sarà più supportato né disponibile.

Se l'applicazione dipende dalle distribuzioni di Prompt flow o dalle immagini di runtime, pianifica di spostare tali carichi di lavoro verso alternative supportate, ad esempio Microsoft Agent Framework, prima della data di ritiro. Per linee guida sulla migrazione, vedere la guida alla migrazione di Prompt flow e gli esempi di codice per la migrazione.

Lo strumento di flusso di prompt di Python fornisce frammenti di codice personalizzati come nodi eseguibili indipendenti. È possibile creare rapidamente Python strumenti, modificare il codice e verificare i risultati.

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.

Compilare con lo strumento di Python

  1. Creare o aprire un flusso in Microsoft Foundry. Per altre informazioni, vedere Creare un flusso.

  2. Selezionare + Python per aggiungere lo strumento Python al flusso.

    Screenshot che mostra lo strumento di Python aggiunto a un flusso in Foundry portal.

  3. Immettere i valori per i parametri di input dello strumento di Python descritti nella tabella Inputs. Ad esempio, nella casella di testo Code immettere il codice Python seguente:

    from promptflow import tool
    
    @tool
    def my_python_tool(message: str) -> str:
        return 'hello ' + message
    

    Per altre informazioni, vedere requisiti di input del codice Python.

  4. Aggiungi altri strumenti al flusso in base alle esigenze. In alternativa, selezionare Esegui per eseguire il flusso.

  5. Gli output sono descritti nella tabella Output. In base all'esempio precedente del codice in Python, se il messaggio di input è "world", l'output è hello world.

Ingressi

L'elenco di input cambia in base agli argomenti della funzione dello strumento, dopo aver salvato il codice. L'aggiunta del tipo ad argomenti e valori return consente allo strumento di visualizzare correttamente i tipi.

Nome Digitare Descrizione Obbligatorio
Codice Stringa Frammento di codice Python.
Ingressi - Elenco dei parametri della funzione dello strumento e delle relative assegnazioni. -

Output

L'output è il valore return della funzione dello strumento Python. Si consideri ad esempio la funzione dello strumento di Python seguente:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

Se il messaggio di input è "world", l'output è hello world.

Tipi

Digitare esempio di Python Descrizione
INT param: int Tipo Integer
bool param: bool Tipo booleano
Stringa param: str Tipo di string
double parametro: float Tipo double
Elenco param: list o param: List[T] Tipo di elenco
Oggetto param: dict o param: Dict[K, V] Tipo di oggetto
Connessione param: CustomConnection Il tipo di connessione viene gestito appositamente.

Considerare i parametri con l'annotazione tipo Connection come input di connessione. Questo trattamento significa:

  • L'estensione del prompt flow mostra un selettore per selezionare la connessione.
  • Durante l'esecuzione, il flusso di prompt flow cerca di trovare la connessione con lo stesso nome dal valore del parametro passato.

Nota

L'annotazione Union[...] del tipo supporta solo il tipo di connessione. Un esempio è param: Union[CustomConnection, OpenAIConnection].

Requisiti di input del codice Python

Questa sezione descrive i requisiti per l'input di codice Python per lo strumento Python.

  • Il codice dello strumento Python deve essere completo, incluse le necessarie importazioni di moduli.
  • Il codice dello strumento Python deve contenere una funzione decorata con @tool (funzione dello strumento) che funge da punto di ingresso per l'esecuzione. Applicare il decoratore @tool una sola volta all'interno del frammento di codice.
  • Assegna i parametri della funzione dello strumento Python nella sezione Inputs.
  • La funzione dello strumento Python deve avere un'istruzione di ritorno e un valore, che è l'output dello strumento.

Il codice Python seguente è un esempio di procedure consigliate:

from promptflow import tool

@tool
def my_python_tool(message: str) -> str:
    return 'hello ' + message

Usare una connessione personalizzata nello strumento Python

Se si sviluppa uno strumento di Python che richiede la chiamata a servizi esterni con autenticazione, usare la connessione personalizzata in un flusso di richiesta. Usando questa connessione, è possibile archiviare in modo sicuro la chiave di accesso e recuperarla nel codice Python.

Creare una connessione personalizzata

Creare una connessione personalizzata che archivia tutte le chiavi API del modello linguistico di grandi dimensioni o altre credenziali necessarie.

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.

  1. Passare alla pagina Centro gestione per il progetto.

  2. Nell'intestazione Hub o Project selezionare Risorse connesse.

  3. Selezionare + Nuova connessione.

  4. Selezionare Servizio personalizzato . È possibile definire il nome della connessione. Selezionare Aggiungi coppie chiave-valore per aggiungere più coppie chiave-valore per archiviare le credenziali e le chiavi.

    Nota

    Assicurarsi che almeno una coppia chiave-valore sia impostata come segreto. In caso contrario, la connessione non viene creata correttamente. Per impostare una coppia chiave-valore come segreto, selezionare è segreto per crittografare e archiviare il valore della chiave.

Utilizzare una connessione personalizzata in Python

Per utilizzare una connessione personalizzata nel codice Python:

  1. Nella sezione del codice del nodo Python importare la libreria di connessione personalizzata usando from promptflow.connections import CustomConnection. Definire un parametro di input del tipo CustomConnection nella funzione dello strumento.
  2. Analizzare l'input nella sezione di ingresso. Seleziona quindi la connessione personalizzata di destinazione nel menu a discesa dei valori.

Per esempio:

from promptflow import tool
from promptflow.connections import CustomConnection

@tool
def my_python_tool(message: str, myconn: CustomConnection) -> str:
    # Get authentication key-values from the custom connection
    connection_key1_value = myconn.key1
    connection_key2_value = myconn.key2

Passaggi successivi