추론 제공자 (Inference Providers)
추론 제공자 (Inference Providers)
허깅페이스의 Inference Providers는 개발자에게 수백 개의 머신러닝 모델을 제공해요. 일급 추론 제공자들이 힘을 실어주죠. JS와 Python 클라이언트 SDK에도 통합되어 있어서, 여러분이 선호하는 제공자에서 모델의 서버리스 추론을 쉽게 실행해 볼 수 있어요.
에이전트를 위한 빠른 설정
코딩 에이전트를 쓰고 있다면, Inference Providers로 가장 최신의 오픈 모델들을 하나의 허깅페이스 토큰으로 바로 돌릴 수 있어요. 아래 도구 중 여러분의 도구를 골라 설정 가이드로 바로 가면 돼요.
파트너
플랫폼은 선도적인 AI 인프라 제공자들과 통합되어, 단일하고 일관된 API를 통해 그들의 특화된 능력에 접근할 수 있게 해줘요. 각 파트너가 지원하는 내용은 다음 표와 같아요.
| Provider | Chat completion (LLM) | Chat completion (VLM) | Feature Extraction | Text to Image | Text to video | Speech to text |
|---|---|---|---|---|---|---|
| Baseten | ✅ | ✅ | ||||
| Cerebras | ✅ | |||||
| Cohere | ✅ | ✅ | ||||
| DeepInfra | ✅ | ✅ | ||||
| Fal AI | ✅ | ✅ | ✅ | |||
| Featherless AI | ✅ | ✅ | ||||
| Fireworks | ✅ | ✅ | ||||
| Groq | ✅ | ✅ | ||||
| HF Inference | ✅ | ✅ | ✅ | ✅ | ✅ | |
| Novita | ✅ | ✅ | ✅ | |||
| Nscale | ✅ | ✅ | ✅ | |||
| OVHcloud AI Endpoints | ✅ | ✅ | ||||
| Public AI | ✅ | |||||
| Replicate | ✅ | ✅ | ✅ | |||
| Scaleway | ✅ | ✅ | ||||
| Together | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| WaveSpeedAI | ✅ | ✅ | ||||
| Z.ai | ✅ | ✅ |
왜 Inference Providers를 쓸까요?
AI 애플리케이션을 만들다 보면 여러 제공자의 API를 관리하고, 모델 성능을 비교하고, 제각각인 신뢰성을 다뤄야 해서 힘들 때가 많아요. Inference Providers는 이런 문제를 다음과 같이 풀어줘요.
- 최신 모델에 즉시 접근: 주류 제공자를 넘어 다양한 AI 작업에 걸친 수천 개의 특화 모델에 접근해요. 최신 언어 모델, 최첨단 이미지 생성기, 도메인 특화 임베딩까지 여기서 찾을 수 있어요.
- 벤더 종속 없음(zero vendor lock-in): 한 제공자의 모델 카탈로그에 묶이는 대신, Cerebras, Groq, Together AI, Replicate 등 여러 곳의 모델을 하나의 일관된 인터페이스로 접근해요.
- 프로덕션에 준비된 성능: 엔터프라이즈 워크로드를 위해 신뢰성을 갖춘 성능으로 만들어졌어요.
이렇게 만들 수 있는 것들:
- 텍스트 생성: 챗봇, 콘텐츠 생성, 코드 어시스턴트를 위한 도구 호출 기능이 있는 LLM 사용
- 이미지·비디오 생성: LoRA와 스타일 커스터마이징까지 포함한 커스텀 이미지·비디오 생성
- 검색·검색: 의미 검색, RAG 시스템, 추천 엔진을 위한 최첨단 임베딩
- 전통적 ML 작업: 분류, NER, 요약, 음성 인식을 위한 바로 쓸 수 있는 모델
⚡ 무료로 시작하기: Inference Providers는 넉넉한 무료 티어를 제공하고, PRO 사용자와 Team & Enterprise 조직에게는 추가 크레딧을 줘요.
핵심 기능
- All-in-One API: 텍스트 생성, 이미지 생성, 문서 임베딩, NER, 요약, 이미지 분류 등을 위한 단일 API
- 멀티 제공자 지원: fal, Replicate, Together AI 등 최고 티어 제공자의 모델을 쉽게 실행
- 확장 가능하고 신뢰성 높은: 프로덕션 환경의 높은 가용성과 저지연 성능
- 개발자 친화적: Python과 JavaScript 클라이언트 양쪽에서 간단한 요청, 빠른 응답, 일관된 개발 경험
- 쉽게 통합: OpenAI 채팅 완성 API의 드롭인 대체(drop-in replacement)
- 비용 효율적: 제공자 요율에 추가 마크업 없음
시작하기
Inference Providers는 여러분의 기존 개발 워크플로와 함께 작동해요. Python, JavaScript, 혹은 직접 HTTP 호출 중 어느 것을 선호해도 네이티브 SDK와 OpenAI 호환 API를 제공하니 바로 시작할 수 있어요.
여기서는 오픈 웨이트 대화형 모델인 openai/gpt-oss-120b로 실용적인 예시를 따라가 볼게요.
Inference Playground
통합에 들어가기 전에, Inference Playground에서 모델을 인터랙티브하게 탐색해 보세요. 여러분의 프롬프트로 다양한 채팅 완성 모델을 테스트하고 응답을 비교해 유스케이스에 딱 맞는 모델을 찾을 수 있어요.
터미널을 선호한다면 hf CLI로 hf models ls --warm을 실행해 보세요. 적어도 한 제공자가 서비스하는 모든 모델을 나열해 줘요. --json을 붙이면 스크립트나 에이전트에서 쓰기 좋아요. 전체 필터 목록은 Hub API 페이지를 보세요.
인증
요청을 인증하려면 허깅페이스 토큰이 필요해요. 토큰 설정에서 fine-grained 토큰을 만들고 Make calls to Inference Providers 권한을 부여하면 돼요.
전체 토큰 관리 내용은 보안 토큰 가이드에서 볼 수 있어요.
Quick Start - LLM
가장 흔한 유스케이스인 대화형 AI부터 시작해 볼게요. LLM으로 채팅 완성을 수행하는 예시를 보여드릴게요.
Python
huggingface_hub 라이브러리는 제공자 선택과 요청 라우팅을 자동 처리하는 InferenceClient를 제공해요.
터미널에서 Hugging Face Hub Python 클라이언트를 설치하고 로그인해요.
pip install huggingface_hub
hf auth login # get a read token from hf.co/settings/tokens
이제 Python 인터프리터에서 클라이언트를 쓸 수 있어요.
기본적으로 시스템은 지정한 모델에 대해 가장 빠른 제공자를 자동 선택해요. (:fastest 정책과 동일 — 초당 토큰 수 기준 최고 처리량) 제공자 선택 정책을 바꾸고 싶다면 모델 ID에 정책 접미사를 붙이면 돼요. :cheapest는 출력 토큰당 가격이 가장 싼 제공자, :preferred는 Inference Provider 설정에 정한 선호 순서를 따르죠. 예: openai/gpt-oss-120b:cheapest. 모델 ID에 제공자 이름을 붙여 특정 제공자를 선택할 수도 있어요 (예: "openai/gpt-oss-120b:groq").
import os
from huggingface_hub import InferenceClient
client = InferenceClient()
completion = client.chat.completions.create(
model="openai/gpt-oss-120b",
messages=[
{
"role": "user",
"content": "How many 'G's in 'huggingface'?"
}
],
)
print(completion.choices[0].message)
JavaScript
JavaScript SDK는 자동 제공자 선택과 TypeScript 지원을 갖춘 편리한 인터페이스를 제공해요.
NPM으로 설치해요.
npm install @huggingface/inference
기본적으로 시스템은 지정한 모델에 대해 가장 빠른 제공자를 자동 선택하고, 모델 ID에 정책 접미사를 붙여 정책을 바꿀 수 있어요.
import { InferenceClient } from "@huggingface/inference";
const client = new InferenceClient(process.env.HF_TOKEN);
const chatCompletion = await client.chatCompletion({
model: "openai/gpt-oss-120b:fastest",
messages: [
{
role: "user",
content: "How many 'G's in 'huggingface'?",
},
],
});
console.log(chatCompletion.choices[0].message);
HTTP / cURL
테스트, 디버깅, 혹은 어떤 HTTP 클라이언트와의 통합을 위해 원시 REST API 형식이에요.
curl https://router.huggingface.co/v1/chat/completions \
-H "Authorization: Bearer $HF_TOKEN" \
-H 'Content-Type: application/json' \
-d '{
"messages": [
{
"role": "user",
"content": "How many G in huggingface?"
}
],
"model": "openai/gpt-oss-120b:fastest",
"stream": false
}'
OpenAI 호환 엔드포인트
익숙한 OpenAI API를 선호하거나 기존 채팅 완성 코드를 최소한의 변경으로 옮기고 싶다면, 드롭인 호환 엔드포인트를 제공해요. 서버 쪽에서 모든 제공자 선택을 자동 처리하죠.
기본적으로 모델에 대해 가장 빠른 제공자가 선택돼요(초당 토큰 처리량 기준). 모델 이름에 접미사를 붙이면 정책을 바꿀 수 있어요.
:cheapest— 출력 토큰당 가격이 가장 싼 제공자 선택:preferred— Inference Provider 설정의 선호 순서로 정렬된 첫 번째 제공자 선택
이 OpenAI 호환 엔드포인트는 현재 채팅 완성 작업에서만 사용할 수 있어요. 텍스트-이미지, 임베딩, 음성 처리 같은 다른 작업은 위에서 본 Hugging Face 추론 클라이언트를 쓰면 돼요.
import { OpenAI } from "openai";
const client = new OpenAI({
baseURL: "https://router.huggingface.co/v1",
apiKey: process.env.HF_TOKEN,
});
const completion = await client.chat.completions.create({
model: "deepseek-ai/DeepSeek-R1:fastest",
messages: [{ role: "user", content: "Hello!" }],
});
curl https://router.huggingface.co/v1/chat/completions \
-H "Authorization: Bearer $HF_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "deepseek-ai/DeepSeek-R1:fastest",
"messages": [
{
"role": "user",
"content": "Hello!"
}
]
}'
핵심 기능:
- 서버 측 제공자 선택: 서버가 기본적으로 가장 빠른 제공자를 자동 선택(
:fastest정책) - 모델 목록 조회:
GET /v1/models로 모든 제공자의 모델을 가져오며, 제공자별 가격·컨텍스트 길이·지연·처리량도 표시 가능 - OpenAI SDK 호환: 기존 OpenAI 클라이언트 라이브러리와 동작
- 채팅 작업 전용: 대화형 워크로드에 한정
올바른 접근 방식 고르기
-- Inference Clients를 쓸 때:
- 모든 작업 유형(텍스트-이미지, 음성, 임베딩 등)이 필요할 때
- 제공자 선택을 명시적으로 제어하고 싶을 때
- 여러 AI 작업을 쓰는 애플리케이션을 만들 때
-- OpenAI 호환 엔드포인트를 쓸 때:
- 채팅 완성만 할 때
- 기존 OpenAI 기반 코드를 최소 변경으로 옮기고 싶을 때
- 서버 측 제공자 관리를 선호할 때
-- 직접 HTTP를 쓸 때:
- 커스텀 요청 로직을 구현할 때
- 요청/응답 주기를 세밀하게 제어해야 할 때
- 클라이언트 라이브러리가 없는 환경에서 작업할 때