Hugging Face (Inference)
Hugging Face Inference Providers는 단일 router API를 통해 OpenAI 호환 chat completions를 제공합니다. 하나의 token으로 많은 model(DeepSeek, Llama 등)에 접근할 수 있습니다. OpenClaw는 OpenAI 호환 endpoint(chat completions 전용)를 사용합니다. text-to-image, embeddings, speech는 HF inference clients를 직접 사용하세요.- provider:
huggingface - 인증:
HUGGINGFACE_HUB_TOKEN또는HF_TOKEN(Make calls to Inference Providers 권한이 있는 fine-grained token) - API: OpenAI 호환 (
https://router.huggingface.co/v1) - Billing: 단일 HF token 사용. pricing은 프로바이더 요율을 따르며 free tier가 있습니다.
빠른 시작
- Hugging Face → Settings → Tokens에서 Make calls to Inference Providers 권한이 있는 fine-grained token을 생성합니다.
- onboarding을 실행하고 프로바이더 dropdown에서 Hugging Face를 선택한 뒤, 프롬프트가 나오면 API 키를 입력합니다:
- Default Hugging Face model dropdown에서 원하는 model을 선택합니다 (유효한 token이 있으면 Inference API에서 목록을 불러오고, 그렇지 않으면 built-in 목록을 표시합니다). 선택한 값은 기본 model로 저장됩니다.
- 나중에 config에서 기본 model을 설정하거나 변경할 수도 있습니다:
비대화형 예시
huggingface/deepseek-ai/DeepSeek-R1이 기본 model로 설정됩니다.
환경 참고
Gateway가 daemon(launchd/systemd)으로 실행된다면HUGGINGFACE_HUB_TOKEN 또는 HF_TOKEN이 해당 process에서 사용 가능해야 합니다
(예: ~/.openclaw/.env 또는 env.shellEnv를 통해).
Model discovery and onboarding dropdown
OpenClaw는 Inference endpoint를 직접 호출하여 model을 찾습니다:Authorization: Bearer $HUGGINGFACE_HUB_TOKEN 또는 $HF_TOKEN을 보내세요. 일부 endpoint는 auth 없이 부분 목록만 반환합니다.) 응답은 OpenAI 스타일의 { "object": "list", "data": [ { "id": "Qwen/Qwen3-8B", "owned_by": "Qwen", ... }, ... ] } 형식입니다.
OpenClaw에 Hugging Face API 키를 구성하면(onboarding, HUGGINGFACE_HUB_TOKEN, 또는 HF_TOKEN을 통해), 이 GET을 사용해 사용 가능한 chat-completion model을 찾습니다. 대화형 온보딩 중에는 token을 입력한 뒤 이 목록(또는 요청 실패 시 built-in catalog)으로 채워진 Default Hugging Face model dropdown이 표시됩니다. 런타임(예: Gateway 시작 시)에도 key가 있으면 OpenClaw는 다시 GET https://router.huggingface.co/v1/models를 호출해 catalog를 새로 고칩니다. 이 목록은 built-in catalog와 병합됩니다(context window 및 cost 같은 metadata 포함). 요청이 실패하거나 key가 없으면 built-in catalog만 사용합니다.
Model names and editable options
- API에서 가져온 이름: API가
name,title, 또는display_name을 반환하면 model 표시 이름은 GET /v1/models에서 hydrate됩니다. 그렇지 않으면 model id에서 파생됩니다 (예:deepseek-ai/DeepSeek-R1→ “DeepSeek R1”). - 표시 이름 override: config에서 model별 custom label을 설정해 CLI와 UI에 원하는 방식으로 표시되게 할 수 있습니다:
-
Provider / policy 선택: router가 backend를 고르는 방식을 선택하려면 model id에 suffix를 붙이세요:
:fastest— 최고 처리량 (router가 선택, 프로바이더 선택은 고정됨. interactive backend picker 없음).:cheapest— 출력 token당 최저 비용 (router가 선택, 프로바이더 선택은 고정됨).:provider— 특정 backend를 강제합니다 (예::sambanova,:together).
models.providers.huggingface.models에 별도 항목으로 추가하거나 suffix가 포함된 값으로model.primary를 설정할 수 있습니다. 기본 순서는 Inference Provider settings에서 설정할 수도 있습니다 (suffix가 없으면 그 순서를 사용). -
Config merge:
models.providers.huggingface.models의 기존 항목(예:models.json안)은 config merge 시 유지됩니다. 따라서 거기에 설정한 customname,alias, model option은 보존됩니다.
Model IDs and configuration examples
모델 ref는huggingface/<org>/<model> 형식을 사용합니다 (Hub 스타일 ID). 아래 목록은 GET https://router.huggingface.co/v1/models에서 온 것이며, 실제 catalog에는 더 많은 항목이 있을 수 있습니다.
예시 ID (inference endpoint 기준):
| Model | Ref (prefix with huggingface/) |
|---|---|
| DeepSeek R1 | deepseek-ai/DeepSeek-R1 |
| DeepSeek V3.2 | deepseek-ai/DeepSeek-V3.2 |
| Qwen3 8B | Qwen/Qwen3-8B |
| Qwen2.5 7B Instruct | Qwen/Qwen2.5-7B-Instruct |
| Qwen3 32B | Qwen/Qwen3-32B |
| Llama 3.3 70B Instruct | meta-llama/Llama-3.3-70B-Instruct |
| Llama 3.1 8B Instruct | meta-llama/Llama-3.1-8B-Instruct |
| GPT-OSS 120B | openai/gpt-oss-120b |
| GLM 4.7 | zai-org/GLM-4.7 |
| Kimi K2.5 | moonshotai/Kimi-K2.5 |
:fastest, :cheapest, :provider(예: :together, :sambanova)를 붙일 수 있습니다. 기본 순서는 Inference Provider settings에서 설정하세요. 전체 목록은 Inference Providers 및 GET https://router.huggingface.co/v1/models를 참고하세요.
Complete configuration examples
기본은 DeepSeek R1, 폴백은 Qwen::provider로 특정 backend 강제: