
EvoLink Smart Router の使い方:API 設定と本番テスト
https://direct.evolink.ai/v1/chat/completions に OpenAI 互換の Chat Completions リクエストを送り、model を evolink/auto に設定します。response.model に返るため、ルーティングをブラックボックスにせず観測できます。クイックリファレンス
| 設定 | 値 | 役割 |
|---|---|---|
| Endpoint | https://direct.evolink.ai/v1/chat/completions | OpenAI 互換 Chat Completions |
| 認証 | Authorization: Bearer $EVOLINK_API_KEY | API Key でリクエストを認証 |
| Model ID | evolink/auto | Smart Router を有効化 |
| リクエスト形式 | OpenAI 互換の messages 配列 | 一般的な SDK パターンを維持 |
| ルーティング先 | response.model | 実際に処理したモデルを表示 |
| 現在の対象 | テキスト・Agent ワークフロー | 画像・動画は明示的な Model ID を使用 |
1. API Key を準備する
export EVOLINK_API_KEY="your-api-key"PowerShell の場合:
$env:EVOLINK_API_KEY="your-api-key"開発、ステージング、本番で Key を分けると、利用状況の確認とローテーションを個別に行えます。
2. 最初のリクエストを送る
curl --request POST \
--url https://direct.evolink.ai/v1/chat/completions \
--header "Authorization: Bearer $EVOLINK_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "evolink/auto",
"messages": [
{
"role": "user",
"content": "この問い合わせを請求、技術問題、アカウントアクセスのいずれかに分類してください:パスワードをリセットした後、ログインできません。"
}
],
"temperature": 0.2,
"stream": false
}'model フィールドです。{
"id": "chatcmpl-example",
"object": "chat.completion",
"model": "actual-routed-model",
"choices": [
{
"message": {
"role": "assistant",
"content": "アカウントアクセス"
},
"finish_reason": "stop"
}
],
"usage": {
"prompt_tokens": 26,
"completion_tokens": 4,
"total_tokens": 30
}
}actual-routed-model は説明用です。必ず実際のレスポンスに含まれる値を確認してください。3. Python から利用する
import os
import time
from openai import OpenAI
client = OpenAI(
api_key=os.environ["EVOLINK_API_KEY"],
base_url="https://direct.evolink.ai/v1",
)
started_at = time.perf_counter()
response = client.chat.completions.create(
model="evolink/auto",
messages=[
{
"role": "user",
"content": "このインシデントレポートを要約し、次に行うべきエンジニアリング対応を2つ挙げてください。",
}
],
temperature=0.2,
)
print("routed_model:", response.model)
print("latency_ms:", round((time.perf_counter() - started_at) * 1000))
print("usage:", response.usage)
print("output:", response.choices[0].message.content)baseURL を https://direct.evolink.ai/v1、model を evolink/auto に設定します。Smart Router のルーティングフロー
- アプリケーションが
evolink/autoを指定した OpenAI 互換リクエストを送信します。 - ルーターがタスクの種類と複雑さを評価します。
- Fast、Standard、Reasoning などのプロファイルに割り当てます。
- 適した候補モデルがリクエストを処理します。
- 選択されたモデルが
response.modelに返ります。
| プロファイル | 主な用途 | タスク例 |
|---|---|---|
| Fast | 単純で大量のテキスト処理 | 書き換え、分類、整形 |
| Standard | 一般的なテキスト処理 | 要約、抽出、サポート分析 |
| Reasoning | 複雑な分析と計画 | 多段階分析、意思決定支援 |
| Coding / Agentic Coding | 対応する Coding ワークフロー | コードレビュー、デバッグ、リファクタリング計画 |
プロファイルはタスク分類であり、固定された公開モデル一覧ではありません。
Smart Router と固定モデルの使い分け
| ワークロード | Smart Router | 固定モデル |
|---|---|---|
| 分類、抽出、推論が混在 | 評価開始点として適する | 選択ロジックを自前で管理 |
| 製品開発の初期段階 | 実データ収集に有用 | Baseline 確立後に有用 |
| 厳密な Benchmark | モデルが変わるため不向き | 正しい選択 |
| 決定論的 QA・承認フロー | 慎重な制御が必要 | 通常はこちらが安全 |
| モデル固有機能 | 保証できない | 必須 |
| 画像・動画生成 | 現在の対象外 | Media Model ID を明示 |
混在テキストにはルーティング、評価済み・制御対象の処理には固定モデルという併用が現実的です。
記録すべき項目
| 項目 | 理由 |
|---|---|
| Feature / Workflow 名 | 異なるトラフィックを分離 |
| Request ID | アプリログと API 調査を接続 |
response.model | ルーティング先を特定 |
| レイテンシ | 応答時間目標を確認 |
| Input / Output token | 使用量とコスト分析に利用 |
| HTTP Status / Retry 回数 | 信頼性問題を可視化 |
| 品質結果 | タスク固有の Eval を記録 |
機密情報を含む Prompt や Response は、自社のプライバシー・保持ルールに反して保存しないでください。
本番導入前のテスト
- 通常、曖昧、異常入力を含む代表的なテストセットを作ります。
- 現在利用している固定モデルを Baseline にします。
- 同じ Input と Parameter を
evolink/autoで実行します。 - 品質、レイテンシ、token、エラー、ルーティング先を Workflow 単位で比較します。
- 低リスクトラフィックから開始し、厳密な QA には固定モデルを残します。
平均値だけで判断せず、タスクの種類と失敗時の影響ごとに確認してください。
よくある API エラー
| Status | 意味 | 対応 |
|---|---|---|
400 | Parameter が不正 | JSON、Model ID、型を確認 |
401 | API Key が無効・期限切れ | Bearer token を確認・更新 |
402 | Quota 不足 | Credit と Billing を確認 |
403 | Feature へのアクセス不可 | Smart Router の利用権限を確認 |
429 | Rate Limit | 上限付き Retry、Backoff、Jitter を使用 |
500 / 502 / 503 | 内部・Upstream エラー | Backoff 付きで再試行し Fallback を用意 |
明示的な Timeout を設定し、無制限 Retry は避けてください。
導入時によくある間違い
- 常に最安モデルが選ばれると仮定する
- 同じ Prompt は常に同じモデルになると考える
- 画像・動画生成を
evolink/autoに送る response.modelを記録しない- 候補モデル一覧を固定情報として公開する
FAQ
どの Endpoint を使いますか?
POST https://direct.evolink.ai/v1/chat/completions を使用します。Smart Router の Model ID は何ですか?
model に evolink/auto を設定します。どのモデルが処理したか確認できますか?
model フィールドを確認し、レイテンシ、token、Workflow 情報と一緒に記録します。Smart Router は常に安くなりますか?
いいえ。実コストはリクエスト、選択モデル、出力長、Retry、品質要件によって変わります。
同じ Prompt なら同じモデルになりますか?
その前提には依存しないでください。モデルの固定や再現可能なテストが必要なら明示的な Model ID を使います。
画像・動画にも使えますか?
現在の対象は対応するテキスト・Agent リクエストです。Media 生成には明示的な Model ID を使います。
Streaming は使えますか?
stream があります。本番契約に組み込む前に自分の Account と Client で挙動を確認してください。固定モデルへ切り替えるタイミングは?
Workflow の最適モデルが検証済み、モデル固有機能が必要、または厳密な Regression Test・承認が必要な場合です。
次のステップ
evolink/auto と固定モデルの両方で実行し、品質、レイテンシ、token、エラー、返されたモデルを比較してください。

