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:

  1. Wenn Sie zwei Dateien mit demselben Namen haben, die sich in verschiedenen Ordnern befinden, die im Feld additional_includes angegeben sind, und der Dateiname auch als Einstieg eines Tool-Knotens angegeben ist, wird das System die letzte referenzieren, auf die es im Feld additional_includes stößt.

  1. Wenn Sie eine Datei im Flow-Ordner haben, die denselben Namen trägt wie eine Datei, die im Feld additional_includes angegeben ist, wird das System die im Feld additional_includes aufgefü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.

  1. Um diese Funktion praktisch kennenzulernen, üben Sie mit unserem Beispiel flow-with-additional-includes.

  2. Sie können mehr darüber erfahren, wie der Flow mit zusätzlichen Inklusionen während des Übergangs zur Cloud funktioniert.