リクエストの内容・複雑度に基づいてLLMモデルを動的に選択するインテリジェントルーティングサービス。コスト削減と品質維持を両立するために、タスクごとに最適なモデルへ自動振り分けを行う。
Martian Model Routerは、LLMへのリクエストを内容に応じて最適なモデルへ自動振り分けするインテリジェントルーティングサービスです。全リクエストをGPT-4oのような高性能モデルに送るのではなく、タスクの複雑度を判定して簡単なものは低コストモデル(GPT-4o-mini、Claude 3 Haiku等)に、難しいものは高性能モデルに振り分けることで、品質維持とコスト削減を両立します。
Martianのルーティングエンジンは、リクエストを受信した時点で以下の判定を行います。
| タスク複雑度 | 選択されるモデル例 | 入力コスト(/1M tokens) | 品質維持率 |
|---|---|---|---|
| 低(定型応答・分類) | GPT-4o-mini / Haiku | $0.15〜$0.25 | 98% |
| 中(要約・一般QA) | Claude 3.5 Haiku / GPT-4o-mini | $0.25〜$1.00 | 96% |
| 高(多段推論・コード) | GPT-4o / Claude 3.5 Sonnet | $2.50〜$3.00 | 99% |
| 最高(専門分析・長文) | GPT-4o / Claude 3 Opus | $2.50〜$15.00 | 100%(フォールバック) |
Martian公式のベンチマークによると、一般的なプロダクションワークロードで以下の削減効果が報告されています。
削減率はワークロードの複雑度分布に依存します。リクエストの70%以上が簡単なタスクの場合に最も効果が高くなります。
OpenAI互換APIとして提供されるため、既存コードの変更は最小限です。
from openai import OpenAI
client = OpenAI(
base_url="https://withmartian.com/api/v1",
api_key="martian-api-key"
)
response = client.chat.completions.create(
model="router-default",
messages=[{"role": "user", "content": "Pythonでクイックソートを実装して"}],
extra_body={
"max_cost_per_million_tokens": 5.0,
"min_quality_score": 0.9
}
)
max_cost_per_million_tokens でコスト上限を、min_quality_score で品質下限を指定でき、この制約範囲内で最適なモデルが選択されます。
従来のルーティング手法と Martian の動的ルーティングの比較です。
| ルーティング方式 | 判定基準 | 精度 | 運用コスト |
|---|---|---|---|
| 静的ルール | プロンプト長・キーワード | 低 | ルール保守が必要 |
| A/Bテスト | ランダム分割 | 中 | 全モデルにトラフィック必要 |
| Martian動的 | ML分類器+品質フィードバック | 高 | 自動学習 |
| Semantic Router | 埋め込み類似度 | 中〜高 | ルート定義が必要 |
Q1: ルーティング判定自体のレイテンシはどの程度ですか? A: ルーティング判定は通常10〜30ms程度で完了します。LLMの推論時間(数百ms〜数秒)と比較して無視できるレベルであり、エンドユーザー体験への影響はほぼありません。
Q2: 特定のモデルを使わないように制限できますか? A: はい、ダッシュボードまたはAPIパラメータで使用可能モデルのホワイトリスト/ブラックリストを設定できます。コンプライアンス要件で特定プロバイダを除外する場合などに利用します。
Q3: ルーティングの判定結果をログで確認できますか? A: はい、各リクエストの判定ログ(選択モデル・複雑度スコア・コスト・レイテンシ)がダッシュボードとAPI経由で参照可能です。ルーティング精度の検証やコスト分析に活用できます。