エージェントとアプリ開発
OpenAI 互換 API でエージェントを構築
エージェントの各ステップは 1 回の呼び出しで、モデルはツール呼び出し、ストリーム、JSON を安定して返す必要があります。EasyAPI はリクエストを書き換えずにこれらをそのまま通します。base_url を変えればコードはそのまま動きます。
現在利用できるおすすめモデル
エージェント向けに選定:安定したツール呼び出し、構造化出力、多ターンを保持できるコンテキスト。多段ループの費用はステップ数に比例するので、安価なモデルでフローを通してから強いモデルに上げて差を見てください。
価格はプラットフォーム価格(100 万トークンあたり)、実使用量で課金。一覧は価格 API に連動し、提供終了モデルはここに出ません。モデルを選ぶと下の設定と費用がそれに合わせて更新されます。
正確な設定
API アドレスと選択中のモデル qwen3.8-max は入力済みです。キーをご自身のものに置き換えてください。
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)まず 1 リクエストを通す
キーを差し替えてそのまま実行。200 が返ればアドレス・キー・モデルの 3 つが正しいです。エラーは下の一覧と照合してください。
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 回:
課金は実際に使ったトークン分のみ。プラットフォーム料、ルーティング料、月額最低料金はありません。実使用量はコンソールのログでリクエストごとに確認できます。
今すぐ接続
登録後、コンソールのホームにオンボーディングガイドが表示され、キーとモデルに合わせてコピーできる設定を生成します。最初の呼び出しが成功するまで表示されます。
その他のソリューション: Claude Code・Cursor・Codex を API に接続 · Dify・n8n・FastGPT でモデルを使う