ChunkText 2025.5.31.15

번들

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

설명

구분 기호 및 최대 문자 길이로 재귀적으로 분할하는 옵션이 있는 청크 텍스트입니다. 각 청크에는 fragment.identifier, fragment.index, fragment.count, segment.original.filename의 특성이 지정되며, 이러한 특성은 MergeContent 프로세서에서 원본 FlowFile 을 재구성하기 위해 사용할 수 있습니다.

태그

chunk, openflow, text

입력 요구 사항

REQUIRED

민감한 동적 속성 지원

false

속성

속성

설명

Chunk Delimiters

쉼표로 구분된 문자 시퀀스 목록을 지정합니다. 메타 문자 n, r 및 t는 자동으로 이스케이프 해제됩니다. 구분 기호는 텍스트를 청크하기 위해 재귀적으로 적용됩니다.

Chunk Overlap

이전 및 이후 청크에서 포함할 최대 문자 수입니다.

Chunking Strategy

텍스트를 청크하는 전략. ‘Recursive Delimiters’는 문자별 재귀 분할 알고리즘에 따라 텍스트를 청크합니다. 이 알고리즘에서는 입력된 텍스트가 첫 번째 구분 기호로 분할된 후 ‘Max Chunk Length’를 초과하지 않는 청크로 다시 병합됩니다. ‘Max Chunk Length’를 초과하는 분할은 다음 구분 기호를 사용하여 재귀적으로 분할됩니다. ‘Max Chunk Length’는 ‘Max Chunk Length’ 크기의 청크를 생성하여 텍스트를 청크화합니다.

언어

문장 구문 분석에 사용할 언어.

Max Chunk Length

출력 청크에 포함할 최대 문자 수입니다. 이 숫자를 너무 높게 설정하면 메모리 부족 오류가 발생할 수 있습니다.

Sentence Similarity Threshold

두 문장이 같은 청크를 차지할 만큼 유사한지 판단하기 위한 임계값입니다. 값이 1.0이면 문장이 동일함을 나타냅니다. 값이 0.0이면 두 문장이 완전히 다름을 나타냅니다.

Trim Whitespace

출력 텍스트 청크를 둘러싼 공백을 다듬습니다.

관계

이름

설명

원본

입력된 Flow File은 원래 관계로 라우팅됩니다.

성공

텍스트 청크는 성공 관계로 라우팅됩니다.

Writes 특성

이름

설명

segment.original.filename

입력한 Flow File의 원본 파일 이름입니다.

fragment.identifier

각 청크를 생성하는 데 사용된 상위 Flow File의 ID 입니다.

fragment.index

현재 Flow File 청크의 인덱스(0부터 시작)입니다.

fragment.count

생성된 Flow File 청크의 총 개수입니다.

chunk.start.offsets

chunk.start.offsets 특성은 원래 수신 FlowFile 에만 추가됩니다. 생성되는 각 청크에 대한 시작 오프셋의 쉼표로 구분된 목록입니다. 예를 들어, FlowFile 이 3개의 하위 청크 FlowFiles 로 분할된 경우 0,183,365 값은 첫 번째 청크가 오프셋 0에서 시작하고 두 번째 청크가 오프셋 183에서 시작하며 세 번째 청크가 오프셋 365에서 시작한다는 것을 나타냅니다. 오프셋은 문자 수를 기준으로 합니다.

chunk.end.offsets

chunk.end.offsets 특성은 원래 수신 FlowFile 에만 추가됩니다. 생성되는 각 청크에 대한 쉼표로 구분된 엔드 오프셋 목록입니다. 예를 들어, FlowFile 이 3개의 하위 청크 FlowFiles 로 분할된 경우`183,365,548` 의 값을 가질 수 있으며, 이는 첫 번째 청크가 오프셋 183에서 끝나고 두 번째 청크가 오프셋 365에서 끝나며 세 번째 청크가 오프셋 548에서 끝나는 것을 나타냅니다. 오프셋은 문자 수를 기준으로 합니다.

chunk.strategy

텍스트를 청크하는 데 사용되는 전략입니다. ‘Max Chunk Length’, ‘Recursive Delimiters’, ‘Sentence’, ‘Semantic’ 중 하나.

chunk.semantic.threshold

두 문장이 같은 청크를 차지할 만큼 유사한지 판단하기 위한 임계값입니다. 이 특성은 ‘Semantic’ 청크 전략이 사용되는 경우에만 추가됩니다.

chunk.language

문장 구문 분석에 사용되는 언어입니다. 이 특성은 ‘Sentence’ 또는 ‘Semantic’ 청크 전략이 사용되는 경우에만 추가됩니다.

chunk.delimiters

텍스트를 청크하는 데 사용되는 쉼표로 구분된 기호 목록입니다. 이 특성은 ‘Recursive Delimiters’ 청크 전략이 사용되는 경우에만 추가됩니다.

chunk.max.chars

각 청크에 포함할 수 있는 최대 문자 수입니다.