Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
- Un account Azure con una sottoscrizione attiva. Se non ne hai uno, crea un account gratuito Azure, che include una sottoscrizione di valutazione gratuita.
- Se non ne hai uno, crea un progetto basato su hub.
Compilare con lo strumento di Python
Creare o aprire un flusso in Microsoft Foundry. Per altre informazioni, vedere Creare un flusso.
Selezionare + Python per aggiungere lo strumento Python al flusso.
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 ' + messagePer altre informazioni, vedere requisiti di input del codice Python.
Aggiungi altri strumenti al flusso in base alle esigenze. In alternativa, selezionare Esegui per eseguire il flusso.
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. | Sì |
| 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@tooluna 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.
- Un account Azure con una sottoscrizione attiva. Se non ne hai uno, crea un account gratuito Azure, che include una sottoscrizione di valutazione gratuita.
- Se non ne hai uno, crea un progetto basato su hub.
Passare alla pagina Centro gestione per il progetto.
Nell'intestazione Hub o Project selezionare Risorse connesse.
Selezionare + Nuova connessione.
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:
- 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 tipoCustomConnectionnella funzione dello strumento. - 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