エージェントとアプリ開発

OpenAI 互換 API でエージェントを構築

エージェントの各ステップは 1 回の呼び出しで、モデルはツール呼び出し、ストリーム、JSON を安定して返す必要があります。EasyAPI はリクエストを書き換えずにこれらをそのまま通します。base_url を変えればコードはそのまま動きます。

現在利用できるおすすめモデル

エージェント向けに選定:安定したツール呼び出し、構造化出力、多ターンを保持できるコンテキスト。多段ループの費用はステップ数に比例するので、安価なモデルでフローを通してから強いモデルに上げて差を見てください。

価格はプラットフォーム価格(100 万トークンあたり)、実使用量で課金。一覧は価格 API に連動し、提供終了モデルはここに出ません。モデルを選ぶと下の設定と費用がそれに合わせて更新されます。

正確な設定

API アドレスと選択中のモデル qwen3.8-max は入力済みです。キーをご自身のものに置き換えてください。

python
from openai import OpenAI

client = OpenAI(base_url="https://token.easyapi.com/v1", api_key="sk-your-key")

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get current weather for a city",
        "parameters": {"type": "object", "properties": {"city": {"type": "string"}}, "required": ["city"]},
    },
}]

resp = client.chat.completions.create(
    model="qwen3.8-max",
    messages=[{"role": "user", "content": "What is the weather in Shanghai today?"}],
    tools=tools,
    tool_choice="auto",
)
call = resp.choices[0].message.tool_calls[0]
print(call.function.name, call.function.arguments)

OpenAI SDK · Python の完全な接続ガイド →

まず 1 リクエストを通す

キーを差し替えてそのまま実行。200 が返ればアドレス・キー・モデルの 3 つが正しいです。エラーは下の一覧と照合してください。

curl
curl https://token.easyapi.com/v1/chat/completions \
  -H "Authorization: Bearer sk-your-key" \
  -H "Content-Type: application/json" \
  -d '{"model":"qwen3.8-max","messages":[{"role":"user","content":"Hello"}]}'

知っておくこと

  • tools、tool_choice、stream、response_format は上流にそのまま渡されます。対応状況はモデルによって異なり、各モデル詳細ページのパラメータ表に有効なものが書かれています。
  • 多ターンのエージェントは messages が積み上がります。コンテキストウィンドウはハード上限で、超えたリクエストは切り詰められずに失敗します。
  • 1 つのキーで高い並列度にすると 429 に注意。プラットフォームのレート制限も残高切れも 429 を返し、メッセージにどちらかが書かれます。
  • models フォールバック列と provider.sort で、リクエスト内に予備モデルとルーティング設定を宣言でき、上流障害時に自動で切り替わります。API ドキュメント参照。

よくあるエラー

tool_calls が空で、モデルが文章で答えた
多くはモデルがツール呼び出し非対応か、tool_choice 未設定です。おすすめ一覧のモデルを選び、tool_choice を auto か特定の関数にしてください。
ストリーミングで delta が届かない
stream が true でクライアントがバッファしていないか確認。curl に -N を付けると生の SSE が見え、すぐ原因が分かります。
返ってきた JSON がパースできない
response_format に json_object か json_schema を指定し、システムプロンプトで「JSON のみ出力」と指示してください。response_format のないモデルはプロンプト頼みで保証されません。
429 Too Many Requests
メッセージを読んでください。insufficient quota はチャージが必要、rate limit は並列過多なので速度を落とすかキーを分散してください。

費用の例

qwen3.8-max の現在価格で、典型的な 1 リクエスト(入力 6,000 + 出力 800 トークン)を 1 日 2,000 回:

1 リクエスト¥0.0753
1 日¥150.52
1 か月(30 日)¥4515.74

課金は実際に使ったトークン分のみ。プラットフォーム料、ルーティング料、月額最低料金はありません。実使用量はコンソールのログでリクエストごとに確認できます。

今すぐ接続

登録後、コンソールのホームにオンボーディングガイドが表示され、キーとモデルに合わせてコピーできる設定を生成します。最初の呼び出しが成功するまで表示されます。

その他のソリューション: Claude Code・Cursor・Codex を API に接続 · Dify・n8n・FastGPT でモデルを使う