Skip to content

モデル・アリーナ

1つのプロンプトを N 個のモデルに同時に送り、レスポンスを並べて比較し、ベストを選んで勝率リーダーボードを構築します。プロバイダー非依存で、OpenAI、Anthropic、Ollama、vLLM、Gemini を1つの画面で比較できます。無料でセルフホストできます。

モデル・アリーナは、1つのプロンプトを複数のモデルに同時に送り、レスポンスを並べて比較してベストを選ばせ、勝率リーダーボードを構築します。 プロバイダー非依存です。すべてのモデルは Potato のエンドポイント・ファクトリを通じて構築されるため、OpenAI、Anthropic、Ollama、vLLM、Gemini、OpenRouter を同じ画面で比較できます。

有効化

yaml
arena:
  enabled: true
  models:
    - {label: "GPT-4o",  endpoint_type: openai,    model: gpt-4o}
    - {label: "Claude",  endpoint_type: anthropic, model: claude-sonnet-4-6}
    - {label: "Llama",   endpoint_type: ollama,    model: llama3.2, base_url: http://localhost:11434}

各エントリはエンドポイント設定(endpoint_typemodelbase_urltemperature、キーやパラメータ用の任意の ai_config)に対応します。有効化すると、管理ダッシュボードに Arena リンクが表示されます。

動作の仕組み

  1. プロンプトを入力すると、すべてのモデルに並行して送られます。1つのモデルの失敗(不正なキー、プロバイダーの障害)が他のモデルをブロックすることはなく、そのカードにエラーが表示されます。
  2. レスポンスはモデルごとのレイテンシとともに並べて表示されます。
  3. Pick as best をクリックすると選好が記録され、リーダーボード(モデルごとの勝利数、比較数、勝率)が更新されます。

API

メソッドパス目的
POST/admin/arena/api/run{prompt} → モデルごとのレスポンス
POST/admin/arena/api/preference{prompt, winner, ranking?} → 選択を記録する
GET/admin/arena/api/leaderboardモデルごとの勝率
bash
curl -X POST localhost:8000/admin/arena/api/run -H "X-API-Key: <key>" \
  -H "Content-Type: application/json" -d '{"prompt": "Explain RLHF in one sentence."}'

関連項目