Sim

Parallel

Der Parallel-Block ist ein Container, der mehrere Instanzen gleichzeitig ausführt, um Workflows schneller zu verarbeiten. Verarbeiten Sie Elemente simultan statt sequentiell.

Parallel-Blöcke sind Container-Knoten, die ihre Inhalte mehrfach gleichzeitig ausführen, im Gegensatz zu Schleifen, die sequentiell ausgeführt werden.

Konfigurationsoptionen

Parallel-Typ

Wählen Sie zwischen zwei Arten der parallelen Ausführung:

Anzahlbasierte Parallelisierung - Führen Sie eine feste Anzahl paralleler Instanzen aus:

Anzahlbasierte parallele Ausführung

Verwenden Sie diese Option, wenn Sie dieselbe Operation mehrmals gleichzeitig ausführen müssen.

// Beispiel: 3 parallele Instanzen ausführen
const results = await blocks.parallel({
  type: 'count',
  count: 3,
  async process(index) {
    // Jede Instanz erhält einen eindeutigen Index (0, 1, 2)
    return `Ergebnis von Instanz ${index}`;
  }
});

Sammlungsbasierte Parallelisierung - Verteilen Sie eine Sammlung auf parallele Instanzen:

Sammlungsbasierte parallele Ausführung

Jede Instanz verarbeitet gleichzeitig ein Element aus der Sammlung.

// Beispiel: Eine Liste von URLs parallel verarbeiten
const urls = [
  'https://example.com/api/1',
  'https://example.com/api/2',
  'https://example.com/api/3'
];

const results = await blocks.parallel({
  type: 'collection',
  items: urls,
  async process(url, index) {
    // Jede Instanz verarbeitet eine URL
    const response = await fetch(url);
    return response.json();
  }
});

Verwendung von Parallel-Blöcken

Erstellen eines Parallel-Blocks

  1. Ziehen Sie einen Parallel-Block aus der Symbolleiste auf Ihre Leinwand
  2. Konfigurieren Sie den Parallel-Typ und die Parameter
  3. Ziehen Sie einen einzelnen Block in den Parallel-Container
  4. Verbinden Sie den Block nach Bedarf

Zugriff auf Ergebnisse

Nach Abschluss eines Parallel-Blocks können Sie auf aggregierte Ergebnisse zugreifen:

  • results: Array von Ergebnissen aus allen parallelen Instanzen

Beispielanwendungsfälle

Batch-API-Verarbeitung - Verarbeiten Sie mehrere API-Aufrufe gleichzeitig

Szenario: Mehrere API-Endpunkte abfragen

  1. Sammlungsbasierte Parallelisierung über eine Liste von API-Endpunkten
  2. Jede Instanz führt einen API-Aufruf durch und verarbeitet die Antwort
  3. Ergebnisse werden in einem Array gesammelt und können weiterverarbeitet werden

Multi-Modell-KI-Verarbeitung - Erhalten Sie Antworten von mehreren KI-Modellen gleichzeitig

Szenario: Antworten von mehreren KI-Modellen erhalten

  1. Sammlungsbasierte Parallelverarbeitung über eine Liste von Modell-IDs (z.B. ["gpt-4o", "claude-3.7-sonnet", "gemini-2.5-pro"])
  2. Innerhalb des parallelen Blocks: Das Modell des Agenten wird auf das aktuelle Element aus der Sammlung gesetzt
  3. Nach dem parallelen Block: Vergleichen und Auswählen der besten Antwort

Erweiterte Funktionen

Ergebnisaggregation

Ergebnisse aus allen parallelen Instanzen werden automatisch gesammelt:

Anwendungsbeispiele

Instanzisolierung

Jede parallele Instanz läuft unabhängig:

  • Separate Variablenbereiche
  • Kein gemeinsamer Zustand zwischen Instanzen
  • Fehler in einer Instanz beeinflussen andere nicht

Einschränkungen

Container-Blöcke (Schleifen und Parallele) können nicht ineinander verschachtelt werden. Das bedeutet:

  • Sie können keinen Schleifenblock in einen Parallelblock platzieren
  • Sie können keinen weiteren Parallelblock in einen Parallelblock platzieren
  • Sie können keinen Container-Block in einen anderen Container-Block platzieren

Während die parallele Ausführung schneller ist, beachten Sie bitte:

  • API-Ratenbegrenzungen bei gleichzeitigen Anfragen
  • Speicherverbrauch bei großen Datensätzen
  • Maximum von 20 gleichzeitigen Instanzen, um Ressourcenerschöpfung zu vermeiden

Parallel vs. Schleife

Wann Sie welche Methode verwenden sollten:

FunktionParallelSchleife
AusführungGleichzeitigSequentiell
GeschwindigkeitSchneller für unabhängige OperationenLangsamer, aber geordnet
ReihenfolgeKeine garantierte ReihenfolgeBehält Reihenfolge bei
AnwendungsfallUnabhängige OperationenAbhängige Operationen
RessourcennutzungHöherNiedriger

Eingaben und Ausgaben

  • Parallel-Typ: Wählen Sie zwischen 'count' oder 'collection'

  • Anzahl: Anzahl der auszuführenden Instanzen (anzahlbasiert)

  • Sammlung: Array oder Objekt zur Verteilung (sammlungsbasiert)

  • parallel.currentItem: Element für diese Instanz

  • parallel.index: Instanznummer (0-basiert)

  • parallel.items: Vollständige Sammlung (sammlungsbasiert)

  • parallel.results: Array aller Instanzergebnisse

  • Zugriff: Verfügbar in Blöcken nach der Parallelausführung

Best Practices

  • Nur unabhängige Operationen: Stellen Sie sicher, dass Operationen nicht voneinander abhängen
  • Ratenbegrenzungen berücksichtigen: Fügen Sie Verzögerungen oder Drosselungen für API-intensive Workflows hinzu
  • Fehlerbehandlung: Jede Instanz sollte ihre eigenen Fehler angemessen behandeln