Skip to main content

W&B Inference

_W&B Inference_는 W&B Weave 및 OpenAI 호환 API를 통해 주요 오픈소스 파운데이션 모델에 액세스할 수 있도록 제공합니다. W&B Inference를 사용하면 다음을 할 수 있습니다:
  • 호스팅 제공업체에 가입하거나 모델을 직접 호스팅하지 않고도 AI 애플리케이션과 에이전트를 개발할 수 있습니다.
  • W&B Weave 플레이그라운드에서 지원되는 모델을 사용해 볼 수 있습니다.
W&B Inference 크레딧은 한정된 기간 동안 Free, Pro, Academic 플랜에 포함됩니다. Enterprise의 경우 제공 여부가 다를 수 있습니다. 크레딧을 모두 소진하면 다음과 같습니다:
  • Free 계정은 Inference를 계속 사용하려면 Pro 플랜으로 업그레이드해야 합니다.
  • Pro 플랜 사용자는 모델별 가격에 따라 Inference 초과 사용량이 매월 청구됩니다.
자세한 내용은 가격 페이지W&B Inference 모델 비용을 참조하세요.
Weave를 사용하면 W&B Inference 기반 애플리케이션을 트레이스하고, 평가하고, 모니터링하고, 반복적으로 개선할 수 있습니다.
ModelModel ID (for API usage)Type(s)Context WindowParametersDescription
DeepSeek R1-0528deepseek-ai/DeepSeek-R1-0528텍스트161K37B - 680B (활성 - 전체)복잡한 코딩, 수학, 구조화된 문서 분석 등 정밀한 추론 작업에 최적화되었습니다.
DeepSeek V3-0324deepseek-ai/DeepSeek-V3-0324텍스트161K37B - 680B (활성 - 전체)고난도 언어 처리와 포괄적인 문서 분석에 맞춰 설계된 강력한 Mixture-of-Experts 모델입니다.
Llama 3.1 8Bmeta-llama/Llama-3.1-8B-Instruct텍스트128K8B (전체)빠르게 응답하는 다국어 챗봇 상호작용에 최적화된 효율적인 대화형 모델입니다.
Llama 3.3 70Bmeta-llama/Llama-3.3-70B-Instruct텍스트128K70B (전체)대화 작업, 세부 지시 이행, 코딩에 강점을 가진 다국어 모델입니다.
Llama 4 Scoutmeta-llama/Llama-4-Scout-17B-16E-Instruct텍스트, 비전64K17B - 109B (활성 - 전체)텍스트와 이미지 이해를 결합한 멀티모달 모델로, 시각 작업과 복합 분석에 적합합니다.
Phi 4 Minimicrosoft/Phi-4-mini-instruct텍스트128K3.8B (활성 - 전체)리소스가 제한된 환경에서 빠른 응답에 적합한 작고 효율적인 모델입니다.
이 가이드는 다음 정보를 제공합니다:

사전 요구 사항

다음 항목은 API 또는 W&B Weave UI를 통해 W&B Inference 서비스에 액세스하는 데 필요합니다.
  1. W&B 계정. 여기에서 가입하세요.
  2. W&B API 키. User Settings에서 API 키를 생성하세요.
  3. W&B 프로젝트.
  4. Python을 통해 Inference 서비스를 사용하는 경우 Python을 통해 API를 사용하기 위한 추가 사전 요구 사항을 참조하세요.

Python에서 API를 사용하기 위한 추가 사전 요구 사항

Python에서 Inference API를 사용하려면 먼저 공통 사전 요구 사항을 완료하세요. 그런 다음 로컬 환경에 openaiweave 라이브러리를 설치하세요:
pip install openai weave
LLM 애플리케이션을 Weave로 트레이스하는 경우에만 weave 라이브러리가 필요합니다. Weave 시작에 대한 자세한 내용은 Weave 퀵스타트를 참조하세요.Weave로 W&B Inference 서비스를 사용하는 방법을 보여주는 예시는 API 사용 예시를 참조하세요.

API 사양

다음 섹션에서는 API 사양 정보와 API 사용 예시를 제공합니다.

엔드포인트

Inference 서비스는 다음 엔드포인트를 통해 접근할 수 있습니다:
https://api.inference.wandb.ai/v1
이 엔드포인트에 액세스하려면 Inference 서비스 크레딧이 할당된 W&B 계정, 유효한 W&B API 키, 그리고 W&B entity(“team”이라고도 함)와 프로젝트가 있어야 합니다. 이 가이드의 코드 샘플에서는 entity(team)와 프로젝트를 <your-team>\<your-project>로 나타냅니다.

사용 가능한 방법

Inference 서비스에서 지원하는 API 방법은 다음과 같습니다:

Chat completions

기본적으로 사용할 수 있는 API 방법은 /chat/completions이며, 지원되는 모델에 메시지를 보내고 completion을 받기 위한 OpenAI 호환 요청 형식을 지원합니다. Weave로 W&B Inference 서비스를 사용하는 방법을 보여주는 사용 예시는 API usage examples를 참조하세요. 채팅 completion을 생성하려면 다음이 필요합니다:
  • Inference 서비스 기본 URL https://api.inference.wandb.ai/v1
  • W&B API 키 <your-api-key>
  • W&B entity 및 프로젝트 이름 <your-team>/<your-project>
  • 사용하려는 모델의 ID(다음 중 하나):
    • meta-llama/Llama-3.1-8B-Instruct
    • deepseek-ai/DeepSeek-V3-0324
    • meta-llama/Llama-3.3-70B-Instruct
    • deepseek-ai/DeepSeek-R1-0528
    • meta-llama/Llama-4-Scout-17B-16E-Instruct
    • microsoft/Phi-4-mini-instruct
curl https://api.inference.wandb.ai/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-api-key>" \
  -H "OpenAI-Project: <your-team>/<your-project>" \
  -d '{
    "model": "<model-id>",
    "messages": [
      { "role": "system", "content": "You are a helpful assistant." },
      { "role": "user", "content": "Tell me a joke." }
    ]
  }'

지원되는 모델 목록

API를 사용해 현재 사용 가능한 모든 모델과 해당 ID를 조회합니다. 이는 모델을 동적으로 선택하거나 현재 환경에서 어떤 모델을 사용할 수 있는지 확인할 때 유용합니다.
curl https://api.inference.wandb.ai/v1/models \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <your-api-key>" \
  -H "OpenAI-Project: <your-team>/<your-project>" \

사용 예시

이 섹션에서는 Weave로 W&B Inference를 사용하는 방법을 보여 주는 몇 가지 예시를 제공합니다:

기본 예제: Weave로 Llama 3.1 8B 트레이스하기

다음 Python 코드 샘플은 W&B Inference API를 사용해 Llama 3.1 8B 모델에 프롬프트를 보내고, Weave에서 해당 call을 트레이스하는 방법을 보여줍니다. Tracing을 사용하면 LLM call의 전체 입력/출력을 캡처하고, 성능을 모니터링하고, Weave UI에서 결과를 분석할 수 있습니다.
Weave의 tracing에 대해 자세히 알아보세요.
이 예제에서는 다음을 수행합니다:
  • OpenAI 호환 클라이언트를 사용해 chat completion 요청을 보내는 @weave.op() 데코레이터가 적용된 함수 run_chat를 정의합니다.
  • 트레이스는 기록되어 W&B entity 및 프로젝트 project="<your-team>/<your-project>와 연결됩니다.
  • 함수는 Weave에 의해 자동으로 트레이스되므로 입력, 출력, 지연 시간, 메타데이터(예: 모델 ID)가 로깅됩니다.
  • 결과는 터미널에 출력되며, 트레이스는 지정한 프로젝트 아래 https://wandb.aiTraces 탭에 표시됩니다.
이 예제를 사용하려면 일반 사전 요구 사항Python을 통해 API를 사용하기 위한 추가 사전 요구 사항을 완료해야 합니다.
import weave
import openai

# 트레이싱을 위한 Weave 팀 및 프로젝트 설정
weave.init("<your-team>/<your-project>")

client = openai.OpenAI(
    base_url='https://api.inference.wandb.ai/v1',

    # https://wandb.ai/settings 에서 API 키 생성
    api_key="<your-api-key>",

    # W&B Inference 사용량 추적에 필요
    project="wandb/inference-demo",
)

# Weave에서 모델 call 트레이스
@weave.op()
def run_chat():
    response = client.chat.completions.create(
        model="meta-llama/Llama-3.1-8B-Instruct",
        messages=[
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Tell me a joke."}
        ],
    )
    return response.choices[0].message.content

# 트레이스된 call 실행 및 로그
output = run_chat()
print(output)
코드 샘플을 실행한 후 터미널에 출력된 링크(예: https://wandb.ai/<your-team>/<your-project>/r/call/01977f8f-839d-7dda-b0c2-27292ef0e04g)를 클릭하면 Weave에서 트레이스를 확인할 수 있습니다. 또는 다음과 같이 할 수 있습니다.
  1. https://wandb.ai로 이동합니다.
  2. Traces 탭을 선택해 Weave 트레이스를 확인합니다.
다음으로, 고급 예제를 사용해 보세요.
트레이스 표시

고급 예제: Inference 서비스와 함께 Weave Evaluations 및 리더보드 사용

Inference 서비스에서 Weave를 사용해 모델 calls를 트레이스하는 것 외에도, 성능을 평가하고 리더보드를 게시할 수 있습니다. 다음 Python 코드 샘플은 단순한 질문-답변 데이터셋에서 두 모델을 비교합니다. 이 예제를 사용하려면 일반 사전 요구 사항Python을 통해 API를 사용하는 추가 사전 요구 사항을 충족해야 합니다.
import os
import asyncio
import openai
import weave
from weave.flow import leaderboard
from weave.trace.ref_util import get_ref

# 트레이싱을 위한 Weave 팀 및 프로젝트 설정
weave.init("<your-team>/<your-project>")

dataset = [
    {"input": "What is 2 + 2?", "target": "4"},
    {"input": "Name a primary color.", "target": "red"},
]

@weave.op
def exact_match(target: str, output: str) -> float:
    return float(target.strip().lower() == output.strip().lower())

class WBInferenceModel(weave.Model):
    model: str

    @weave.op
    def predict(self, prompt: str) -> str:
        client = openai.OpenAI(
            base_url="https://api.inference.wandb.ai/v1",
            # https://wandb.ai/settings 에서 API 키 생성
            api_key="<your-api-key>",
            # W&B Inference 사용량 추적에 필요
            project="<your-team>/<your-project>",
        )
        resp = client.chat.completions.create(
            model=self.model,
            messages=[{"role": "user", "content": prompt}],
        )
        return resp.choices[0].message.content

llama = WBInferenceModel(model="meta-llama/Llama-3.1-8B-Instruct")
deepseek = WBInferenceModel(model="deepseek-ai/DeepSeek-V3-0324")

def preprocess_model_input(example):
    return {"prompt": example["input"]}

evaluation = weave.Evaluation(
    name="QA",
    dataset=dataset,
    scorers=[exact_match],
    preprocess_model_input=preprocess_model_input,
)

async def run_eval():
    await evaluation.evaluate(llama)
    await evaluation.evaluate(deepseek)

asyncio.run(run_eval())

spec = leaderboard.Leaderboard(
    name="Inference Leaderboard",
    description="Compare models on a QA dataset",
    columns=[
        leaderboard.LeaderboardColumn(
            evaluation_object_ref=get_ref(evaluation).uri(),
            scorer_name="exact_match",
            summary_metric_path="mean",
        )
    ],
)

weave.publish(spec)
다음 코드 샘플을 실행한 후 https://wandb.ai/의 W&B 계정으로 이동한 다음, 다음을 수행합니다:
모델 평가 보기
트레이스 보기

UI

다음 섹션에서는 W&B UI를 통해 Inference 서비스를 사용하는 방법을 설명합니다. UI를 통해 Inference 서비스에 액세스하려면 먼저 사전 요구 사항을 완료하세요.

Inference 서비스에 접속하기

Weave UI의 다음 위치에서 Inference 서비스에 접속할 수 있습니다: 다음 링크로 이동합니다: https://wandb.ai/inference.

Inference 탭에서

  1. https://wandb.ai/에서 W&B 계정에 접속합니다.
  2. 왼쪽 사이드바에서 Inference를 선택합니다. 사용 가능한 모델과 모델 정보가 표시되는 페이지가 열립니다.
Inference 탭

Playground 탭에서

  1. 왼쪽 사이드바에서 Playground를 선택합니다. Playground 채팅 UI가 표시됩니다.
  2. LLM 드롭다운 목록에서 W&B Inference 위에 마우스를 올립니다. 사용 가능한 W&B Inference 모델이 포함된 드롭다운이 오른쪽에 표시됩니다.
  3. W&B Inference 모델 드롭다운에서 다음을 수행할 수 있습니다:
Playground의 Inference 모델 드롭다운

플레이그라운드에서 모델 사용해 보기

액세스 옵션 중 하나를 사용해 모델을 선택한 후 플레이그라운드에서 해당 모델을 사용해 볼 수 있습니다. 다음 작업을 수행할 수 있습니다:
플레이그라운드에서 Inference 모델 사용

여러 모델 비교

플레이그라운드에서 여러 Inference 모델을 비교할 수 있습니다. Compare 뷰는 다음 두 위치에서 열 수 있습니다:

Inference 탭에서 Compare 뷰 열기

  1. 왼쪽 사이드바에서 Inference를 선택합니다. 사용 가능한 모델과 모델 정보가 표시된 페이지가 열립니다.
  2. 비교할 모델을 선택하려면 모델 카드에서 모델 이름을 제외한 아무 곳이나 클릭합니다. 선택되면 모델 카드 테두리가 파란색으로 강조 표시됩니다.
  3. 비교하려는 각 모델에 대해 2단계를 반복합니다.
  4. 선택한 카드 중 아무 카드에서나 Compare N models in the Playground 버튼을 클릭합니다(N은 비교할 모델 수입니다. 예를 들어 모델 3개를 선택한 경우 버튼에는 Compare 3 models in the Playground가 표시됩니다). Compare 뷰가 열립니다.
이제 플레이그라운드에서 모델을 비교하고, 플레이그라운드에서 모델 사용해 보기에 설명된 기능을 사용할 수 있습니다.
Playground에서 비교할 여러 모델 선택

Playground 탭에서 Compare 뷰 열기

  1. 왼쪽 사이드바에서 Playground를 선택합니다. Playground 채팅 UI가 표시됩니다.
  2. LLM 드롭다운 목록에서 W&B Inference에 마우스를 올립니다. 오른쪽에 사용 가능한 W&B Inference 모델이 포함된 드롭다운이 표시됩니다.
  3. 드롭다운에서 Compare를 선택합니다. Inference 탭이 표시됩니다.
  4. 비교할 모델을 선택하려면 모델 카드의 아무 곳이나 클릭합니다(모델 이름 제외). 선택되면 모델 카드 테두리가 파란색으로 강조 표시됩니다.
  5. 비교하려는 각 모델에 대해 step 4를 반복합니다.
  6. 선택한 카드 중 아무 카드에서나 Compare N models in the Playground 버튼을 클릭합니다(N은 비교 중인 모델 수입니다. 예를 들어 모델 3개를 선택한 경우 버튼은 Compare 3 models in the Playground로 표시됩니다). 비교 뷰가 열립니다.
이제 Playground에서 모델을 비교하고, 플레이그라운드에서 모델 사용해 보기에 설명된 특성을 사용할 수 있습니다.

결제 및 사용 정보 보기

조직 관리자는 W&B UI에서 현재 Inference 크레딧 잔액, 사용 이력, 예정된 결제 정보(해당하는 경우)를 직접 확인할 수 있습니다.
  1. W&B UI에서 W&B Billing 페이지로 이동합니다.
  2. 오른쪽 하단에 Inference 결제 정보 카드가 표시됩니다. 여기에서 다음 작업을 수행할 수 있습니다.
  • Inference 결제 정보 카드에서 View usage 버튼을 클릭해 시간에 따른 사용량을 확인합니다.
  • 유료 플랜을 사용 중인 경우 예정된 Inference 요금을 확인합니다.

사용 정보 및 제한 사항

다음 섹션에서는 중요한 사용 정보와 제한 사항을 설명합니다. 서비스를 사용하기 전에 이 내용을 숙지하세요.

지리적 제한

Inference 서비스는 지원되는 지역에서만 이용할 수 있습니다. 자세한 내용은 서비스 약관을 참조하세요.

동시성 제한

공정한 사용과 안정적인 성능을 보장하기 위해 W&B Inference API는 사용자 및 프로젝트 수준에서 요청 속도 제한을 적용합니다. 이러한 제한은 다음과 같은 데 도움이 됩니다.
  • 오용을 방지하고 API 안정성을 보호
  • 모든 사용자가 액세스할 수 있도록 보장
  • 인프라 부하를 효과적으로 관리
요청 속도 제한을 초과하면 API는 429 Concurrency limit reached for requests 응답을 반환합니다. 이 오류를 해결하려면 동시에 전송하는 요청 수를 줄이세요.

가격

모델 가격 정보는 https://wandb.ai/site/pricing/inference에서 확인하세요.

API 오류

Error CodeMessageCauseSolution
401유효하지 않은 인증인증 자격 증명이 유효하지 않거나 W&B 프로젝트 entity 및/또는 이름이 올바르지 않습니다.올바른 API 키를 사용 중인지, 그리고 W&B 프로젝트 이름과 entity가 올바른지 확인하세요.
403국가, 지역 또는 영토가 지원되지 않음지원되지 않는 위치에서 API에 액세스하고 있습니다.지리적 제한을 참조하세요
429요청의 동시성 한도에 도달함동시 요청이 너무 많습니다.동시 요청 수를 줄이세요.
429현재 할당량을 초과했습니다. 플랜 및 청구 Details를 확인하세요크레딧이 부족하거나 월간 지출 한도에 도달했습니다.크레딧을 추가로 구매하거나 한도를 늘리세요.
500요청을 처리하는 동안 서버에서 오류가 발생했습니다내부 서버 오류입니다.잠시 기다린 후 다시 시도하고, 문제가 지속되면 지원팀에 문의하세요.
503현재 엔진에 과부하가 걸려 있습니다. 나중에 다시 시도해 주세요서버에 트래픽이 몰리고 있습니다.잠시 후 요청을 다시 시도하세요.