promptflow.contracts.flow Modul#
- class promptflow.contracts.flow.ActivateCondition(condition: InputAssignment, condition_value: Any)#
Basiert auf:
objectDiese 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:
- 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:
FlowBaseDiese 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:
FlowBaseDiese 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:
- 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#
- program_language: str = 'python'#
- serialize()#
Serialisiert den Flow in ein Dict.
- Gibt zurück:
Das Dict des Flows.
- Rückgabetyp:
dict
- class promptflow.contracts.flow.FlowBase(id: str, name: str, inputs: Dict[str, FlowInputDefinition], outputs: Dict[str, FlowOutputDefinition])#
Basiert auf:
objectDies 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:
FlowParamDefinitionBaseDiese 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:
- class promptflow.contracts.flow.FlowInputAssignment(value: Any, value_type: InputValueType = InputValueType.LITERAL, section: str = '', property: str = '', prefix: str = 'flow.')#
Bases:
InputAssignmentDiese 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:
- 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:
FlowParamDefinitionBaseDiese 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:
- 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:
objectDiese 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:
- 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
- class promptflow.contracts.flow.FlowParamDefinitionBase(type: ValueType, default: Optional[str] = None, description: Optional[str] = None)#
Basiert auf:
objectBasisklasse 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
- class promptflow.contracts.flow.InputAssignment(value: Any, value_type: InputValueType = InputValueType.LITERAL, section: str = '', property: str = '')#
Basiert auf:
objectDiese 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:
- 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:
- 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:
- 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:
EnumDas 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:
objectDiese 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:
- 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#
- use_variants: bool = False#
- class promptflow.contracts.flow.NodeVariant(node: Node, description: str = '')#
Basiert auf:
objectDiese 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:
- class promptflow.contracts.flow.NodeVariants(default_variant_id: str, variants: Dict[str, NodeVariant])#
Basiert auf:
objectDiese 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:
- 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:
FlowBaseDiese 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:
- 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:
objectDiese 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:
- path: Optional[str] = None#
- tool: Optional[str] = None#
- type: ToolSourceType = 'code'#