Table of Contents
루프 노드란 무엇인가요? #
루프 노드 는 종료 조건이 충족되거나 최대 루프 수에 도달할 때까지 이전 반복 결과에 따라 반복되는 작업을 실행합니다.
루프 대 반복 #
유형 | 종속성 | 사용 사례 |
---|---|---|
고리 | 각 반복은 이전 결과에 따라 달라집니다. | 재귀 연산, 최적화 문제 |
반복 | 반복은 독립적으로 실행됩니다 | 일괄 처리, 병렬 데이터 처리 |
구성 #
매개변수 | 설명 | 예 |
---|---|---|
루프 종료 조건 | 루프를 종료할 시점을 결정하는 표현식 | x < 50 ,error_rate < 0.01 |
최대 루프 수 | 무한 루프를 방지하기 위한 반복 횟수 상한 | 10, 100, 1000 |
루프 변수 | 루프가 완료된 후에도 반복 작업 동안 지속되고 노드에서 계속 액세스할 수 있는 값 | 반복할 때마다 카운터가 x < 50 1씩 증가합니다. 루프 내부에서 계산에 사용한 후, 이후 워크플로 단계에서 최종 값에 접근합니다. |
출구 루프 노드 | 도달하면 루프를 즉시 종료합니다. | 다른 조건에 관계없이 실행을 10번의 반복으로 제한합니다. |
루프는 Exit Loop Node 또는 Loop Termination Condition 을 통해 종료될 수 있습니다 . 두 조건 중 하나가 충족되면 루프는 즉시 종료됩니다.종료 조건이 지정되지 않으면 루프는 최대 루프 수에 도달할 때까지 계속 실행됩니다( 와 유사 while (true)
) .
예제 1: 기본 루프 #
목표: 1~100 사이의 난수를 생성하여 50보다 작은 숫자를 생성합니다.단계 :
- 템플릿 노드가 반환될 때 루프 종료 조건 이 트리거되도록 구성하여 루프 노드 를 설정합니다 .
done
- 에서 사이의 난수 정수를 생성하는 코드 노드를 설정합니다 .
1
100
- 다음 논리를 사용하여 IF/ELSE 노드를 설정합니다 .
- 숫자 ≥ 50의 경우: 출력
Current Number
하고 루프를 계속합니다. - 숫자 < 50의 경우: 를 출력한
Final Number
다음 Template 노드를 사용하여 반환합니다.done
- 아래 숫자가
50
생성되면 워크플로가 자동으로 종료됩니다.
예제 2: 고급 루프(변수 및 종료 노드 포함) #
목표: 이전 버전을 기반으로 각 버전을 구축하여 4번의 반복적 개선을 거쳐 시를 생성하는 워크플로를 설계합니다.단계:
- 다음 루프 변수를 사용하여 루프 노드를 설정합니다 .
- num: 0부터 시작하여 반복마다 1씩 증가하는 카운터
- verse: 초기화된 텍스트 변수
I haven't started creating yet
- 반복 횟수를 평가하는 IF/ELSE 노드를 설정합니다 .
- num > 3일 때: Exit Loop 노드 로 진행합니다.
- num ≤ 3일 때: LLM 노드 로 이동합니다.
- 시를 생성하기 위해 LLM 노드를 설정합니다 .
예시 프롬프트:당신은 유럽의 문학적 인물로서, 시를 바탕으로 시를 창작할 수 있습니다 sys.query
.verse
마지막 작품입니다. 이전 작품을 바탕으로 작업을 진행하시면 됩니다.
첫 번째 반복은 초기 시 값 으로 시작합니다 I haven't started creating yet
. 이후의 각 반복은 이전 출력을 기반으로 하며, 새로운 시가 시 변수의 내용을 대체합니다.
- 상태를 관리하기 위해 변수 할당자 노드를 설정합니다 .
- 각 반복 후에 num을 1씩 증가시킵니다.
- 새로 생성된 시로 구절을 업데이트합니다.
- 워크플로를 실행하면 시의 네 가지 버전이 생성되고, 각 버전은 이전 출력을 기반으로 구축됩니다.