ChunkText 2025.5.31.15

Bundle

com.snowflake.openflow.runtime | runtime-chunking-nar

Beschreibung

Teilt Text mit Optionen für die rekursive Aufteilung anhand von Trennzeichen und maximaler Zeichenlänge in Blöcke auf. Jeder Block erhält die folgenden Attribute: „fragment.identifier“, „fragment.index“, „fragment.count“, „segment.original.filename“. Diese Attribute können dann vom MergeContent-Prozessor verwendet werden, um das Original-FlowFile wiederherzustellen.

Tags

chunk, openflow, text

Eingabeanforderung

REQUIRED

Unterstützt sensible dynamische Eigenschaften

false

Eigenschaften

Eigenschaft

Beschreibung

Chunk Delimiters

Gibt eine durch Kommas getrennte Liste von Zeichenfolgen an. Die Meta-Zeichen n, r und t werden automatisch zurückkonvertiert. Trennzeichen werden rekursiv angewendet, um den Text in Blöcke zu unterteilen.

Chunk Overlap

Die maximale Anzahl der Zeichen, die aus den vorangehenden und nachfolgenden Blöcken einbezogen werden.

Chunking Strategy

Strategie zur Aufteilung von Text in Blöcke. Die Option „Recursive Delimiters“ teilt den Text nach dem Algorithmus der rekursiven Aufteilung nach Zeichen in Blöcke auf. Bei diesem Algorithmus wird der Eingabetext durch das erste Trennzeichen aufgespalten und wieder zu Blöcken zusammengefügt, die die „Max Chunk Length“ nicht überschreiten. Alle Teilungen, die die „Max Chunk Length“ überschreiten, werden dann rekursiv anhand des nächsten Trennzeichens geteilt. Die Option „Max Chunk Length“ teilt den Text in Blöcke auf, die die Größe von „Max Chunk Length“ haben.

Sprache

Sprache, die für das Parsen von Sätzen verwendet wird.

Max Chunk Length

Maximale Anzahl von Zeichen, die in den Ausgabeblock aufgenommen werden sollen. Wenn Sie diesen Wert zu hoch einstellen, kann es zu einem Speicherfehler kommen.

Sentence Similarity Threshold

Schwellenwert zur Bestimmung, ob zwei Sätze ähnlich genug sind, um denselben Block zu belegen. Ein Wert von 1,0 bedeutet, dass die Sätze identisch sind. Ein Wert von 0,0 bedeutet, dass die Sätze völlig unähnlich sind.

Trim Whitespace

Leerzeichen rund um den ausgegebenen Textblock abschneiden.

Beziehungen

Name

Beschreibung

original

Das Eingabe-FlowFile wird an die Beziehung „original“ weitergeleitet.

success

Textblöcke werden an die Beziehung „success“ weitergeleitet.

Schreibt Attribute

Name

Beschreibung

segment.original.filename

Ursprünglicher Dateiname des Eingabe-FlowFile.

fragment.identifier

ID des übergeordneten FlowFile, das zur Erzeugung jedes Blocks verwendet wurde.

fragment.index

Index des aktuellen FlowFile-Blocks, beginnend bei 0.

fragment.count

Die Gesamtzahl der produzierten FlowFile-Blöcke.

chunk.start.offsets

Das Attribut chunk.start.offsets wird nur dem eingehenden Original-FlowFile hinzugefügt. Es handelt sich um eine durch Kommas getrennte Liste von Start-Offsets für jeden Block, der erzeugt wird. Wenn das FlowFile beispielsweise in 3 untergeordnete FlowFiles aufgeteilt wird, könnte der Wert 0,183,365 lauten, was bedeutet, dass der erste Block mit dem Offset 0, der zweite Block mit dem Offset 183 und der dritte Block mit dem Offset 365 beginnt. Die Offsets basieren auf der Anzahl der Zeichen.

block.end.offsets

Das Attribut chunk.end.offsets wird nur dem eingehenden Original-FlowFile hinzugefügt. Es handelt sich um eine durch Kommas getrennte Liste von End-Offsets für jeden Block, der erzeugt wird. Wenn das FlowFile beispielsweise in 3 untergeordnete FlowFiles aufgeteilt wird, könnte der Wert 183,365,548 lauten, was bedeutet, dass der erste Block am Offset 183, der zweite Block am Offset 365 und der dritte Block am Offset 548 endet. Die Offsets basieren auf der Anzahl der Zeichen.

chunk.strategy

Strategie zum Aufteilen von Text in Blöcke. Entweder „‘Max Chunk Length“, „Recursive Delimiters“, „Sentence“, „Semantic“.

chunk.semantic.threshold

Schwellenwert zur Bestimmung, ob zwei Sätze ähnlich genug sind, um denselben Block zu belegen. Dieses Attribut wird nur hinzugefügt, wenn die Chunking-Strategie „Semantic“ verwendet wird.

chunk.language

Sprache, die zum Analysieren von Sätzen verwendet wird. Dieses Attribut wird nur hinzugefügt, wenn die Chunking-Strategie „Sentence“ oder „Semantic“ verwendet wird.

chunk.delimiters

Durch Kommas getrennte Liste von Trennzeichen, die zum Aufteilen von Text in Blöcke verwendet werden. Dieses Attribut wird nur hinzugefügt, wenn die Chunking-Strategie „Recursive Delimiters“ verwendet wird.

chunk.max.chars

Maximale Anzahl von Zeichen, die in jedem Block enthalten sein dürfen.