Model Fusion
1つのプロンプトを複数のモデルへ同時に送り、必要に応じて1つの回答へ統合します。
POST/v1/fusion
Model Fusion は PleumRouter 独自のエンドポイントです。OpenAI や Anthropic の SDK 形式ではないため、 /v1/fusion を直接呼び出してください。1つのプロンプトを 2〜4 個のモデルへ 並列にファンアウトし、fuse が true の場合は成功した 回答を1つの統合回答に合成します。認証は plm_ キーを Bearer トークンとして 渡します。
リクエストボディ#
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
| models | string[] | 必須 | 2〜4 個のモデル ID の配列。重複は除去され、異なるモデルが 2 個未満の場合は 400 を返します。 |
| messages | array | 必須 | チャットと同じ {role, content} 配列。マルチモーダル入力にも対応します。 |
| temperature | number | 任意 | デフォルト値 0.7。 |
| max_tokens | integer | 任意 | デフォルト値 2048。 |
| fuse | boolean | 任意 | true で 2 個以上のソースが成功した場合、統合回答を合成します。デフォルト値 true。 |
| fuse_model | string | null | 任意 | 合成に使用するモデル ID。デフォルト値は null で、その場合は最初に成功したソースのモデルを使用します。 |
request
curl https://apirouter.pleum.ai/v1/fusion \
-H "Authorization: Bearer $PLEUM_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"models": ["gpt-4o", "claude-sonnet-4-6"],
"messages": [
{"role": "user", "content": "Explain the CAP theorem in one paragraph."}
],
"temperature": 0.7,
"max_tokens": 2048,
"fuse": true
}'HTTP (Python)
import requests
resp = requests.post(
"https://apirouter.pleum.ai/v1/fusion",
headers={
"Authorization": "Bearer plm_...",
"Content-Type": "application/json",
},
json={
"models": ["gpt-4o", "claude-sonnet-4-6"],
"messages": [{"role": "user", "content": "Explain the CAP theorem in one paragraph."}],
"temperature": 0.7,
"max_tokens": 2048,
"fuse": True,
},
)
print(resp.json()["text"])HTTP (TypeScript)
const res = await fetch("https://apirouter.pleum.ai/v1/fusion", {
method: "POST",
headers: {
Authorization: "Bearer plm_...",
"Content-Type": "application/json",
},
body: JSON.stringify({
models: ["gpt-4o", "claude-sonnet-4-6"],
messages: [{ role: "user", content: "Explain the CAP theorem in one paragraph." }],
temperature: 0.7,
max_tokens: 2048,
fuse: true,
}),
});
const data = await res.json();
console.log(data.text);レスポンス#
sources には各モデルの結果(model、 provider、text、 cost_krw、latency_ms、 error)が入ります。合成が実行されると fused_text と 合成に使われたモデル(fused_by)が返され、 total_cost_krw はすべてのソース呼び出しと合成ステップの費用の合計です。
200 OK
{
"sources": [
{
"model": "gpt-4o",
"provider": "openai",
"text": "The CAP theorem states that a distributed system...",
"cost_krw": 3,
"latency_ms": 912,
"error": null
},
{
"model": "claude-sonnet-4-6",
"provider": "anthropic",
"text": "In any distributed data store, you can guarantee...",
"cost_krw": 4,
"latency_ms": 1180,
"error": null
}
],
"fused_text": "The CAP theorem says a distributed system can provide at most two of consistency, availability, and partition tolerance...",
"fused_by": "gpt-4o",
"total_cost_krw": 9
}各ソース呼び出しが実際のクレジットを消費し、合成(fuse)ステップでもさらに別途消費します —
total_cost_krw はそれらの合計です。一部の失敗は分離され、失敗したソースは error がセットされた状態で返り、呼び出し全体はそのまま 200 を返します。合成は fuse が true で、かつ 2 個以上のソースが成功した場合にのみ実行されます。