model.yaml 소개 (Introduction to model.yaml)
model.yaml 소개 (Introduction to model.yaml)
model.yaml은 하나의 휴대용 파일로 모델과 그 모든 변형을 기술하는 포맷이에요. LM Studio의 모델 카탈로그에 등록된 모델들은 모두 model.yaml로 구현돼요. 이를 통해 GGUF, MLX 같은 실제 포맷을 추상화하고 모델마다 하나의 진입점을 제공하며, 로드·추론 옵션이나 커스텀 로직까지 담을 수 있어요.
참고: 이 문서는 현재 Draft(초안) 상태예요.
핵심 필드들
model
publisher/model 형태의 정식 식별자예요.
model: qwen/qwen3-8b
base
'구체적인(concrete)' 모델 파일이나 다른 가상 모델을 가리켜요. 각 항목은 고유한 key와, 파일을 가져올 수 있는 하나 이상의 source를 가져요. 아래 예시는 모델 qwen/qwen3-8b가 3가지 서로 다른 구체 모델 중 하나로 해석될 수 있는 경우예요.
model: qwen/qwen3-8b
base:
- key: lmstudio-community/qwen3-8b-gguf
sources:
- type: huggingface
user: lmstudio-community
repo: Qwen3-8B-GGUF
- key: lmstudio-community/qwen3-8b-mlx-4bit
sources:
- type: huggingface
user: lmstudio-community
repo: Qwen3-8B-MLX-4bit
- key: lmstudio-community/qwen3-8b-mlx-8bit
sources:
- type: huggingface
user: lmstudio-community
repo: Qwen3-8B-MLX-8bit
구체 모델 파일은 실제 가중치(weights)를 가리켜요.
metadataOverrides
기본 모델의 메타데이터를 덮어써요. 주로 LM Studio 모델 카탈로그나 앱 모델 검색 같은 표시 용도로 사용하며, 모델의 기능적 동작을 바꾸지는 않아요.
metadataOverrides:
domain: llm
architectures:
- qwen3
compatibilityTypes:
- gguf
- safetensors
paramsStrings:
- 8B
minMemoryUsageBytes: 4600000000
contextLengths:
- 40960
vision: false
reasoning: true
trainedForToolUse: true
config
샘플링 파라미터 같은 기본 런타임 설정과 로드 타임 옵션을 '박아 넣는(bake in)' 데 사용해요. Per Model Defaults와 비슷하게 동작해요.
operation: 추론 시점 파라미터load: 로드 시점 파라미터
config:
operation:
fields:
- key: llm.prediction.topKSampling
value: 20
- key: llm.prediction.temperature
value: 0.7
load:
fields:
- key: llm.load.contextLength
value: 42690
customFields
모델별 커스텀 필드를 정의해요.
customFields:
- key: enableThinking
displayName: Enable Thinking
description: Controls whether the model will think before replying
type: boolean
defaultValue: true