← 노드 한 장 전체#56 · Model Selector
Model Selector
basic·standard 수동 tier로 모델 옵션 A와 B를 실제 선택하기
이 글은 이런 분께직접 정한 조건에 따라 연결된 Chat Model 또는 같은 모델의 옵션을 골라 쓰고 싶은 분

1분 영상은 @workflow.hanjang 에 순서대로 공개돼요
안내문 작성 요청, 직접 정한 tier로 모델 옵션을 선택했어요.
노드 한 장 #56 · Model Selector
먼저 결과부터
Model Selector에 두 Chat Model 옵션을 연결하고 수동 tier basic/standard로 선택했습니다. nano가 제공자의 deprecated 오류로 실패해 이번엔 같은 gpt-4.1-mini의 온도 0/0.8 옵션을 사용했어요. #74861은 옵션 A, #74863은 옵션 B의 실제 생성 응답만 기록됐고 provider model도 대조했습니다. AI 최종 문장은 두 번 모두 같았습니다. 각 실행은 1 item이며, 수동 tier는 난이도 판정이나 비용·품질·성능 보장과 무관합니다. nano 실패 #74859도 원본 보존했습니다.
우리가 실제로 돌린 기록 · 실행 #74861·#74863 · 2026-10-30
우리가 실제로 돌린 기록 · 실행 #74861·#74863 · 2026-10-30

따라 하기
실제로 실행한 워크플로우를 바탕으로 정리했어요. 계정·식별자는 공개용 값으로 치환했고, 그 밖의 차이는 아래 주의사항에 표시했어요. n8n 캔버스에서 +를 눌러 노드를 순서대로 추가하고 같은 값을 넣으면 돼요. 빨간 제목이 이번 편의 주인공 노드예요. 표 왼쪽은 n8n 편집기에 보이는 칸 이름, 오른쪽은 다운로드 JSON의 설정값이에요. 직접 입력하기 번거로우면 JSON을 받아 ⋯ → Import from File로 가져오세요.
워크플로우 1 · [노드 한 장] Model Selector · 수동 tier로 두 모델 옵션 고르기
Step 1. Manual Trigger 노드 추가이름: Run manually
설정 없이 그대로 추가해요.
Step 2. Code 노드 추가이름: One manual tier sample
| JavaScript | // 직접 정한 tier는 실습용 라벨입니다. 난이도를 추론하는 분류가 아닙니다.
return [{json:{sample:true,tier:"basic",prompt:"직접 작성한 가상 안내문입니다. '샘플 노트 판매를 시작합니다'를 공손한 한국어 한 문장으로 바꿔주세요. 문장만 답하세요."}}]; |
Step 3. Basic LLM Chain 노드 추가이름: Basic LLM Chain
| Source for Prompt (User Message) | Define below |
| Prompt (User Message) | {{ $json.prompt }} |
| Require Specific Output Format | 꺼짐 |
Step 4. Model Selector 노드 추가이름: Model Selector
| Number of Inputs | 2 |
| Rule 1 › Model | 1 |
| Rule 1 · 조건 1 | {{ $json.tier }} · is equal to · basic |
| Rule 2 › Model | 2 |
| Rule 2 · 조건 1 | {{ $json.tier }} · is equal to · standard |
Step 5. OpenAI Chat Model 노드 추가이름: OpenAI mini temp0
| Model | gpt-4.1-mini |
| Options › Sampling Temperature | 0 |
Step 6. OpenAI Chat Model 노드 추가이름: OpenAI mini temp08
| Model | gpt-4.1-mini |
| Options › Sampling Temperature | 0.8 |
워크플로우 2 · [노드 한 장] Model Selector · 수동 tier로 두 모델 옵션 고르기
Step 7. Manual Trigger 노드 추가이름: Run manually
설정 없이 그대로 추가해요.
Step 8. Code 노드 추가이름: One manual tier sample
| JavaScript | // 직접 정한 tier는 실습용 라벨입니다. 난이도를 추론하는 분류가 아닙니다.
return [{json:{sample:true,tier:"standard",prompt:"직접 작성한 가상 안내문입니다. '샘플 노트 판매를 시작합니다'를 공손한 한국어 한 문장으로 바꿔주세요. 문장만 답하세요."}}]; |
Step 9. Basic LLM Chain 노드 추가이름: Basic LLM Chain
| Source for Prompt (User Message) | Define below |
| Prompt (User Message) | {{ $json.prompt }} |
| Require Specific Output Format | 꺼짐 |
Step 10. Model Selector 노드 추가이름: Model Selector
| Number of Inputs | 2 |
| Rule 1 › Model | 1 |
| Rule 1 · 조건 1 | {{ $json.tier }} · is equal to · basic |
| Rule 2 › Model | 2 |
| Rule 2 · 조건 1 | {{ $json.tier }} · is equal to · standard |
Step 11. OpenAI Chat Model 노드 추가이름: OpenAI mini temp0
| Model | gpt-4.1-mini |
| Options › Sampling Temperature | 0 |
Step 12. OpenAI Chat Model 노드 추가이름: OpenAI mini temp08
| Model | gpt-4.1-mini |
| Options › Sampling Temperature | 0.8 |
가져와서 쓸 때 확인할 것
- [실제 확인] nano는 제공자의 deprecated 오류로 실행하지 못했어요. 이번 공개 JSON과 영상은 같은 gpt-4.1-mini의 온도 0/0.8 두 옵션 예제이며, 다른 두 모델 비교나 자동 장애 복구 시연이 아닙니다.
- [실제 확인] basic과 standard는 사람이 정한 라벨입니다. 질문 난이도를 정확하게 추론하거나 비용·품질 우월을 판단한 것이 아니에요.
- [문서 기준] 서브노드 표현식은 첫 아이템 기준입니다. 이번에는 각 실행을 1 item으로 분리했고 실제 선택된 노드의 provider generationInfo.model_name을 확인했습니다.
- [문서 기준] Rules는 위에서부터 검사해 처음 일치하는 규칙을 사용합니다.
- [실제 확인] 두 성공 실행의 AI 답변 문장은 같았습니다. 호출된 옵션은 문장이 아니라 Chat Model runData의 생성 응답과 반대 노드의 응답 부재로 대조했어요.
- [실제 확인] Selector의 tokenUsageEstimate 0은 무료 호출이나 실제 사용량 0의 근거로 사용하지 않았습니다.
- [실제 확인] 공개 기본 JSON은 basic 한 아이템, 별도 standard JSON은 standard 한 아이템입니다. 두 Chat Model에 내 기존 자격 증명을 연결해야 합니다.
- YOUR_… 표시를 내 값으로 바꾸고, 계정이 필요한 서비스 노드만 자격 증명을 연결하세요. 그런 칸이나 노드가 없는 예제는 추가 계정 없이 실행할 수 있어요.
노드의 모든 옵션은 n8n 공식 문서에서 볼 수 있어요.