모델 접근이 동작하는 방식
모델 접근이 동작하는 방식 (How Model Access Works)
출처: 문서
본문
개념 (Concept)
온보딩된 각 모델은 LiteLLM의 "모델 배포(model deployment)"예요. 이러한 모델 배포는 config.yaml의 model_name 필드를 통해 "모델 그룹(model group)"에 할당돼요.
예시 (Example)
model_list:
- model_name: my-custom-model
litellm_params:
model: openai/gpt-5.6-terra
api_key: os.environ/OPENAI_API_KEY
여기서 gpt-5.6-terra 모델의 모델 배포를 온보딩하고, 이를 my-custom-model 모델 그룹에 할당해요.
클라이언트 측 요청 (Client-side request)
클라이언트 측 요청의 모습은 이래요:
curl --location 'http://localhost:4000/chat/completions' \
-H 'Authorization: Bearer ***' \
-H 'Content-Type: application/json' \
-d '{"model": "my-custom-model", "messages": [{"role": "user", "content": "Hello, how are you?"}]}'
접근 제어 (Access Control)
키/사용자/팀에 접근 권한을 줄 때는 "모델 그룹"에 대한 접근 권한을 주는 거예요. 예시:
curl --location 'http://localhost:4000/key/generate' \
--header 'Authorization: Bearer ***' \
--header 'Content-Type: application/json' \
--data-raw '{"models": ["my-custom-model"]}'
로드밸런싱 (Loadbalancing)
단일 "모델 그룹"에 여러 모델 배포를 추가할 수 있어요. LiteLLM은 그룹 내 모델 배포 간에 요청을 자동으로 로드밸런싱해요. 예시:
model_list:
- model_name: my-custom-model
litellm_params:
model: openai/gpt-5.6-terra
api_key: os.environ/OPENAI_API_KEY
- model_name: my-custom-model
litellm_params:
model: azure/gpt-5.6-terra
api_key: os.environ/AZURE_API_KEY
api_base: os.environ/AZURE_API_BASE
api_version: os.environ/AZURE_API_VERSION
이렇게 하면 여러 모델 배포에 걸쳐 요율 제한(rate limit)을 최대화할 수 있어요.
폴백 (Fallbacks)
모델 그룹 간에 폴백할 수 있어요. 이는 "모델 그룹"의 모든 "모델 배포"가 다운된 경우(예: 429 오류 발생)에 유용해요. 예시:
model_list:
- model_name: my-custom-model
litellm_params:
model: openai/gpt-5.6-luna
api_key: os.environ/OPENAI_API_KEY
- model_name: my-other-model
litellm_params:
model: openai/gpt-5.6-terra
api_key: os.environ/OPENAI_API_KEY
litellm_settings:
fallbacks: [{"my-custom-model": ["my-other-model"]}]
폴백은 순차적으로 수행돼요. 목록의 첫 번째 모델 그룹이 먼저 시도되고, 실패하면 다음 모델 그룹이 시도돼요.
고급: 모델 접근 그룹 (Advanced: Model Access Groups)
고급 사용 사례에는 Model Access Groups를 사용해, 프록시 재시작 없이 여러 모델을 동적으로 그룹화하고 접근을 관리할 수 있어요.