pf#

Verwalten Sie Prompt Flow-Ressourcen mit der Prompt Flow CLI.

Befehl

Beschreibung

pf flow

Flows verwalten.

pf connection

Verbindungen verwalten.

pf run

Runs verwalten.

pf tool

Tools initialisieren oder auflisten.

pf config

Konfiguration für den aktuellen Benutzer verwalten.

pf service

Prompt Flow-Dienst verwalten.

pf upgrade

Prompt Flow CLI aktualisieren.

pf trace

Spuren verwalten.

pf flow#

Prompt Flow Flow-Flows verwalten.

Befehl

Beschreibung

pf flow init

Ein Prompt Flow-Verzeichnis initialisieren.

pf flow test

Den Prompt Flow oder den Flow-Knoten testen.

pf flow validate

Einen Flow validieren und flow.tools.json dafür generieren.

pf flow build

Einen Flow für weitere Freigabe oder Bereitstellung erstellen.

pf flow serve

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

pf connection create

Erstellt eine Verbindung.

pf connection update

Aktualisiert eine Verbindung.

pf connection show

Zeigt Details einer Verbindung an.

pf connection list

Listet alle Verbindungen auf.

pf connection delete

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

pf run create

Erstellt einen Run.

pf run update

Aktualisiert Metadaten eines Runs, einschließlich Anzeigename, Beschreibung und Tags.

pf run stream

Streamt Run-Protokolle an die Konsole.

pf run list

Listet Runs auf.

pf run show

Zeigt Details für einen Run an.

pf run show-details

Vorschau auf die Eingaben und Ausgaben eines Runs.

pf run show-metrics

Gibt Run-Metriken auf der Konsole aus.

pf run visualize

Visualisiert einen Run.

pf run archive

Archiviert einen Run.

pf run restore

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

pf tool init

Initialisiert ein Tool-Verzeichnis.

pf tool list

Listet alle Tools in der Umgebung auf.

pf tool validate

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

pf config set

Legt Prompt Flow-Konfigurationen für den aktuellen Benutzer fest.

pf config show

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

pf service start

Startet den Prompt Flow-Dienst.

pf service stop

Stoppt den Prompt Flow-Dienst.

pf service status

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

pf upgrade

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

pf trace delete

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