pf#
Verwalten Sie Prompt Flow-Ressourcen mit der Prompt Flow CLI.
Befehl |
Beschreibung |
|---|---|
Flows verwalten. |
|
Verbindungen verwalten. |
|
Runs verwalten. |
|
Tools initialisieren oder auflisten. |
|
Konfiguration für den aktuellen Benutzer verwalten. |
|
Prompt Flow-Dienst verwalten. |
|
Prompt Flow CLI aktualisieren. |
|
Spuren verwalten. |
pf flow#
Prompt Flow Flow-Flows verwalten.
Befehl |
Beschreibung |
|---|---|
Ein Prompt Flow-Verzeichnis initialisieren. |
|
Den Prompt Flow oder den Flow-Knoten testen. |
|
Einen Flow validieren und |
|
Einen Flow für weitere Freigabe oder Bereitstellung erstellen. |
|
Einen Flow als Endpunkt bereitstellen. |
pf flow init#
Ein Prompt Flow-Verzeichnis initialisieren.
pf flow init [--flow]
[--entry]
[--function]
[--prompt-template]
[--type]
[--yes]
Beispiele#
Erstellt einen Flow-Ordner mit Code, Prompts und YAML-Spezifikation des Flows.
pf flow init --flow <path-to-flow-direcotry>
Erstellt einen Evaluierungs-Prompt-Flow
pf flow init --flow <path-to-flow-direcotry> --type evaluation
Erstellt einen Flow im bestehenden Ordner
pf flow init --flow <path-to-existing-folder> --entry <entry.py> --function <function-name> --prompt-template <path-to-prompt-template.md>
Optionale Parameter#
--flow
Der zu erstellende Flow-Name.
--entry
Der Name der Einstiegsdatei.
--function
Der Funktionsname in der Einstiegsdatei.
--prompt-template
Der Prompt-Vorlagenparameter und die Zuweisung.
--type
Der initialisierte Flow-Typ.
akzeptierter Wert: standard, evaluation, chat
--yes --assume-yes -y
Automatische Bestätigung aller Aufforderungen; Annahme von 'Ja' als Antwort auf alle Aufforderungen und Ausführung im nicht-interaktiven Modus.
pf flow test#
Den Prompt Flow oder den Flow-Knoten testen.
pf flow test --flow
[--inputs]
[--node]
[--variant]
[--debug]
[--interactive]
[--verbose]
[--ui]
[--collection]
Beispiele#
Testet den Flow.
pf flow test --flow <path-to-flow-directory>
Testet den Flow aus einer json-Datei.
pf flow test --flow <path-to-flow-directory> --inputs inputs.json
Testet den Flow mit der ersten Zeile aus einer jsonl-Datei.
pf flow test --flow <path-to-flow-directory> --inputs inputs.jsonl
Testet den Flow mit Eingabewerten.
pf flow test --flow <path-to-flow-directory> --inputs data_key1=data_val1 data_key2=data_val2
Testet den Flow mit einem bestimmten Variante-Knoten.
pf flow test --flow <path-to-flow-directory> --variant '${node_name.variant_name}'
Testet den einzelnen Knoten im Flow.
pf flow test --flow <path-to-flow-directory> --node <node_name>
Debuggt den einzelnen Knoten im Flow.
pf flow test --flow <path-to-flow-directory> --node <node_name> --debug
Chatet im Flow.
pf flow test --flow <path-to-flow-directory> --node <node_name> --interactive
Chatet im Chatfenster.
pf flow test --flow <path-to-flow-directory> --ui
Testet den Flow, während Spuren in eine bestimmte Sammlung protokolliert werden.
pf flow test --flow <path-to-flow-directory> --collection <collection>
Erforderlicher Parameter#
--flow
Das zu testende Flow-Verzeichnis.
Optionale Parameter#
--inputs
Eingabedaten für den Flow. Beispiel: –inputs data1=data1_val data2=data2_val
--node
Der im Flow zu testende Knotenname.
--variant
Knoten- & Variantenname im Format ${node_name.variant_name}.
--debug
Debuggt den einzelnen Knoten im Flow.
--interactive
Startet eine interaktive Chat-Sitzung für den Chat-Flow.
--verbose
Zeigt die Ausgabe für jeden Schritt im Chat-Flow an.
--ui
Das Flag zum Starten einer interaktiven Chat-Erfahrung im lokalen Chatfenster.
pf flow validate#
Validiert den Prompt Flow und generiert eine flow.tools.json unter .promptflow. Diese Datei ist erforderlich, wenn der Flow als Komponente in einer Azure ML-Pipeline verwendet wird.
pf flow validate --source
[--debug]
[--verbose]
Beispiele#
Validiert den Flow.
pf flow validate --source <path-to-flow>
Erforderlicher Parameter#
--source
Die zu validierende Flow-Quelle.
pf flow build#
Einen Flow für weitere Freigabe oder Bereitstellung erstellen.
pf flow build --source
--output
--format
[--variant]
[--verbose]
[--debug]
Beispiele#
Erstellt einen Flow als Docker, der mit docker build in ein Docker-Image umgewandelt werden kann.
pf flow build --source <path-to-flow> --output <output-path> --format docker
Erstellt einen Flow als Docker mit einer bestimmten Variante.
pf flow build --source <path-to-flow> --output <output-path> --format docker --variant '${node_name.variant_name}'
Erforderlicher Parameter#
--source
Die zu verwendende Flow- oder Run-Quelle.
--output
Der Ordner für den erstellten Flow-Output. Muss leer sein oder nicht existieren.
--format
Das Format, in das der Flow erstellt werden soll
Optionale Parameter#
--variant
Knoten- & Variantenname im Format ${node_name.variant_name}.
--verbose
Zeigt detailliertere Informationen für jeden Schritt während der Erstellung an.
--debug
Zeigt Debug-Informationen während der Erstellung an.
pf flow serve#
Stellt einen Flow als Endpunkt bereit.
pf flow serve --source
[--port]
[--host]
[--environment-variables]
[--verbose]
[--debug]
[--skip-open-browser]
[--engine]
Beispiele#
Stellt den Flow als Endpunkt bereit.
pf flow serve --source <path-to-flow>
Stellt den Flow als Endpunkt mit spezifischem Port und Host bereit.
pf flow serve --source <path-to-flow> --port <port> --host <host> --environment-variables key1="`${my_connection.api_key}`" key2="value2"
Stellt den Flow als Endpunkt mit spezifischem Port, Host, Umgebungsvariablen und FastAPI-Serving-Engine bereit.
pf flow serve --source <path-to-flow> --port <port> --host <host> --environment-variables key1="`${my_connection.api_key}`" key2="value2" --engine fastapi
Erforderlicher Parameter#
--source
Die zu verwendende Flow- oder Run-Quelle.
Optionale Parameter#
--port
Der Port, auf dem der Endpunkt ausgeführt werden soll.
--host
Der Host des Endpunkts.
--environment-variables
Umgebungsvariablen, die durch Angabe eines Eigenschaftspfads und -werts festgelegt werden. Beispiel: –environment-variable key1=”`${my_connection.api_key}`” key2=”value2”. Der Wert, der auf Verbindungsschlüssel verweist, wird zum tatsächlichen Wert aufgelöst und alle angegebenen Umgebungsvariablen werden in os.environ gesetzt.
--verbose
Zeigt detailliertere Informationen für jeden Schritt während der Bereitstellung an.
--debug
Zeigt Debug-Informationen während der Bereitstellung an.
--skip-open-browser
Überspringt das Öffnen des Browsers nach der Bereitstellung. Speichert den wahren Parameter.
--engine
Wechselt die Python-Serving-Engine zwischen flask und fastapi, Standard ist flask.
pf connection#
Verwaltet Prompt Flow-Verbindungen.
Befehl |
Beschreibung |
|---|---|
Erstellt eine Verbindung. |
|
Aktualisiert eine Verbindung. |
|
Zeigt Details einer Verbindung an. |
|
Listet alle Verbindungen auf. |
|
Löscht eine Verbindung. |
pf connection create#
Erstellt eine Verbindung.
pf connection create --file
[--name]
[--set]
Beispiele#
Erstellt eine Verbindung mit einer YAML-Datei.
pf connection create -f <yaml-filename>
Erstellt eine Verbindung mit einer YAML-Datei mit Überschreibung.
pf connection create -f <yaml-filename> --set api_key="<api-key>"
Erstellt eine benutzerdefinierte Verbindung mit einer .env-Datei; Beachten Sie, dass durch --set angegebene Überschreibungen ignoriert werden.
pf connection create -f .env --name <name>
Erforderlicher Parameter#
--file -f
Lokaler Pfad zur YAML-Datei mit der Prompt Flow-Verbindungsspezifikation.
Optionale Parameter#
--name -n
Name der Verbindung.
--set
Aktualisiert ein Objekt, indem ein Eigenschaftspfad und ein Wert zum Festlegen angegeben werden. Beispiel: –set property1.property2=.
pf connection update#
Aktualisiert eine Verbindung.
pf connection update --name
[--set]
Beispiel#
Aktualisiert eine Verbindung.
pf connection update -n <name> --set api_key="<api-key>"
Erforderlicher Parameter#
--name -n
Name der Verbindung.
Optionaler Parameter#
--set
Aktualisiert ein Objekt, indem ein Eigenschaftspfad und ein Wert zum Festlegen angegeben werden. Beispiel: –set property1.property2=.
pf connection show#
Zeigt Details einer Verbindung an.
pf connection show --name
Erforderlicher Parameter#
--name -n
Name der Verbindung.
pf connection list#
Listet alle Verbindungen auf.
pf connection list
pf connection delete#
Löscht eine Verbindung.
pf connection delete --name
Erforderlicher Parameter#
--name -n
Name der Verbindung.
pf run#
Verwaltet Prompt Flow-Runs.
Befehl |
Beschreibung |
|---|---|
Erstellt einen Run. |
|
Aktualisiert Metadaten eines Runs, einschließlich Anzeigename, Beschreibung und Tags. |
|
Streamt Run-Protokolle an die Konsole. |
|
Listet Runs auf. |
|
Zeigt Details für einen Run an. |
|
Vorschau auf die Eingaben und Ausgaben eines Runs. |
|
Gibt Run-Metriken auf der Konsole aus. |
|
Visualisiert einen Run. |
|
Archiviert einen Run. |
|
Stellt einen archivierten Run wieder her. |
pf run create#
Erstellt einen Run.
pf run create [--file]
[--flow]
[--data]
[--column-mapping]
[--run]
[--variant]
[--stream]
[--environment-variables]
[--connections]
[--set]
[--source]
[--resume-from] # require promptflow>=1.8.0, and original run created with promptflow>=1.8.0
Beispiele#
Erstellt einen Run mit einer YAML-Datei.
pf run create -f <yaml-filename>
Erstellt einen Run mit einer YAML-Datei und überschreibt andere Daten in der YAML-Datei.
pf run create -f <yaml-filename> --data <path-to-new-data-file-relative-to-yaml-file>
Erstellt einen Run aus einem Flow-Verzeichnis und referenziert einen Run.
pf run create --flow <path-to-flow-directory> --data <path-to-data-file> --column-mapping groundtruth='${data.answer}' prediction='${run.outputs.category}' --run <run-name> --variant '${summarize_text_content.variant_0}' --stream
Erstellt einen Run aus einem vorhandenen Run-Datensatzordner.
pf run create --source <path-to-run-folder>
Erstellt einen Run durch Angabe von resume_from. (Erfordert promptflow>=1.8.0 und ursprünglicher Run, der mit promptflow>=1.8.0 erstellt wurde)
Die erfolgreichen Zeilenergebnisse des ursprünglichen Runs werden wiederverwendet, nur verbleibende/fehlgeschlagene Zeilen werden ausgeführt.
pf run create --resume-from <original-run-name>
pf run create --resume-from <original-run-name> --name <new-run-name> --set display_name='A new run' description='my run description' tags.Type=Test
Optionale Parameter#
--file -f
Lokaler Pfad zur YAML-Datei mit der Prompt Flow-Run-Spezifikation; kann durch andere Parameter überschrieben werden. Referenz hier für das YAML-Schema.
--flow
Lokaler Pfad zum Flow-Verzeichnis. Wenn –file angegeben ist, sollte dieser Pfad ein relativer Pfad zur Datei sein.
--data
Lokaler Pfad zur Datendatei. Wenn –file angegeben ist, sollte dieser Pfad ein relativer Pfad zur Datei sein.
--column-mapping
Spaltenzuordnung der Eingaben, verwenden Sie ${data.xx}, um auf Datenspalten zu verweisen, verwenden Sie ${run.inputs.xx}, um auf Daten der referenzierten Run-Spalten zu verweisen, und ${run.outputs.xx}, um auf Run-Ausgabespalten zu verweisen.
--run
Name des referenzierten Flow-Runs. Sie können beispielsweise einen Evaluierungsflow gegen einen vorhandenen Run ausführen. Beispiel: “pf run create –flow evaluation_flow_dir –run existing_bulk_run”.
--variant
Knoten- & Variantenname im Format ${node_name.variant_name}.
--stream -s
Gibt an, ob die Run-Protokolle auf die Konsole gestreamt werden sollen.
Standardwert: False
--environment-variables
Umgebungsvariablen, die durch Angabe eines Eigenschaftspfads und -werts festgelegt werden. Beispiel: --environment-variable key1='${my_connection.api_key}' key2='value2'. Der Wert, der auf Verbindungsschlüssel verweist, wird zum tatsächlichen Wert aufgelöst und alle angegebenen Umgebungsvariablen werden in os.environ gesetzt.
--connections
Überschreibt Knotenebene-Verbindungen mit dem bereitgestellten Wert. Beispiel: --connections node1.connection=test_llm_connection node1.deployment_name=gpt-35-turbo
--set
Aktualisiert ein Objekt, indem ein Eigenschaftspfad und ein Wert zum Festlegen angegeben werden. Beispiel: --set property1.property2=<value>.
--source
Lokaler Pfad zum vorhandenen Run-Datensatzordner.
pf run update#
Aktualisiert Metadaten eines Runs, einschließlich Anzeigename, Beschreibung und Tags.
pf run update --name
[--set]
Beispiel#
Aktualisiert einen Run
pf run update -n <name> --set display_name="<display-name>" description="<description>" tags.key="value"
Erforderlicher Parameter#
--name -n
Name des Runs.
Optionaler Parameter#
--set
Aktualisiert ein Objekt, indem ein Eigenschaftspfad und ein Wert zum Festlegen angegeben werden. Beispiel: –set property1.property2=.
pf run stream#
Streamt Run-Protokolle an die Konsole.
pf run stream --name
Erforderlicher Parameter#
--name -n
Name des Runs.
pf run list#
Listet Runs auf.
pf run list [--all-results]
[--archived-only]
[--include-archived]
[--max-results]
Optionale Parameter#
--all-results
Gibt alle Ergebnisse zurück.
Standardwert: False
--archived-only
Listet nur archivierte Runs auf.
Standardwert: False
--include-archived
Listet archivierte und aktive Runs auf.
Standardwert: False
--max-results -r
Maximale Anzahl der zurückzugebenden Ergebnisse. Standard ist 50.
Standardwert: 50
pf run show#
Zeigt Details für einen Run an.
pf run show --name
Erforderlicher Parameter#
--name -n
Name des Runs.
pf run show-details#
Vorschau auf die Eingaben und Ausgaben eines Runs.
pf run show-details --name
Erforderlicher Parameter#
--name -n
Name des Runs.
pf run show-metrics#
Gibt Run-Metriken auf der Konsole aus.
pf run show-metrics --name
Erforderlicher Parameter#
--name -n
Name des Runs.
pf run visualize#
Visualisiert einen Run im Browser.
pf run visualize --names
Erforderlicher Parameter#
--names -n
Name der Runs, durch Kommas getrennt.
pf run archive#
Archiviert einen Run.
pf run archive --name
Erforderlicher Parameter#
--name -n
Name des Runs.
pf run restore#
Stellt einen archivierten Run wieder her.
pf run restore --name
Erforderlicher Parameter#
--name -n
Name des Runs.
pf tool#
Verwaltet Prompt Flow-Tools.
Befehl |
Beschreibung |
|---|---|
Initialisiert ein Tool-Verzeichnis. |
|
Listet alle Tools in der Umgebung auf. |
|
Validiert Tools. |
pf tool init#
Initialisiert ein Tool-Verzeichnis.
pf tool init [--package]
[--tool]
[--set]
Beispiele#
Erstellt ein Paket-Tool von Grund auf.
pf tool init --package <package-name> --tool <tool-name>
Erstellt ein Paket-Tool mit zusätzlichen Informationen.
pf tool init --package <package-name> --tool <tool-name> --set icon=<icon-path> category=<tool-category> tags="{'<key>': '<value>'}"
Erstellt ein Paket-Tool von Grund auf.
pf tool init --package <package-name> --tool <tool-name>
Erstellt ein Python-Tool von Grund auf.
pf tool init --tool <tool-name>
Optionale Parameter#
--package
Der zu erstellende Paketname.
--tool
Der zu erstellende Toolname.
--set
Legt zusätzliche Informationen über das Tool fest, wie Kategorie, Symbol und Tags. Beispiel: –set
pf tool list#
Listet alle Tools in der Umgebung auf.
pf tool list [--flow]
Beispiele#
Listet alle Paket-Tools in der Umgebung auf.
pf tool list
Listet alle Paket-Tools und Code-Tools im Flow auf.
pf tool list --flow <path-to-flow-direcotry>
Optionale Parameter#
--flow
Das Flow-Verzeichnis.
pf tool validate#
Validiert das Tool.
pf tool validate --source
Beispiele#
Validiert ein einzelnes Funktions-Tool.
pf tool validate -–source <package-name>.<module-name>.<tool-function>
Validiert alle Tools in einem Paket-Tool.
pf tool validate -–source <package-name>
Validiert Tools in einem Python-Skript.
pf tool validate --source <path-to-tool-script>
Erforderlicher Parameter#
--source
Die zu verwendende Tool-Quelle.
pf config#
Konfiguration für den aktuellen Benutzer verwalten.
Befehl |
Beschreibung |
|---|---|
Legt Prompt Flow-Konfigurationen für den aktuellen Benutzer fest. |
|
Zeigt Prompt Flow-Konfigurationen für den aktuellen Benutzer an. |
pf config set#
Legt Prompt Flow-Konfigurationen für den aktuellen Benutzer fest; Konfigurationen werden unter ~/.promptflow/pf.yaml gespeichert.
pf config set
Beispiele#
Verbindungsanbieter
Legt den Verbindungsanbieter für den aktuellen Benutzer auf Azure ML-Workspace oder Azure AI-Projekt fest.
pf config set connection.provider="azureml://subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-or-project-name>"
Nachverfolgung
Legt das Trace-Ziel auf Azure ML-Workspace oder Azure AI-Projekt fest.
pf config set trace.destination="azureml://subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-or-project-name>"
Nur Traces lokal protokollieren.
pf config set trace.destination="local"
Deaktiviert die Trace-Funktion.
pf config set trace.destination="none"
pf config show#
Zeigt Prompt Flow-Konfigurationen für den aktuellen Benutzer an.
pf config show
Beispiele#
Zeigt Prompt Flow für den aktuellen Benutzer an.
pf config show
pf service#
Prompt Flow-Dienst verwalten.
Befehl |
Beschreibung |
|---|---|
Startet den Prompt Flow-Dienst. |
|
Stoppt den Prompt Flow-Dienst. |
|
Zeigt die Informationen des gestarteten Prompt Flow-Dienstes an. |
pf service start#
Startet den Prompt Flow-Dienst.
pf service start [--port]
[--force]
[--debug]
Beispiele#
Prompt Flow versucht, den Dienst auf dem Standardport 23333 zu starten. Wenn der Port bereits belegt ist, prüft Prompt Flow nacheinander neue Ports, indem es jeweils um eins erhöht. Prompt Flow merkt sich die Portnummer für zukünftige Referenzen und verwendet sie für nachfolgende Dienststarts.
pf service start
Erzwingt den Start des Prompt Flow-Dienstes. Wenn der Port bereits verwendet wird, wird der bestehende Dienst beendet und ein neuer Dienst neu gestartet.
pf service start --force
Startet den Prompt Flow-Dienst mit einem bestimmten Port. Wenn der Port bereits belegt ist, gibt Prompt Flow eine Fehlermeldung aus, es sei denn, der Dienst wird mit dem Flag --force erzwungen gestartet. Nach Verfügbarkeit merkt sich Prompt Flow die Portnummer für zukünftige Referenzen und verwendet sie für nachfolgende Dienststarts.
pf service start --port 65553
Startet den Prompt Flow-Dienst im Vordergrund und zeigt Debug-Protokolle direkt im Terminal an.
pf service start --debug
Optionale Parameter#
--port -p
Der festgelegte Port des Prompt Flow-Dienstes; die Portnummer wird gespeichert, wenn der Port verfügbar ist.
--force
Erzwingt den Neustart des bestehenden Dienstes, wenn der Port verwendet wird.
--debug
Startet den Prompt Flow-Dienst im Vordergrund und zeigt Debug-Protokolle direkt im Terminal an.
pf service stop#
Stoppt den Prompt Flow-Dienst.
pf service stop [--debug]
Beispiel#
Stoppt den Prompt Flow-Dienst.
pf service stop
Optionaler Parameter#
--debug
Das Flag zum Aktivieren des Debug-Modus für die CLI.
pf service status#
Zeigt die Informationen des gestarteten Prompt Flow-Dienstes an.
pf service status
pf upgrade#
Prompt Flow CLI aktualisieren.
Befehl |
Beschreibung |
|---|---|
Prompt Flow CLI aktualisieren. |
Beispiele#
Aktualisiert Prompt Flow ohne Aufforderung und führt nicht-interaktiv aus.
pf upgrade --yes
pf trace#
Verwaltet Prompt Flow-Traces.
Befehl |
Beschreibung |
|---|---|
Löscht Traces |
pf trace delete#
Löscht Traces.
pf trace delete [--run]
[--collection]
[--started-before] # should combine with `collection`
Beispiele#
Löscht Traces, die aus einem bestimmten Run stammen.
pf trace delete --run <run-name>
Löscht Traces in einer bestimmten Sammlung.
pf trace delete --collection <collection>
Löscht Traces in einer bestimmten Sammlung, die vor einer bestimmten Zeit gestartet wurden.
# `started-before` should be in ISO 8601 format
pf trace delete --collection <collection> --started-before '2024-03-19T15:17:23.807563'
Autovervollständigung#
Um die Autovervollständigungsfunktionen für die pf CLI zu aktivieren, müssen Sie den folgenden Ausschnitt zu Ihrer ~/.bashrc oder ~/.zshrc hinzufügen
source <promptflow_package_install_root>/pf.completion.sh