Skip to main content

W&B Inference

W&B Inference は、W&B Weave および OpenAI 互換の API を通じて、主要なオープンソースの基盤モデルへのアクセスを提供します。W&B Inference を使用すると、以下のことが可能になります:
  • ホスティングプロバイダーへの登録やモデルのセルフホストを行うことなく、AI アプリケーションやエージェントを開発できます。
  • W&B Weave Playground でサポートされているモデルを試用できます。
W&B Inference クレジットは、Free、Pro、および Academic プランに期間限定で含まれています。Enterprise プランでの利用可能性は異なる場合があります。クレジットが消費された後は以下のようになります:
  • Free アカウントが Inference の利用を継続するには、Pro プランにアップグレードする必要があります。
  • Pro プランのユーザーには、モデルごとの価格に基づき、Inference の超過分が月単位で請求されます。
詳細については、価格ページ および W&B Inference モデルコスト を参照してください。
Weave を使用することで、W&B Inference を活用したアプリケーションの トレース、評価、監視、および反復的な改善が可能になります。
モデルモデル ID (API 利用時)タイプコンテキストウィンドウパラメータ説明
DeepSeek R1-0528deepseek-ai/DeepSeek-R1-0528テキスト161K37B - 680B (Active - Total)複雑なコーディング、数学、構造化文書の分析など、精密な推論タスクに最適化されています。
DeepSeek V3-0324deepseek-ai/DeepSeek-V3-0324テキスト161K37B - 680B (Active - Total)高度な言語処理と包括的な文書分析向けに調整された、堅牢な Mixture-of-Experts モデルです。
Llama 3.1 8Bmeta-llama/Llama-3.1-8B-Instructテキスト128K8B (Total)応答性の高い多言語チャットボットとの対話に最適化された、効率的な対話型モデルです。
Llama 3.3 70Bmeta-llama/Llama-3.3-70B-Instructテキスト128K70B (Total)対話タスク、詳細な指示への追従、コーディングに優れた多言語モデルです。
Llama 4 Scoutmeta-llama/Llama-4-Scout-17B-16E-Instructテキスト, ビジョン64K17B - 109B (Active - Total)テキストと画像の理解を統合したマルチモーダルモデルで、視覚的なタスクや複合的な分析に理想的です。
Phi 4 Minimicrosoft/Phi-4-mini-instructテキスト128K3.8B (Active - Total)リソース制約のある環境での高速なレスポンスに適した、コンパクトで効率的なモデルです。
このガイドでは、以下の情報を提供します:

前提条件

API または W&B Weave UI を通じて W&B Inference サービスにアクセスするには、以下の前提条件が必要です。
  1. W&B アカウント。登録は こちら から。
  2. W&B APIキー。ユーザー設定 (User Settings) で APIキー を作成してください。
  3. W&B Projects。
  4. Python 経由で Inference サービスを使用する場合は、Python 経由で API を使用するための追加の前提条件 を参照してください。

Python 経由で API を使用するための追加の前提条件

Python 経由で Inference API を使用するには、まず一般的な前提条件を完了させてください。次に、ローカル環境に openaiweave ライブラリをインストールします。
pip install openai weave
weave ライブラリは、LLM アプリケーションをトレースするために Weave を使用する場合にのみ必要です。Weave の使い始めについては、Weave クイックスタート を参照してください。W&B Inference サービスを Weave と共に使用する方法を示す使用例については、API 使用例 を参照してください。

API 仕様

このセクションでは、API の仕様情報と API の使用例を提供します。

エンドポイント

Inference サービスには、以下のエンドポイントからアクセスできます。
https://api.inference.wandb.ai/v1
このエンドポイントにアクセスするには、Inference サービスのクレジットが割り当てられた W&B アカウント、有効な W&B APIキー、および W&B Entities (「チーム」とも呼ばれます) と Projects が必要です。このガイドのコードサンプルでは、Entities (チーム) と プロジェクトは <your-team>\<your-project> と表記されています。

利用可能なメソッド

Inference サービスは、以下の API メソッドをサポートしています。

Chat completions

利用可能な主要な API メソッドは /chat/completions で、サポートされているモデルにメッセージを送信して補完を受け取るための OpenAI 互換のリクエスト形式をサポートしています。W&B Inference サービスを Weave と共に使用する方法を示す使用例については、API 使用例 を参照してください。 Chat completion を作成するには、以下が必要です。
  • Inference サービスのベース URL https://api.inference.wandb.ai/v1
  • あなたの W&B APIキー <your-api-key>
  • あなたの W&B Entities 名と Projects 名 <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>" \

使用例

このセクションでは、W&B Inference を Weave と共に使用する方法を示すいくつかの例を紹介します。

基本例: Weave で Llama 3.1 8B をトレースする

以下の Python コードサンプルは、W&B Inference API を使用して Llama 3.1 8B モデルにプロンプトを送信し、Weave でその呼び出しを トレース する方法を示しています。トレース を使用すると、LLM 呼び出しの完全な入出力をキャプチャし、パフォーマンスを監視し、Weave UI で結果を分析できます。
Weave でのトレース について詳しくはこちら。
この例では:
  • OpenAI 互換クライアントを使用して chat completion リクエストを行う、@weave.op() デコレータが付いた関数 run_chat を定義します。
  • トレース は記録され、あなたの W&B Entities および Projects project="<your-team>/<your-project> に関連付けられます。
  • 関数は Weave によって自動的にトレースされるため、その入力、出力、レイテンシ、およびメタデータ(モデル ID など)が ログ されます。
  • 結果は ターミナル に出力され、指定されたプロジェクトの下の https://wandb.ai にある Traces タブに トレース が表示されます。
この例を使用するには、一般的な前提条件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 でモデル呼び出しをトレースする
@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

# トレースされた呼び出しを実行してログを記録
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 トレース を表示します。
次に、高度な例 を試してみてください。
トレースの表示

高度な例: 推論サービスで Weave Evaluations と Leaderboards を使用する

Inference サービスで Weave を使用して モデル呼び出しをトレースする ことに加えて、パフォーマンスを評価 (evaluate) しリーダーボードを公開する こともできます。以下の Python コードサンプルでは、シンプルな Q&A データセットで 2 つのモデルを比較します。 この例を使用するには、一般的な前提条件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 の 2 つの異なる場所から 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 モデルドロップダウン

Playground でモデルを試す

アクセスオプションのいずれかを使用してモデルを選択したら、Playground でモデルを試すことができます。以下の操作が可能です。
Playground で Inference モデルを使用する

複数のモデルを比較する

Playground では、複数の Inference モデルを比較できます。比較ビューには 2 つの異なる場所からアクセスできます。

Inference タブから比較ビューにアクセスする

  1. 左側のサイドバーから Inference を選択します。利用可能なモデルとモデル情報のページが表示されます。
  2. 比較するモデルを選択するには、モデルカードの任意の場所(モデル名以外)をクリックします。選択されたことを示すために、モデルカードの境界線が青色で強調表示されます。
  3. 比較したい各モデルについて、ステップ 2 を繰り返します。
  4. 選択されたいずれかのカードで、Compare N models in the Playground ボタン(N は比較するモデルの数。例:3 つのモデルが選択されている場合、ボタンは Compare 3 models in the Playground と表示されます)をクリックします。比較ビューが開きます。
これで、Playground でモデルを比較し、Playground でモデルを試す で説明されている機能を使用できるようになります。
Playground で比較する複数のモデルを選択する

Playground タブから比較ビューにアクセスする

  1. 左側のサイドバーから Playground を選択します。Playground のチャット UI が表示されます。
  2. LLM のドロップダウンリストから W&B Inference にマウスを合わせます。利用可能な W&B Inference モデルのドロップダウンが右側に表示されます。
  3. ドロップダウンから Compare を選択します。Inference タブが表示されます。
  4. 比較するモデルを選択するには、モデルカードの任意の場所(モデル名以外)をクリックします。モデルカードの境界線が青色で強調表示されます。
  5. 比較したい各モデルについて、ステップ 4 を繰り返します。
  6. 選択されたいずれかのカードで、Compare N models in the Playground ボタンをクリックします。比較ビューが開きます。
これで、Playground でモデルを比較し、Playground でモデルを試す で説明されている機能を使用できるようになります。

請求および使用状況情報の確認

Organization 管理者は、現在の Inference クレジット残高、使用履歴、および今後の請求(該当する場合)を W&B UI から直接確認できます。
  1. W&B UI で、W&B Billing ページに移動します。
  2. 右下隅に Inference の請求情報カードが表示されます。ここから以下の操作が可能です。
  • Inference 請求情報カードの View usage ボタンをクリックして、時間の経過に伴う使用状況を確認します。
  • 有料プランを利用している場合は、今後の推論料金を確認します。

使用上の情報と制限

以下のセクションでは、重要な使用上の情報と制限について説明します。サービスを使用する前に、これらの情報を確認してください。

地理的制限

Inference サービスは、サポートされている地理的場所からのみアクセス可能です。詳細については、サービス利用規約 を参照してください。

同時実行制限

公正な利用と安定したパフォーマンスを確保するため、W&B Inference API はユーザーおよびプロジェクトレベルでレート制限を適用しています。これらの制限は以下のことに役立ちます。
  • 誤用を防ぎ、API の安定性を保護する
  • すべてのユーザーがアクセスできるようにする
  • インフラストラクチャの負荷を効果的に管理する
レート制限を超えると、API は 429 Concurrency limit reached for requests レスポンスを返します。このエラーを解決するには、同時リクエストの数を減らしてください。

価格

モデルの価格情報については、https://wandb.ai/site/pricing/inference をご覧ください。

API エラー

エラーコードメッセージ原因解決策
401Invalid Authentication認証資格情報が無効であるか、W&B プロジェクトの Entities または名前が正しくありません。正しい APIキー が使用されているか、および/または W&B プロジェクト名と Entities が正しいことを確認してください。
403Country, region, or territory not supportedサポートされていない場所から API にアクセスしています。地理的制限 を参照してください。
429Concurrency limit reached for requests同時リクエスト数が多すぎます。同時リクエストの数を減らしてください。
429You exceeded your current quota, please check your plan and billing detailsクレジットが不足しているか、月間の支出上限に達しました。クレジットをさらに購入するか、制限を引き上げてください。
500The server had an error while processing your requestサーバー内部エラー。少し待ってから再試行し、問題が解決しない場合はサポートにお問い合わせください。
503The engine is currently overloaded, please try again laterサーバーが高トラフィックを経験しています。少し時間を置いてからリクエストを再試行してください。