# 목차

이 문서는 model-compose 사용자 가이드의 구조를 설명합니다.

---

## 1. [시작하기](./01-getting-started.md)
- 1.1 [소개 및 개요](./01-getting-started.md#11-소개-및-개요)
- 1.2 [설치](./01-getting-started.md#12-설치)
- 1.3 [첫 번째 워크플로우 실행하기](./01-getting-started.md#12-첫-번째-워크플로우-실행하기)
  - 1.3.1 [간단한 예제 (OpenAI API 호출)](./01-getting-started.md#131-간단한-예제-openai-api-호출)
  - 1.3.2 [워크플로우 실행 (run 명령어)](./01-getting-started.md#132-워크플로우-실행-run-명령어)
  - 1.3.3 [컨트롤러 시작 및 웹 UI 사용](./01-getting-started.md#133-컨트롤러-시작-및-web-ui-사용)
- 1.4 [기본 개념](./01-getting-started.md#12-기본-개념)

## 2. [핵심 개념](./02-core-concepts.md)
- 2.1 [model-compose.yml 구조](./02-core-concepts.md#21-model-composeyml-구조)
- 2.2 [컨트롤러](./02-core-concepts.md#22-컨트롤러)
- 2.3 [컴포넌트](./02-core-concepts.md#23-컴포넌트)
- 2.4 [워크플로우](./02-core-concepts.md#24-워크플로우)
- 2.5 [작업](./02-core-concepts.md#25-작업)
- 2.6 [데이터 흐름 및 변수 바인딩](./02-core-concepts.md#26-데이터-흐름-및-변수-바인딩)

## 3. [CLI 사용법](./03-cli-usage.md)
- 3.1 [기본 명령어](./03-cli-usage.md#31-기본-명령어)
- 3.2 [up 명령어](./03-cli-usage.md#32-up-명령어)
- 3.3 [down 명령어](./03-cli-usage.md#33-down-명령어)
- 3.4 [start 명령어](./03-cli-usage.md#34-start-명령어)
- 3.5 [stop 명령어](./03-cli-usage.md#35-stop-명령어)
- 3.6 [run 명령어](./03-cli-usage.md#36-run-명령어)
- 3.7 [환경 변수 관리](./03-cli-usage.md#37-환경-변수-관리)
- 3.8 [설정 파일 지정](./03-cli-usage.md#38-설정-파일-지정)
- 3.9 [디버깅 옵션](./03-cli-usage.md#39-디버깅-옵션)
- 3.10 [실전 사용 예제](./03-cli-usage.md#310-실전-사용-예제)
- 3.11 [명령어 빠른 참조](./03-cli-usage.md#311-명령어-빠른-참조)

## 4. [컴포넌트 구성](./04-component-configuration.md)
- 4.1 [컴포넌트 타입](./04-component-configuration.md#41-컴포넌트-타입)
- 4.2 [컴포넌트 정의 방법](./04-component-configuration.md#42-컴포넌트-정의-방법)
- 4.3 [입력/출력 매핑](./04-component-configuration.md#43-입력출력-매핑)
- 4.4 [재사용 패턴](./04-component-configuration.md#44-재사용-패턴)
- 4.5 [컴포넌트 모범 사례](./04-component-configuration.md#45-컴포넌트-모범-사례)

## 5. [워크플로우 작성](./05-writing-workflows.md)
- 5.1 [워크플로우란?](./05-writing-workflows.md#51-워크플로우란)
- 5.2 [단일 작업 워크플로우](./05-writing-workflows.md#52-단일-작업-워크플로우)
- 5.3 [여러 단계 워크플로우](./05-writing-workflows.md#53-여러-단계-워크플로우)
- 5.4 [작업 간 데이터 전달](./05-writing-workflows.md#54-작업-간-데이터-전달)
- 5.5 [Job 타입](./05-writing-workflows.md#55-job-타입)
- 5.6 [조건부 실행](./05-writing-workflows.md#56-조건부-실행)
- 5.7 [스트리밍 모드](./05-writing-workflows.md#57-스트리밍-모드)
- 5.8 [에러 핸들링](./05-writing-workflows.md#58-에러-핸들링)
- 5.9 [워크플로우 모범 사례](./05-writing-workflows.md#59-워크플로우-모범-사례)

## 6. [워크플로우 스키마](./06-workflow-schema.md)
- 6.1 [워크플로우 스키마란?](./06-workflow-schema.md#61-워크플로우-스키마란)
- 6.2 [스키마 조회 방법](./06-workflow-schema.md#62-스키마-조회-방법)
- 6.3 [입력 스키마](./06-workflow-schema.md#63-입력-스키마)
- 6.4 [출력 스키마](./06-workflow-schema.md#64-출력-스키마)
- 6.5 [스키마 활용](./06-workflow-schema.md#65-스키마-활용)
- 6.6 [실전 예제](./06-workflow-schema.md#66-실전-예제)
- 6.7 [워크플로우 메타데이터 필드](./06-workflow-schema.md#67-워크플로우-메타데이터-필드)
- 6.8 [모범 사례](./06-workflow-schema.md#68-모범-사례)

## 7. [컨트롤러 구성](./07-controller-configuration.md)
- 7.1 [HTTP 서버](./07-controller-configuration.md#71-http-서버)
- 7.2 [MCP 서버](./07-controller-configuration.md#72-mcp-서버)
- 7.3 [큐 구독자 (Queue Subscriber)](./07-controller-configuration.md#73-큐-구독자-queue-subscriber)
- 7.4 [큐 디스패치 (분산 배포)](./07-controller-configuration.md#74-큐-디스패치-분산-배포)
- 7.5 [큐 스트리밍 (Queue Streaming)](./07-controller-configuration.md#75-큐-스트리밍-queue-streaming)
- 7.6 [동시 실행 제어](./07-controller-configuration.md#76-동시-실행-제어)
- 7.7 [포트 및 호스트 설정](./07-controller-configuration.md#77-포트-및-호스트-설정)
- 7.8 [컨트롤러 모범 사례](./07-controller-configuration.md#78-컨트롤러-모범-사례)

## 8. [WebSocket 인터페이스](./08-websocket-interface.md)
- 7.1 [WebSocket 개요](./08-websocket-interface.md#71-websocket-개요)
  - 7.1.1 [WebSocket 인터페이스란?](./08-websocket-interface.md#711-websocket-인터페이스란)
  - 7.1.2 [WebSocket vs REST API](./08-websocket-interface.md#712-websocket-vs-rest-api)
  - 7.1.3 [동작 방식](./08-websocket-interface.md#713-동작-방식)
- 7.2 [설정](./08-websocket-interface.md#72-설정)
  - 7.2.1 [WebSocket 활성화](./08-websocket-interface.md#721-websocket-활성화)
  - 7.2.2 [WebSocket 설정 옵션](./08-websocket-interface.md#722-websocket-설정-옵션)
  - 7.2.3 [설정 예시](./08-websocket-interface.md#723-설정-예시)
- 7.3 [WebSocket 연결](./08-websocket-interface.md#73-websocket-연결)
  - 7.3.1 [기본 연결](./08-websocket-interface.md#731-기본-연결)
  - 7.3.2 [세션 ID](./08-websocket-interface.md#732-세션-id)
  - 7.3.3 [연결 시 자동 구독](./08-websocket-interface.md#733-연결-시-자동-구독)
- 7.4 [WebSocket 메시지](./08-websocket-interface.md#74-websocket-메시지)
  - 7.4.1 [메시지 형식](./08-websocket-interface.md#741-메시지-형식)
  - 7.4.2 [클라이언트 → 서버 메시지](./08-websocket-interface.md#742-클라이언트--서버-메시지)
  - 7.4.3 [서버 → 클라이언트 메시지](./08-websocket-interface.md#743-서버--클라이언트-메시지)
- 7.5 [REST API 통합](./08-websocket-interface.md#75-rest-api-통합)
  - 7.5.1 [`subscribe_task` 파라미터](./08-websocket-interface.md#751-subscribe_task-파라미터)
  - 7.5.2 [`wait_for_completion`과 `subscribe_task` 조합](./08-websocket-interface.md#752-wait_for_completion과-subscribe_task-조합)
  - 7.5.3 [패턴: WebSocket 먼저 연결 + REST 실행](./08-websocket-interface.md#753-패턴-websocket-먼저-연결--rest-실행)
- 7.6 [사용 패턴](./08-websocket-interface.md#76-사용-패턴)
  - 7.6.1 [패턴 1: WebSocket으로 실행 및 모니터링](./08-websocket-interface.md#761-패턴-1-websocket으로-실행-및-모니터링)
  - 7.6.2 [패턴 2: 대화형 인터럽트/재개](./08-websocket-interface.md#762-패턴-2-대화형-인터럽트재개)
  - 7.6.3 [패턴 3: 기존 태스크 구독](./08-websocket-interface.md#763-패턴-3-기존-태스크-구독)
  - 7.6.4 [패턴 4: 다중 태스크 대시보드](./08-websocket-interface.md#764-패턴-4-다중-태스크-대시보드)
- 7.7 [연결 관리](./08-websocket-interface.md#77-연결-관리)
  - 7.7.1 [세션과 재연결](./08-websocket-interface.md#771-세션과-재연결)
  - 7.7.2 [연결 라이프사이클](./08-websocket-interface.md#772-연결-라이프사이클)
  - 7.7.3 [연결 제한](./08-websocket-interface.md#773-연결-제한)
  - 7.7.4 [Ping을 통한 연결 유지](./08-websocket-interface.md#774-ping을-통한-연결-유지)
- 7.8 [보안 고려사항](./08-websocket-interface.md#78-보안-고려사항)
  - 7.8.1 [세션 ID 보안](./08-websocket-interface.md#781-세션-id-보안)
  - 7.8.2 [CORS와 Origins](./08-websocket-interface.md#782-cors와-origins)
  - 7.8.3 [프로덕션 권장사항](./08-websocket-interface.md#783-프로덕션-권장사항)
- 7.9 [모범 사례](./08-websocket-interface.md#79-모범-사례)

## 9. [웹 UI 구성](./09-webui-configuration.md)
- 8.1 [웹 UI 개요](./09-webui-configuration.md#81-web-ui-개요)
- 8.2 [Gradio 드라이버](./09-webui-configuration.md#82-gradio-드라이버)
  - 8.2.1 [UI 자동 생성](./09-webui-configuration.md#ui-자동-생성)
  - 8.2.2 [스트리밍 출력 지원](./09-webui-configuration.md#스트리밍-출력-지원)
  - 8.2.3 [다중 워크플로우](./09-webui-configuration.md#다중-워크플로우)
- 8.3 [정적 파일 드라이버](./09-webui-configuration.md#83-정적-파일-드라이버)
- 8.4 [리버스 프록시를 통한 웹 UI 배포](./09-webui-configuration.md#84-리버스-프록시를-통한-web-ui-배포)

## 10. [로컬 AI 모델 사용](./10-local-ai-models.md)
- 9.1 [로컬 모델 개요](./10-local-ai-models.md#91-로컬-모델-개요)
- 9.2 [모델 설치 및 준비](./10-local-ai-models.md#92-모델-설치-및-준비)
- 9.3 [지원 태스크 유형](./10-local-ai-models.md#93-지원-태스크-유형)
- 9.4 [모델 설정 (디바이스, 정밀도, 배치 크기)](./10-local-ai-models.md#94-모델-설정-디바이스-정밀도-배치-크기)
- 9.5 [LoRA/PEFT 어댑터 사용](./10-local-ai-models.md#95-lorapeft-어댑터-사용)
- 9.6 [모델 서빙 프레임워크](./10-local-ai-models.md#96-모델-서빙-프레임워크)
- 9.7 [성능 최적화 팁](./10-local-ai-models.md#97-성능-최적화-팁)

## 11. [모델 훈련](./11-model-training.md)
- 10.1 [훈련 개요](./11-model-training.md#101-훈련-개요)
- 10.2 [데이터셋 준비](./11-model-training.md#102-데이터셋-준비)
  - 10.2.1 [데이터셋 컴포넌트 개요](./11-model-training.md#1021-데이터셋-컴포넌트-개요)
  - 10.2.2 [허깅페이스 데이터셋 로드](./11-model-training.md#1022-허깅페이스-데이터셋-로드)
  - 10.2.3 [로컬 데이터셋 로드](./11-model-training.md#1023-로컬-데이터셋-로드)
  - 10.2.4 [데이터셋 조작](./11-model-training.md#1024-데이터셋-조작)
  - 10.2.5 [데이터셋 형식](./11-model-training.md#1025-데이터셋-형식)
- 10.3 [훈련 설정](./11-model-training.md#103-훈련-설정)
  - 10.3.1 [기본 훈련 설정](./11-model-training.md#1031-기본-훈련-설정)
  - 10.3.2 [옵티마이저 설정](./11-model-training.md#1032-옵티마이저-설정)
  - 10.3.3 [학습률 스케줄러](./11-model-training.md#1033-학습률-스케줄러)
  - 10.3.4 [최적화 설정](./11-model-training.md#1034-최적화-설정)
  - 10.3.5 [평가 및 저장](./11-model-training.md#1035-평가-및-저장)
  - 10.3.6 [메모리 최적화](./11-model-training.md#1036-메모리-최적화)
  - 10.3.7 [재현성 설정](./11-model-training.md#1037-재현성-설정)
- 10.4 [파인튜닝](./11-model-training.md#104-파인튜닝)
  - 10.4.1 [SFT (Supervised Fine-Tuning)](./11-model-training.md#1041-sft-supervised-fine-tuning)
  - 10.4.2 [시퀀스 패킹](./11-model-training.md#1042-시퀀스-패킹)
- 10.5 [LoRA 훈련](./11-model-training.md#105-lora-훈련)
  - 10.5.1 [LoRA 개요](./11-model-training.md#1051-lora-개요)
  - 10.5.2 [기본 LoRA 설정](./11-model-training.md#1052-기본-lora-설정)
  - 10.5.3 [타겟 모듈 설정](./11-model-training.md#1053-타겟-모듈-설정)
  - 10.5.4 [LoRA Bias 설정](./11-model-training.md#1054-lora-bias-설정)
  - 10.5.5 [QLoRA (Quantized LoRA)](./11-model-training.md#1055-qlora-quantized-lora)
  - 10.5.6 [LoRA 하이퍼파라미터 가이드](./11-model-training.md#1056-lora-하이퍼파라미터-가이드)
- 10.6 [훈련 모니터링](./11-model-training.md#106-훈련-모니터링)
- 10.7 [체크포인트 관리](./11-model-training.md#107-체크포인트-관리)
- 10.8 [실전 예제](./11-model-training.md#108-실전-예제)

## 12. [외부 서비스 통합](./12-external-service-integration.md)
- 11.1 [OpenAI API](./12-external-service-integration.md#111-openai-api)
  - 11.1.1 [Chat Completions](./12-external-service-integration.md#1111-chat-completions)
  - 11.1.2 [Image Generation (DALL-E)](./12-external-service-integration.md#1112-image-generation-dall-e)
  - 11.1.3 [Audio (TTS, Transcriptions)](./12-external-service-integration.md#1113-audio-tts-transcriptions)
- 11.2 [Anthropic Claude API](./12-external-service-integration.md#112-anthropic-claude-api)
- 11.3 [Google Gemini API](./12-external-service-integration.md#113-google-gemini-api)
- 11.4 [ElevenLabs (TTS)](./12-external-service-integration.md#114-elevenlabs-tts)
- 11.5 [Stability AI (Image Generation)](./12-external-service-integration.md#115-stability-ai-image-generation)
- 11.6 [Replicate](./12-external-service-integration.md#116-replicate)
- 11.7 [커스텀 HTTP API](./12-external-service-integration.md#117-커스텀-http-api)
- 11.8 [외부 서비스 통합 모범 사례](./12-external-service-integration.md#118-외부-서비스-통합-모범-사례)

## 13. [스트리밍 모드](./13-streaming-mode.md)
- 12.1 [스트리밍 개요](./13-streaming-mode.md#121-스트리밍-개요)
  - 12.1.1 [스트리밍이란?](./13-streaming-mode.md#1211-스트리밍이란)
  - 12.1.2 [지원 컴포넌트](./13-streaming-mode.md#1212-지원-컴포넌트)
  - 12.1.3 [스트리밍 프로토콜](./13-streaming-mode.md#1213-스트리밍-프로토콜)
- 12.2 [컴포넌트별 스트리밍 설정](./13-streaming-mode.md#122-컴포넌트별-스트리밍-설정)
  - 12.2.1 [모델 컴포넌트](./13-streaming-mode.md#1221-모델-컴포넌트)
  - 12.2.2 [HTTP 컴포넌트](./13-streaming-mode.md#1222-http-컴포넌트)
- 12.3 [워크플로우에서 스트리밍 사용](./13-streaming-mode.md#123-워크플로우에서-스트리밍-사용)
  - 12.3.1 [기본 스트리밍 워크플로우](./13-streaming-mode.md#1231-기본-스트리밍-워크플로우)
  - 12.3.2 [여러 단계 워크플로우 스트리밍](./13-streaming-mode.md#1232-여러 단계-워크플로우-스트리밍)
  - 12.3.3 [조건부 스트리밍](./13-streaming-mode.md#1233-조건부-스트리밍)
- 12.4 [스트리밍 응답 처리](./13-streaming-mode.md#124-스트리밍-응답-처리)
  - 12.4.1 [API 엔드포인트](./13-streaming-mode.md#1241-api-엔드포인트)
  - 12.4.2 [클라이언트 구현 (JavaScript)](./13-streaming-mode.md#1242-클라이언트-구현-javascript)
  - 12.4.3 [클라이언트 구현 (Python)](./13-streaming-mode.md#1243-클라이언트-구현-python)
  - 12.4.4 [Web UI 통합](./13-streaming-mode.md#1244-web-ui-통합)
- 12.5 [성능 및 최적화](./13-streaming-mode.md#125-성능-및-최적화)
  - 12.5.1 [모델 스트리밍 최적화](./13-streaming-mode.md#1251-모델-스트리밍-최적화)
  - 12.5.2 [HTTP 스트리밍 최적화](./13-streaming-mode.md#1252-http-스트리밍-최적화)
  - 12.5.3 [메모리 관리](./13-streaming-mode.md#1253-메모리-관리)
  - 12.5.4 [네트워크 최적화](./13-streaming-mode.md#1254-네트워크-최적화)
  - 12.5.5 [에러 처리](./13-streaming-mode.md#1255-에러-처리)
- 12.6 [실전 예제](./13-streaming-mode.md#126-실전-예제)
  - 12.6.1 [실시간 번역 스트리밍](./13-streaming-mode.md#1261-실시간-번역-스트리밍)
  - 12.6.2 [OpenAI + Claude 조합](./13-streaming-mode.md#1262-openai--claude-조합)
  - 12.6.3 [로컬 모델 스트리밍 서버](./13-streaming-mode.md#1263-로컬-모델-스트리밍-서버)
- 12.7 [분산 스트리밍 (큐 스트리밍)](./13-streaming-mode.md#127-분산-스트리밍-큐-스트리밍)
- 12.8 [스트리밍 모범 사례](./13-streaming-mode.md#128-스트리밍-모범-사례)

## 14. [변수 바인딩](./14-variable-binding.md)
- 13.1 [구문 개요](./14-variable-binding.md#131-구문-개요)
- 13.2 [변수 소스](./14-variable-binding.md#132-변수-소스)
  - 13.2.1 [워크플로우 입력](./14-variable-binding.md#1321-워크플로우-입력)
  - 13.2.2 [컴포넌트 응답 변수](./14-variable-binding.md#1322-컴포넌트-응답-변수)
  - 13.2.3 [이전 작업 출력](./14-variable-binding.md#1323-이전-작업-출력)
  - 13.2.4 [환경 변수](./14-variable-binding.md#1324-환경-변수)
  - 13.2.5 [스트리밍 청크 참조](./14-variable-binding.md#1325-스트리밍-청크-참조)
- 13.3 [경로 접근](./14-variable-binding.md#133-경로-접근)
- 13.4 [타입 변환](./14-variable-binding.md#134-타입-변환)
  - 13.4.1 [기본 타입](./14-variable-binding.md#1341-기본-타입)
  - 13.4.2 [객체 배열 프로젝션](./14-variable-binding.md#1342-객체-배열-프로젝션)
  - 13.4.3 [미디어 타입](./14-variable-binding.md#1343-미디어-타입)
  - 13.4.4 [속성](./14-variable-binding.md#1344-속성)
  - 13.4.5 [Base64 타입 vs Base64 포맷](./14-variable-binding.md#1345-base64-타입-vs-base64-포맷)
- 13.5 [포맷과 컨텍스트 의미](./14-variable-binding.md#135-포맷과-컨텍스트-의미)
  - 13.5.1 [포맷 값](./14-variable-binding.md#1351-포맷-값)
  - 13.5.2 [입력 컨텍스트](./14-variable-binding.md#1352-입력-컨텍스트)
  - 13.5.3 [컴포넌트/작업 출력 컨텍스트](./14-variable-binding.md#1353-컴포넌트작업-출력-컨텍스트)
  - 13.5.4 [워크플로우 출력 컨텍스트](./14-variable-binding.md#1354-워크플로우-출력-컨텍스트)
- 13.6 [기본값](./14-variable-binding.md#136-기본값)
  - 13.6.1 [리터럴 기본값](./14-variable-binding.md#1361-리터럴-기본값)
  - 13.6.2 [환경 변수 기본값](./14-variable-binding.md#1362-환경-변수-기본값)
  - 13.6.3 [중첩 기본값 (환경 변수 + 리터럴)](./14-variable-binding.md#1363-중첩-기본값-환경-변수--리터럴)
- 13.7 [메타데이터와 UI 힌트](./14-variable-binding.md#137-메타데이터와-ui-힌트)
  - 13.7.1 [어노테이션](./14-variable-binding.md#1371-어노테이션)
  - 13.7.2 [Select (드롭다운)](./14-variable-binding.md#1372-select-드롭다운)
  - 13.7.3 [Slider](./14-variable-binding.md#1373-slider)
  - 13.7.4 [Textarea](./14-variable-binding.md#1374-textarea)
- 13.8 [실전 예제](./14-variable-binding.md#138-실전-예제)

## 15. [시스템 통합](./15-system-integration.md)
- 14.1 [리스너 개요](./15-system-integration.md#141-리스너-개요)
- 14.2 [HTTP Callback 리스너](./15-system-integration.md#142-http-callback-리스너)
  - 14.2.1 [HTTP Callback 개요](./15-system-integration.md#1421-http-callback-개요)
  - 14.2.2 [HTTP Callback 기본 설정](./15-system-integration.md#1422-http-callback-기본-설정)
  - 14.2.3 [콜백 엔드포인트 설정](./15-system-integration.md#1423-콜백-엔드포인트-설정)
  - 14.2.4 [콜백 필드 설명](./15-system-integration.md#1424-콜백-필드-설명)
  - 14.2.5 [벌크(Bulk) 콜백 처리](./15-system-integration.md#1425-벌크bulk-콜백-처리)
  - 14.2.6 [HTTP Callback 고급 설정](./15-system-integration.md#1426-http-callback-고급-설정)
  - 14.2.7 [HTTP Callback 작동 원리](./15-system-integration.md#1427-http-callback-작동-원리)
  - 14.2.8 [콜백 데이터 매핑](./15-system-integration.md#1428-콜백-데이터-매핑)
- 14.3 [HTTP Trigger 리스너](./15-system-integration.md#143-http-trigger-리스너)
  - 14.3.1 [HTTP Trigger 개요](./15-system-integration.md#1431-http-trigger-개요)
  - 14.3.2 [HTTP Trigger 기본 설정](./15-system-integration.md#1432-http-trigger-기본-설정)
  - 14.3.3 [트리거 엔드포인트 설정](./15-system-integration.md#1433-트리거-엔드포인트-설정)
  - 14.3.4 [트리거 필드 설명](./15-system-integration.md#1434-트리거-필드-설명)
  - 14.3.5 [벌크(Bulk) 트리거 처리](./15-system-integration.md#1435-벌크bulk-트리거-처리)
  - 14.3.6 [HTTP Trigger 작동 원리](./15-system-integration.md#1436-http-trigger-작동-원리)
  - 14.3.7 [입력 데이터 매핑](./15-system-integration.md#1437-입력-데이터-매핑)
  - 14.3.8 [실전 예제](./15-system-integration.md#1438-실전-예제)
- 14.4 [게이트웨이 - HTTP 터널링](./15-system-integration.md#144-게이트웨이---http-터널링)
  - 14.4.1 [게이트웨이 개요](./15-system-integration.md#1441-게이트웨이-개요)
  - 14.4.2 [HTTP 터널 - ngrok](./15-system-integration.md#1442-http-터널---ngrok)
  - 14.4.3 [HTTP 터널 - Cloudflare](./15-system-integration.md#1443-http-터널---cloudflare)
  - 14.4.4 [SSH 터널](./15-system-integration.md#1444-ssh-터널)
  - 14.4.5 [게이트웨이 고급 설정](./15-system-integration.md#1445-게이트웨이-고급-설정)
  - 14.4.6 [실전 예제: Slack 봇 웹훅](./15-system-integration.md#1446-실전-예제-slack-봇-웹훅)
- 14.5 [리스너와 게이트웨이 함께 사용](./15-system-integration.md#145-리스너와-게이트웨이-함께-사용)
  - 14.5.1 [통합 예제: 비동기 이미지 처리](./15-system-integration.md#1451-통합-예제-비동기-이미지-처리)
  - 14.5.2 [아키텍처 다이어그램](./15-system-integration.md#1452-아키텍처-다이어그램)
  - 14.5.3 [프로덕션 환경 고려사항](./15-system-integration.md#1453-프로덕션-환경-고려사항)
- 14.6 [시스템 통합 모범 사례](./15-system-integration.md#146-시스템-통합-모범-사례)
- 14.7 [시스템 - 인프라 관리](./15-system-integration.md#147-시스템---인프라-관리)
  - 14.7.1 [시스템 개요](./15-system-integration.md#1471-시스템-개요)
  - 14.7.2 [Docker Compose 시스템](./15-system-integration.md#1472-docker-compose-시스템)
  - 14.7.3 [복수 시스템](./15-system-integration.md#1473-복수-시스템)
  - 14.7.4 [전체 예제: 브라우저 자동화](./15-system-integration.md#1474-전체-예제-브라우저-자동화)
  - 14.7.5 [라이프사이클 순서](./15-system-integration.md#1475-라이프사이클-순서)
  - 14.7.6 [전제 조건](./15-system-integration.md#1476-전제-조건)

## 16. [배포](./16-deployment.md)
- 15.1 [로컬 실행](./16-deployment.md#151-로컬-실행)
  - 15.1.1 [기본 실행](./16-deployment.md#1511-기본-실행)
  - 15.1.2 [환경 변수 관리](./16-deployment.md#1512-환경-변수-관리)
  - 15.1.3 [설정 파일 지정](./16-deployment.md#1513-설정-파일-지정)
  - 15.1.4 [워크플로우 단독 실행](./16-deployment.md#1514-워크플로우-단독-실행)
  - 15.1.5 [디버깅 옵션](./16-deployment.md#1515-디버깅-옵션)
- 15.2 [Docker 런타임](./16-deployment.md#152-docker-런타임)
  - 15.2.1 [기본 Docker 설정](./16-deployment.md#1521-기본-docker-설정)
  - 15.2.2 [고급 Docker 옵션](./16-deployment.md#1522-고급-docker-옵션)
  - 15.2.3 [볼륨 및 환경 변수](./16-deployment.md#1523-볼륨-및-환경-변수)
- 15.3 [Docker 컨테이너 빌드 및 배포](./16-deployment.md#153-docker-컨테이너-빌드-및-배포)
  - 15.3.1 [자동 빌드 프로세스](./16-deployment.md#1531-자동-빌드-프로세스)
  - 15.3.2 [커스텀 Dockerfile 사용](./16-deployment.md#1532-커스텀-dockerfile-사용)
  - 15.3.3 [멀티 스테이지 빌드](./16-deployment.md#1533-멀티-스테이지-빌드)
  - 15.3.4 [이미지 레지스트리 사용](./16-deployment.md#1534-이미지-레지스트리-사용)
  - 15.3.5 [프라이빗 레지스트리 인증](./16-deployment.md#1535-프라이빗-레지스트리-인증)
- 15.4 [프로덕션 환경 고려사항](./16-deployment.md#154-프로덕션-환경-고려사항)
  - 15.4.1 [동시성 제어](./16-deployment.md#1541-동시성-제어)
  - 15.4.2 [리소스 제한](./16-deployment.md#1542-리소스-제한)
  - 15.4.3 [재시작 정책](./16-deployment.md#1543-재시작-정책)
  - 15.4.4 [헬스 체크](./16-deployment.md#1544-헬스-체크)
  - 15.4.5 [보안 고려사항](./16-deployment.md#1545-보안-고려사항)
  - 15.4.6 [데이터 영속성](./16-deployment.md#1546-데이터-영속성)
- 15.5 [모니터링 및 로깅](./16-deployment.md#155-모니터링-및-로깅)
  - 15.5.1 [로거 설정](./16-deployment.md#1551-로거-설정)
  - 15.5.2 [Docker 컨테이너 로그](./16-deployment.md#1552-docker-컨테이너-로그)
  - 15.5.3 [워크플로우 실행 로깅](./16-deployment.md#1553-워크플로우-실행-로깅)
  - 15.5.4 [메트릭 수집](./16-deployment.md#1554-메트릭-수집)
  - 15.5.5 [외부 모니터링 시스템](./16-deployment.md#1555-외부-모니터링-시스템)
  - 15.5.6 [트레이서 설정](./16-deployment.md#1556-트레이서-설정)
- 15.6 [배포 모범 사례](./16-deployment.md#156-배포-모범-사례)

## 17. [실전 예제](./17-practical-examples.md)
- 16.1 [챗봇 구축](./17-practical-examples.md#161-챗봇-구축)
  - 16.1.1 [OpenAI GPT-4o 챗봇](./17-practical-examples.md#1611-openai-gpt-4o-챗봇)
  - 16.1.2 [스트리밍 챗봇](./17-practical-examples.md#1612-스트리밍-챗봇)
- 16.2 [음성 생성 파이프라인](./17-practical-examples.md#162-음성-생성-파이프라인)
  - 16.2.1 [텍스트를 음성으로 변환 (OpenAI TTS)](./17-practical-examples.md#1621-텍스트를-음성으로-변환-openai-tts)
  - 16.2.2 [영감을 주는 명언 음성 생성](./17-practical-examples.md#1622-영감을-주는-명언-음성-생성)
- 16.3 [이미지 분석 및 편집](./17-practical-examples.md#163-이미지-분석-및-편집)
  - 16.3.1 [이미지 캡셔닝 (Image-to-Text)](./17-practical-examples.md#1631-이미지-캡셔닝-image-to-text)
  - 16.3.2 [이미지 편집 (OpenAI DALL-E)](./17-practical-examples.md#1632-이미지-편집-openai-dall-e)
- 16.4 [RAG 시스템 (벡터 DB 활용)](./17-practical-examples.md#164-rag-시스템-벡터-db-활용)
  - 16.4.1 [ChromaDB를 사용한 텍스트 임베딩 검색](./17-practical-examples.md#1641-chromadb를-사용한-텍스트-임베딩-검색)
  - 16.4.2 [Milvus를 사용한 RAG 시스템](./17-practical-examples.md#1642-milvus를-사용한-rag-시스템)
- 16.5 [Slack 봇 (MCP)](./17-practical-examples.md#165-slack-봇-mcp)
  - 16.5.1 [MCP 서버로 Slack 봇 구축](./17-practical-examples.md#1651-mcp-서버로-slack-봇-구축)
  - 16.5.2 [AI 기반 Slack 자동 응답 봇](./17-practical-examples.md#1652-ai-기반-slack-자동-응답-봇)
- 16.6 [멀티모달 워크플로우](./17-practical-examples.md#166-멀티모달-워크플로우)
  - 16.6.1 [이미지 → 텍스트 → 음성 파이프라인](./17-practical-examples.md#1661-이미지--텍스트--음성-파이프라인)
  - 16.6.2 [음성 → 텍스트 → 번역 → 음성 파이프라인](./17-practical-examples.md#1662-음성--텍스트--번역--음성-파이프라인)
- 16.8 [키-값 스토어 (캐싱 & 세션)](./17-practical-examples.md#168-키-값-스토어-캐싱--세션)
  - 16.8.1 [API 응답 캐싱](./17-practical-examples.md#1681-api-응답-캐싱)
  - 16.8.2 [세션 관리](./17-practical-examples.md#1682-세션-관리)
- 17.10 [대화 메모리를 활용한 챗봇](./17-practical-examples.md#1710-대화-메모리를-활용한-챗봇)
  - 17.10.1 [상태 유지 챗봇 (model-memory)](./17-practical-examples.md#17101-상태-유지-챗봇-model-memory)
  - 17.10.2 [Redis 메모리를 사용한 다중 사용자 챗봇](./17-practical-examples.md#17102-redis-메모리를-사용한-다중-사용자-챗봇)

## 18. [문제 해결](./18-troubleshooting.md)
- 17.1 [자주 묻는 질문 (FAQ)](./18-troubleshooting.md#171-자주-묻는-질문-faq)
  - 17.1.1 [설치 및 환경 설정](./18-troubleshooting.md#1711-설치-및-환경-설정)
  - 17.1.2 [컴포넌트 설정](./18-troubleshooting.md#1712-컴포넌트-설정)
  - 17.1.3 [워크플로우 실행](./18-troubleshooting.md#1713-워크플로우-실행)
  - 17.1.4 [Web UI](./18-troubleshooting.md#1714-web-ui)
  - 17.1.5 [리스너와 게이트웨이](./18-troubleshooting.md#1715-리스너와-게이트웨이)
- 17.2 [일반적인 오류 및 해결책](./18-troubleshooting.md#172-일반적인-오류-및-해결책)
  - 17.2.1 [모델 로딩 오류](./18-troubleshooting.md#1721-모델-로딩-오류)
  - 17.2.2 [네트워크 오류](./18-troubleshooting.md#1722-네트워크-오류)
  - 17.2.3 [설정 파일 오류](./18-troubleshooting.md#1723-설정-파일-오류)
  - 17.2.4 [변수 바인딩 오류](./18-troubleshooting.md#1724-변수-바인딩-오류)
  - 17.2.5 [Docker 런타임 오류](./18-troubleshooting.md#1725-docker-런타임-오류)
- 17.3 [디버깅 팁](./18-troubleshooting.md#173-디버깅-팁)
  - 17.3.1 [로깅 활성화](./18-troubleshooting.md#1731-로깅-활성화)
  - 17.3.2 [변수 값 확인](./18-troubleshooting.md#1732-변수-값-확인)
  - 17.3.3 [단계별 실행](./18-troubleshooting.md#1733-단계별-실행)
  - 17.3.4 [API 응답 확인](./18-troubleshooting.md#1734-api-응답-확인)
  - 17.3.5 [Docker 컨테이너 로그](./18-troubleshooting.md#1735-docker-컨테이너-로그)
  - 17.3.6 [환경 변수 확인](./18-troubleshooting.md#1736-환경-변수-확인)
  - 17.3.7 [포트 충돌 확인](./18-troubleshooting.md#1737-포트-충돌-확인)
  - 17.3.8 [의존성 확인](./18-troubleshooting.md#1738-의존성-확인)

## 19. [부록](./19-appendix.md)
- 18.1 [설정 파일 전체 스키마](./19-appendix.md#181-설정-파일-전체-스키마)
  - 18.1.1 [최상위 구조](./19-appendix.md#1811-최상위-구조)
  - 18.1.2 [컨트롤러 스키마](./19-appendix.md#1812-컨트롤러-스키마)
  - 18.1.3 [컴포넌트 스키마](./19-appendix.md#1813-컴포넌트-스키마)
  - 18.1.4 [워크플로우 스키마](./19-appendix.md#1814-워크플로우-스키마)
  - 18.1.5 [리스너 스키마](./19-appendix.md#1815-리스너-스키마)
  - 18.1.6 [게이트웨이 스키마](./19-appendix.md#1816-게이트웨이-스키마)
  - 18.1.7 [로거 스키마](./19-appendix.md#1817-로거-스키마)
  - 18.1.8 [트레이서 스키마](./19-appendix.md#1818-트레이서-스키마)
  - 18.1.9 [런타임 스키마](./19-appendix.md#1819-런타임-스키마)

---

**참고**: "TBD"로 표시된 섹션은 현재 개발 중인 기능을 위한 플레이스홀더입니다.
