본문 바로가기
C.W.K.
Stream
Lesson 02 of 05 · published

Provider Routing 과 가격 표면

~24 min · inference, providers

Level 0스카우트
0 XP0/50 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete

Hub를 추론 라우터로 쓸 수 있어

Inference Providers는 모델과 실제 서빙 provider 사이를 연결하는 계층이야. Hub에서 지원 provider를 확인하고 InferenceClient(provider=...)로 요청하면 HF 경계를 거쳐 선택한 업체로 전달돼. 인증은 HF 토큰 하나로 하고 비용도 HF에서 한데 정산해.

  • provider마다 API 키를 따로 관리하지 않아도 돼.
  • 청구와 사용량을 한곳에서 확인할 수 있어.
  • 장애나 가격 변화가 생기면 provider 설정을 바꿔 대체할 수 있어.
  • 계정에 따라 provider별 무료 크레딧을 전달받을 수도 있어.

공통분모 밖의 기능에는 직접 연결해

사용자 정의 JSON 모드, adapter routing, 특정 지역 고정처럼 HF가 노출하지 않는 기능이 필요하면 provider의 기본 SDK로 내려가야 해. 공통 추상화를 기본으로 삼되, 필요한 기능을 잃으면서까지 고집하지는 마.

Code

어떤 프로바이더가 모델 서빙하는지 발견·python
from huggingface_hub import HfApi

api = HfApi()
info = api.model_info("meta-llama/Llama-3.1-8B-Instruct")

# 인퍼런스 프로바이더 리스트가 .inference 에 (있을 때) 뜸
print("inference field:", getattr(info, "inference", None))

# 더 reliable, provider 태그 체크
providers = [t for t in (info.tags or []) if t.startswith("inference-providers:")]
print(providers)
string 하나 바꿔 provider 스위치·python
from huggingface_hub import InferenceClient

def ask(provider):
    client = InferenceClient(model="meta-llama/Llama-3.1-8B-Instruct", provider=provider)
    return client.chat_completion(
        messages=[{"role": "user", "content": "ping"}],
        max_tokens=10,
    ).choices[0].message.content

for p in ["hf-inference", "together", "fireworks-ai"]:
    try:
        print(p, "->", ask(p))
    except Exception as e:
        print(p, "->", type(e).__name__)

External links

Exercise

인기 모델 골라. 서빙하는 프로바이더 셋 식별. 같은 프롬프트 5번씩 각 프로바이더에 돌려. 추적: avg latency, p95 latency, output 차이 (response shape, content). 각 프로바이더 publish 가격 기반으로 $/1k-token 추정.

Progress

Progress is local-only — sign in to sync across devices.
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.