promptflow.contracts.flow Modul#

class promptflow.contracts.flow.ActivateCondition(condition: InputAssignment, condition_value: Any)#

Basiert auf: object

Diese Klasse repräsentiert die Aktivierungsbedingung eines Knotens.

Parameter:
  • condition (InputAssignment) – Die Bedingung der Aktivierungsbedingung.

  • condition_value (Any) – Der Wert der Bedingung.

condition: InputAssignment#
condition_value: Any#
static deserialize(data: dict, node_name: Optional[str] = None) ActivateCondition#

Deserialisiere die Aktivierungsbedingung aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die Aktivierungsbedingung, die aus dem Dict erstellt wurde.

Rückgabetyp:

ActivateCondition

class promptflow.contracts.flow.FlexFlow(id: str, name: str, inputs: Dict[str, FlowInputDefinition], outputs: Dict[str, FlowOutputDefinition], init: Optional[Dict[str, FlowInputDefinition]] = None, program_language: str = 'python', environment_variables: Optional[Dict[str, object]] = None, message_format: str = 'basic', sample: Optional[Dict[str, dict]] = None)#

Bases: FlowBase

Diese Klasse repräsentiert einen Flex-Flow.

Parameter:
  • id (str) – Die ID des Flows.

  • name (str) – Der Name des Flows.

  • inputs (Dict[str, FlowInputDefinition]) – Die Eingaben des Flows.

  • outputs (Dict[str, FlowOutputDefinition]) – Die Ausgaben des Flows.

  • program_language (str) – Die Programmiersprache des Flows.

  • environment_variables (Dict[str, object]) – Die Standardumgebungsvariablen des Flows.

  • message_format (str) – Der Nachrichtentyp des Flows zur Darstellung verschiedener multimedialer Verträge.

  • sample (Dict[str, object]) – Beispielhafte Daten für den Flow. Werden zu Standardeingaben & init kwargs, falls nicht angegeben.

static deserialize(data: dict) FlexFlow#

Deserialisiere den Flow aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Der aus dem Dict erstellte Flow.

Rückgabetyp:

EagerFlow

environment_variables: Dict[str, object] = None#
get_connection_names(environment_variables_overrides: Optional[Dict[str, str]] = None)#

Gibt Verbindungsnamen zurück.

init: Dict[str, FlowInputDefinition] = None#
message_format: str = 'basic'#
program_language: str = 'python'#
sample: Dict[str, dict] = None#
class promptflow.contracts.flow.Flow(id: str, name: str, inputs: Dict[str, FlowInputDefinition], outputs: Dict[str, FlowOutputDefinition], nodes: List[Node], tools: List[Tool], node_variants: Optional[Dict[str, NodeVariants]] = None, program_language: str = 'python', environment_variables: Optional[Dict[str, object]] = None, message_format: str = 'basic')#

Bases: FlowBase

Diese Klasse repräsentiert einen Flow.

Parameter:
  • id (str) – Die ID des Flows.

  • name (str) – Der Name des Flows.

  • nodes (List[Node]) – Die Knoten des Flows.

  • inputs (Dict[str, FlowInputDefinition]) – Die Eingaben des Flows.

  • outputs (Dict[str, FlowOutputDefinition]) – Die Ausgaben des Flows.

  • tools (List[Tool]) – Die Werkzeuge des Flows.

  • node_variants (Dict[str, NodeVariants]) – Die Knotenvarianten des Flows.

  • program_language (str) – Die Programmiersprache des Flows.

  • environment_variables (Dict[str, object]) – Die Standardumgebungsvariablen des Flows.

  • message_format (str) – Der Nachrichtentyp des Flows zur Darstellung verschiedener multimedialer Verträge.

static deserialize(data: dict) Flow#

Deserialisiere den Flow aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Der aus dem Dict erstellte Flow.

Rückgabetyp:

Flow

environment_variables: Dict[str, object] = None#
classmethod from_yaml(flow_file: Path, working_dir=None, name=None) Flow#

Lädt den Flow aus einer YAML-Datei.

get_chat_input_name()#

Gibt den Namen der Chat-Eingabe zurück.

get_chat_output_name()#

Gibt den Namen der Chat-Ausgabe zurück.

get_connection_input_names_for_node(node_name)#

Gibt die Verbindungs-Eingabenamen für einen Knoten zurück, gibt auch Knoten-Verbindungseingaben ohne Zuweisung zurück.

Parameter:

node_name – Knotenname

get_connection_names(environment_variables_overrides: Optional[Dict[str, str]] = None)#

Gibt Verbindungsnamen zurück.

get_node(node_name)#

Gibt den Knoten mit dem angegebenen Namen zurück.

get_tool(tool_name)#

Gibt das Werkzeug mit dem angegebenen Namen zurück.

has_aggregation_node()#

Gibt zurück, ob der Flow einen Aggregationsknoten hat.

is_chat_flow()#

Gibt zurück, ob der Flow ein Chat-Flow ist.

is_llm_node(node)#

Gibt basierend auf einem Knoten zurück, ob er ein LLM-Werkzeug verwendet.

is_node_referenced_by(node: Node, other_node: Node)#

Gibt basierend auf zwei Knoten zurück, ob der erste Knoten vom zweiten Knoten referenziert wird.

is_normal_node(node_name)#

Gibt zurück, ob der Knoten ein normaler Knoten ist.

is_reduce_node(node_name)#

Gibt zurück, ob der Knoten ein Reduktionsknoten ist.

is_referenced_by_flow_output(node)#

Gibt basierend auf einem Knoten zurück, ob er von einer Ausgabe referenziert wird.

is_referenced_by_other_node(node)#

Gibt basierend auf einem Knoten zurück, ob er von einem anderen Knoten referenziert wird.

classmethod load_env_variables(flow_file: Path, working_dir=None, environment_variables_overrides: Optional[Dict[str, str]] = None) Dict[str, str]#

Liest flow_environment_variables aus der Flow-YAML-Datei. Wenn environment_variables_overrides vorhanden ist, werden die Konfigurationen auf Flow-Ebene überschrieben. Gibt das gemischte Dictionary der Umgebungsvariablen zurück.

static load_message_format_from_yaml(flow_file: Path, working_dir=None) str#
message_format: str = 'basic'#
node_variants: Dict[str, NodeVariants] = None#
nodes: List[Node]#
program_language: str = 'python'#
serialize()#

Serialisiert den Flow in ein Dict.

Gibt zurück:

Das Dict des Flows.

Rückgabetyp:

dict

tools: List[Tool]#
class promptflow.contracts.flow.FlowBase(id: str, name: str, inputs: Dict[str, FlowInputDefinition], outputs: Dict[str, FlowOutputDefinition])#

Basiert auf: object

Dies ist die Basisklasse des Flows.

Parameter:
  • id (str) – Die ID des Flows.

  • name (str) – Der Name des Flows.

  • inputs (Dict[str, FlowInputDefinition]) – Die Eingaben des Flows.

  • outputs (Dict[str, FlowOutputDefinition]) – Die Ausgaben des Flows.

get_connection_names(environment_variables_overrides: Optional[Dict[str, str]] = None)#

Gibt Verbindungsnamen mit Überschreibungen von Umgebungsvariablen zurück. Hinweis: Nur Umgebungsvariablen, die in flow.environment_variables vorhanden sind, werden berücksichtigt.

Parameter:

environment_variables_overrides – wird verwendet, um die Umgebungsvariablen des Flows zu überschreiben.

Gibt zurück:

Verbindungsnamen, die in diesem Flow verwendet werden.

get_environment_variables_with_overrides(environment_variables_overrides: Optional[Dict[str, str]] = None) Dict[str, str]#
id: str#
inputs: Dict[str, FlowInputDefinition]#
name: str#
outputs: Dict[str, FlowOutputDefinition]#
class promptflow.contracts.flow.FlowInitDefinition(type: ValueType, default: Optional[str] = None, description: Optional[str] = None)#

Bases: FlowParamDefinitionBase

Diese Klasse repräsentiert die Definition der init-kwargs einer aufrufbaren Klassen-Flows.

static deserialize(data: dict) FlowInitDefinition#

Deserialisieren Sie die Flow-Initialisierungsdefinition aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die aus dem Dict erstellte Flow-Eingabedefinition.

Rückgabetyp:

FlowInitDefinition

type: ValueType#
class promptflow.contracts.flow.FlowInputAssignment(value: Any, value_type: InputValueType = InputValueType.LITERAL, section: str = '', property: str = '', prefix: str = 'flow.')#

Bases: InputAssignment

Diese Klasse repräsentiert die Zuweisung eines Flow-Eingabewerts.

Parameter:

prefix (str) – Das Präfix der Flow-Eingabe.

static deserialize(value: str) FlowInputAssignment#

Deserialisieren Sie die Flow-Eingabezuweisung aus einer Zeichenkette.

Parameter:

value (str) – Die zu deserialisierende Zeichenkette.

Gibt zurück:

Die aus der Zeichenkette erstellte Flow-Eingabezuweisung.

Rückgabetyp:

FlowInputAssignment

static is_flow_input(input_value: str) bool#

Prüfen Sie, ob der Eingabewert eine Flow-Eingabe ist.

Parameter:

input_value (str) – Der zu prüfende Eingabewert.

Gibt zurück:

Ob der Eingabewert eine Flow-Eingabe ist.

Rückgabetyp:

bool

prefix: str = 'flow.'#
class promptflow.contracts.flow.FlowInputDefinition(type: ValueType, default: Optional[str] = None, description: Optional[str] = None, enum: Optional[List[str]] = None, is_chat_input: bool = False, is_chat_history: Optional[bool] = None)#

Bases: FlowParamDefinitionBase

Diese Klasse repräsentiert die Definition einer Flow-Eingabe.

Parameter:
  • type (ValueType) – Der Typ der Flow-Eingabe.

  • default (str) – Der Standardwert der Flow-Eingabe.

  • description (str) – Die Beschreibung der Flow-Eingabe.

  • enum (List[str]) – Die Enum der Flow-Eingabe.

  • is_chat_input (bool) – Ob die Flow-Eingabe eine Chat-Eingabe ist.

  • is_chat_history (bool) – Ob die Flow-Eingabe eine Chat-Historie ist.

static deserialize(data: dict) FlowInputDefinition#

Deserialisieren Sie die Flow-Eingabedefinition aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die aus dem Dict erstellte Flow-Eingabedefinition.

Rückgabetyp:

FlowInputDefinition

enum: List[str] = None#
is_chat_history: bool = None#
is_chat_input: bool = False#
serialize()#

Serialisieren Sie die Flow-Eingabedefinition in ein Dict.

Gibt zurück:

Das Dict der Flow-Eingabedefinition.

Rückgabetyp:

dict

class promptflow.contracts.flow.FlowOutputDefinition(type: ValueType, reference: InputAssignment, description: str = '', evaluation_only: bool = False, is_chat_output: bool = False)#

Basiert auf: object

Diese Klasse repräsentiert die Definition einer Flow-Ausgabe.

Parameter:
  • type (ValueType) – Der Typ der Flow-Ausgabe.

  • reference (InputAssignment) – Die Referenz der Flow-Ausgabe.

  • description (str) – Die Beschreibung der Flow-Ausgabe.

  • evaluation_only (bool) – Ob die Flow-Ausgabe nur zur Auswertung dient.

  • is_chat_output (bool) – Ob die Flow-Ausgabe eine Chat-Ausgabe ist.

description: str = ''#
static deserialize(data: dict)#

Deserialisieren Sie die Flow-Ausgabedefinition aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die aus dem Dict erstellte Flow-Ausgabedefinition.

Rückgabetyp:

FlowOutputDefinition

evaluation_only: bool = False#
is_chat_output: bool = False#
reference: InputAssignment#
serialize()#

Serialisieren Sie die Flow-Ausgabedefinition in ein Dict.

Gibt zurück:

Das Dict der Flow-Ausgabedefinition.

Rückgabetyp:

dict

type: ValueType#
class promptflow.contracts.flow.FlowParamDefinitionBase(type: ValueType, default: Optional[str] = None, description: Optional[str] = None)#

Basiert auf: object

Basisklasse für die Definition eines Flow-Parameters (Eingabe & Init-kwargs).

default: str = None#
description: str = None#
serialize()#

Serialisieren Sie die Flow-Parameterdefinition in ein Dict.

Gibt zurück:

Das Dict der Flow-Parameterdefinition.

Rückgabetyp:

dict

type: ValueType#
class promptflow.contracts.flow.InputAssignment(value: Any, value_type: InputValueType = InputValueType.LITERAL, section: str = '', property: str = '')#

Basiert auf: object

Diese Klasse repräsentiert die Zuweisung eines Eingabewerts.

Parameter:
  • value (Any) – Der Wert der Eingabezuweisung.

  • value_type (InputValueType) – Der Typ der Eingabezuweisung.

  • section (str) – Der Abschnitt der Eingabezuweisung, normalerweise die Ausgabe.

  • property (str) – Die Eigenschaft der Eingabezuweisung, die im Abschnitt vorhanden ist.

static deserialize(value: str) InputAssignment#

Deserialisieren Sie die Eingabezuweisung aus einer Zeichenkette.

Parameter:

value (str) – Die zu deserialisierende Zeichenkette.

Gibt zurück:

Die aus der Zeichenkette erstellte Eingabezuweisung.

Rückgabetyp:

InputAssignment

static deserialize_node_reference(data: str) InputAssignment#

Deserialisieren Sie den Knotenreferenzteil einer Eingabezuweisung.

Parameter:

data (str) – Die zu deserialisierende Zeichenkette.

Gibt zurück:

Eingabezuweisung vom Typ Knotenreferenz.

Rückgabetyp:

InputAssignment

static deserialize_reference(value: str) InputAssignment#

Deserialisieren Sie den Referenzteil (einschließlich Knoten-/Flow-Referenz) einer Eingabezuweisung.

Parameter:

value (str) – Die zu deserialisierende Zeichenkette.

Gibt zurück:

Die Eingabezuweisung von Referenztypen.

Rückgabetyp:

InputAssignment

property: str = ''#
section: str = ''#
serialize()#

Serialisieren Sie die Eingabezuweisung in eine Zeichenkette.

value: Any#
value_type: InputValueType = 'Literal'#
class promptflow.contracts.flow.InputValueType(value)#

Basiert auf: Enum

Das Enum des Eingabewerttyps.

FLOW_INPUT = 'FlowInput'#
LITERAL = 'Literal'#
NODE_REFERENCE = 'NodeReference'#
class promptflow.contracts.flow.Node(name: str, tool: str, inputs: Dict[str, InputAssignment], comment: str = '', api: Optional[str] = None, provider: Optional[str] = None, module: Optional[str] = None, connection: Optional[str] = None, aggregation: bool = False, enable_cache: bool = False, use_variants: bool = False, source: Optional[ToolSource] = None, type: Optional[ToolType] = None, activate: Optional[ActivateCondition] = None)#

Basiert auf: object

Diese Klasse repräsentiert einen Knoten in einem Flow.

Parameter:
  • name (str) – Der Name des Knotens.

  • tool (str) – Das Werkzeug des Knotens.

  • inputs (Dict[str, InputAssignment]) – Die Eingaben des Knotens.

  • comment (str) – Der Kommentar des Knotens.

  • api (str) – Die API des Knotens.

  • provider (str) – Der Anbieter des Knotens.

  • module (str) – Das Modul des Knotens.

  • connection (str) – Die Verbindung des Knotens.

  • aggregation (bool) – Ob der Knoten ein Aggregationsknoten ist.

  • enable_cache (bool) – Ob der Knoten den Cache aktiviert.

  • use_variants (bool) – Ob der Knoten Varianten verwendet.

  • source (ToolSource) – Die Quelle des Knotens.

  • type (ToolType) – Der Werkzeugtyp des Knotens.

  • activate (ActivateCondition) – Die Aktivierungsbedingung des Knotens.

activate: Optional[ActivateCondition] = None#
aggregation: bool = False#
api: str = None#
comment: str = ''#
connection: str = None#
static deserialize(data: dict) Node#

Deserialisieren Sie den Knoten aus einem Dict.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Der aus dem Dict erstellte Knoten.

Rückgabetyp:

Node

enable_cache: bool = False#
inputs: Dict[str, InputAssignment]#
module: str = None#
name: str#
provider: str = None#
serialize()#

Serialisieren Sie den Knoten in ein Dict.

Gibt zurück:

Das Dict des Knotens.

Rückgabetyp:

dict

source: Optional[ToolSource] = None#
tool: str#
type: Optional[ToolType] = None#
use_variants: bool = False#
class promptflow.contracts.flow.NodeVariant(node: Node, description: str = '')#

Basiert auf: object

Diese Klasse repräsentiert eine Knotavariante.

Parameter:
  • node (Node) – Der Knoten der Knotavariante.

  • description (str) – Die Beschreibung der Knotavariante.

description: str = ''#
static deserialize(data: dict) NodeVariant#

Deserialisiert die Knotavariante aus einem Dictionary.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die aus dem Dictionary erstellte Knotavariante.

Rückgabetyp:

NodeVariant

node: Node#
class promptflow.contracts.flow.NodeVariants(default_variant_id: str, variants: Dict[str, NodeVariant])#

Basiert auf: object

Diese Klasse repräsentiert die Varianten eines Knotens.

Parameter:
  • default_variant_id (str) – Die ID der Standardvariante des Knotens.

  • variants (Dict[str, NodeVariant]) – Die Varianten des Knotens.

default_variant_id: str#
static deserialize(data: dict) NodeVariants#

Deserialisiert die Knotavarianten aus einem Dictionary.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die aus dem Dictionary erstellten Knotavarianten.

Rückgabetyp:

NodeVariants

variants: Dict[str, NodeVariant]#
class promptflow.contracts.flow.PromptyFlow(id: str, name: str, inputs: Dict[str, FlowInputDefinition], outputs: Dict[str, FlowOutputDefinition], program_language: str = 'python', environment_variables: Optional[Dict[str, object]] = None, message_format: str = 'basic')#

Bases: FlowBase

Diese Klasse repräsentiert einen Prompty-Flow.

Parameter:
  • id (str) – Die ID des Flows.

  • name (str) – Der Name des Flows.

  • inputs (Dict[str, FlowInputDefinition]) – Die Eingaben des Flows.

  • outputs (Dict[str, FlowOutputDefinition]) – Die Ausgaben des Flows.

  • program_language (str) – Die Programmiersprache des Flows.

  • environment_variables (Dict[str, object]) – Die Standardumgebungsvariablen des Flows.

  • message_format (str) – Der Nachrichtentyp des Flows zur Darstellung verschiedener multimedialer Verträge.

classmethod deserialize(data: dict) PromptyFlow#

Deserialisiert den Prompty-Flow aus einem Dictionary.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Der aus dem Dict erstellte Flow.

Rückgabetyp:

PromptyFlow

environment_variables: Dict[str, object] = None#
get_connection_names(environment_variables_overrides: Optional[Dict[str, str]] = None)#

Gibt Verbindungsnamen zurück.

message_format: str = 'basic'#
program_language: str = 'python'#
class promptflow.contracts.flow.ToolSource(type: ToolSourceType = ToolSourceType.Code, tool: Optional[str] = None, path: Optional[str] = None)#

Basiert auf: object

Diese Klasse repräsentiert die Quelle eines Werkzeugs.

Parameter:
  • type (ToolSourceType) – Der Typ der Werkzeugquelle.

  • tool (str) – Das Werkzeug der Werkzeugquelle.

  • path (str) – Der Pfad der Werkzeugquelle.

static deserialize(data: dict) ToolSource#

Deserialisiert die Werkzeugquelle aus einem Dictionary.

Parameter:

data (dict) – Das zu deserialisierende Dict.

Gibt zurück:

Die aus dem Dictionary erstellte Werkzeugquelle.

Rückgabetyp:

ToolSource

path: Optional[str] = None#
tool: Optional[str] = None#
type: ToolSourceType = 'code'#
class promptflow.contracts.flow.ToolSourceType(value)#

Bases: str, Enum

Das Enum für den Werkzeugquellentyp.

Code = 'code'#
Package = 'package'#
PackageWithPrompt = 'package_with_prompt'#