Referenzierung externer Dateien/Ordner in einem Flow#
Manchmal sind bereits vorhandene Code-Assets für die Referenzierung im Flow unerlässlich. In den meisten Fällen können Sie dies durch den Import eines Python-Pakets in Ihren Flow erreichen. Wenn jedoch kein Python-Paket verfügbar ist oder die Erstellung eines Pakets zu aufwendig ist, können Sie dennoch externe Dateien oder Ordner außerhalb des aktuellen Flow-Ordners referenzieren, indem Sie unsere Funktion additional includes in Ihrer Flow-Konfiguration verwenden.
Diese Funktion bietet einen effizienten Mechanismus, um relative Datei- oder Ordnerpfade außerhalb des Flow-Ordners aufzulisten und sie nahtlos in Ihre flow.dag.yaml zu integrieren. Zum Beispiel
additional_includes:
- ../web-classification/classify_with_llm.jinja2
- ../web-classification/convert_to_dict.py
- ../web-classification/fetch_text_content_from_url.py
- ../web-classification/prepare_examples.py
- ../web-classification/summarize_text_content.jinja2
- ../web-classification/summarize_text_content__variant_1.jinja2
Sie können dieses Feld additional_includes in die flow.dag.yaml einfügen. Der Wert dieses Feldes ist eine Liste der relativen Datei-/Ordnerpfade zum Flow-Ordner.
Genau wie bei der üblichen Definition des Tool-Knoten-Einstiegs können Sie den Tool-Knoten-Einstieg in der flow.dag.yaml nur mit dem Dateinamen definieren, wodurch die Notwendigkeit entfällt, den relativen Pfad erneut anzugeben. Zum Beispiel
nodes:
- name: fetch_text_content_from_url
type: python
source:
type: code
path: fetch_text_content_from_url.py
inputs:
url: ${inputs.url}
- name: summarize_text_content
use_variants: true
- name: prepare_examples
type: python
source:
type: code
path: prepare_examples.py
inputs: {}
Die Einstiegsdatei „fetch_text_content_from_url.py“ des Tool-Knotens „fetch_text_content_from_url“ befindet sich in „../web-classification/fetch_text_content_from_url.py“, wie im Feld additional_includes angegeben. Das Gleiche gilt für die „summarize_text_content“-Tool-Knoten.
Hinweis:
Wenn Sie zwei Dateien mit demselben Namen haben, die sich in verschiedenen Ordnern befinden, die im Feld
additional_includesangegeben sind, und der Dateiname auch als Einstieg eines Tool-Knotens angegeben ist, wird das System die letzte referenzieren, auf die es im Feldadditional_includesstößt.
Wenn Sie eine Datei im Flow-Ordner haben, die denselben Namen trägt wie eine Datei, die im Feld
additional_includesangegeben ist, wird das System die im Feldadditional_includesaufgeführte Datei priorisieren. Betrachten Sie die folgende YAML-Struktur als Beispiel
additional_includes:
- ../web-classification/prepare_examples.py
- ../tmp/prepare_examples.py
...
nodes:
- name: summarize_text_content
use_variants: true
- name: prepare_examples
type: python
source:
type: code
path: prepare_examples.py
inputs: {}
In diesem Fall wird das System „../tmp/prepare_examples.py“ als Einstiegsdatei für den Tool-Knoten „prepare_examples“ verwenden. Selbst wenn sich eine Datei namens „prepare_examples.py“ im Flow-Ordner befindet, wird das System trotzdem die im Feld additional_includes angegebene Datei „../tmp/prepare_examples.py“ verwenden.
Tipps: Die Funktion „additional includes“ kann Ihren Workflow erheblich vereinfachen, indem sie die Notwendigkeit der manuellen Handhabung dieser Referenzen eliminiert.
Um diese Funktion praktisch kennenzulernen, üben Sie mit unserem Beispiel flow-with-additional-includes.
Sie können mehr darüber erfahren, wie der Flow mit zusätzlichen Inklusionen während des Übergangs zur Cloud funktioniert.