AlibabaのQwenチームは、2026年5月中旬にQwen3.7-Max-Previewを出荷しました。開発者がまず知りたいのは「自分のコードからどう呼び出すか」です。このモデルは、100万トークンのコンテキストウィンドウと明示的な思考連鎖トレースを備えた旗艦推論システムで、エージェントのバックエンド、長文ドキュメント分析、コード生成に向いています。ただし「Preview」であるため、アクセスは制限され、APIインターフェースやモデルIDは変更される可能性があります。
TL;DR
Qwen3.7-Max-Previewは、2026年5月14日にプレビュー公開されたAlibabaの旗艦推論モデルです。100万トークンのコンテキストウィンドウを備えています。
現時点で最も確実に試す方法は、Qwen Chat (chat.qwen.ai) です。本番統合では、Alibaba Cloud Model Studio(DashScope)のOpenAI互換エンドポイントを使います。
実装の流れは次の通りです。
- Alibaba Cloud Model StudioでAPIキーを発行する
- DashScopeのリージョン別ベースURLを設定する
-
Authorization: Bearer <API_KEY>で認証する -
/chat/completionsを呼び出す - モデルIDは公式ドキュメントで確認する
3.7ティアはプレビュー専用のため、利用前に公式ドキュメントで正確なモデルIDとエンドポイントを確認してください。利用可能性が安定するまでは、Apidogでエンドポイントをテスト・モックしておくと開発を止めずに進められます。
Qwen 3.7への現在のアクセス方法
Qwenモデルは複数のサービスから提供されていますが、すべてのモデルが同時に利用可能になるわけではありません。2026年5月下旬時点でのアクセス状況は次の通りです。
Qwen Chat
chat.qwen.ai は、Qwen3.7-Max-Previewを最速で試す方法です。
手順は次の通りです。
- 無料のQwenアカウントでサインインする
- モデルセレクターで
qwen3.7-max-previewを選択する - 推論トレースを確認したい場合は「Thinking Mode」をオンにする
プレビュー期間中は利用制限がありますが、費用はかからず、セットアップも不要です。ただしこれはブラウザ製品であり、APIではありません。統合ではなく、プロンプト評価やモデル挙動の確認に使います。
Alibaba Cloud Model Studio(DashScope)
本番環境からQwenを呼び出す場合は、Alibaba Cloud Model Studio(DashScope)を使います。
Model StudioはOpenAI互換エンドポイントを提供しているため、OpenAI SDKを使っている既存コードであれば、主に次の2点を差し替えるだけです。
base_url- APIキー
qwen3.6-max-preview や qwen-max ファミリーなどの既存ティアはすでにModel Studioで利用できます。ただし、この記事を読んでいる時点では、3.7プレビュー階層のパブリックAPIエントリーはまだ利用できない可能性があります。Qwenは過去にも、チャットプレビューの数週間後にAPIアクセスを開始してきました。
OpenAI互換パターン
Model Studio上の最近のQwenモデルは、OpenAI互換の呼び出し形式に従います。
基本構成は次の通りです。
POST {DASHSCOPE_BASE_URL}/chat/completions
Authorization: Bearer {DASHSCOPE_API_KEY}
Content-Type: application/json
このパターンはバージョン間で比較的安定しています。3.7のモデルIDが利用可能になった後も、通常は model フィールドの文字列を変更するだけで対応できます。
プレビュー期間中は、モデル識別子やエンドポイントが変更される可能性があります。必ず次の公式情報を確認してください。
APIアクセスを待つ間に無料で試したい場合は、Qwen 3.7を無料で使う方法も参考になります。
アクセス方法一覧
| 方法 | APIアクセス | 費用 | 最適な用途 |
|---|---|---|---|
| Qwen Chat (chat.qwen.ai) | いいえ | 無料、レート制限あり | 簡単な評価、プロンプトテスト |
| Alibaba Cloud Model Studio(DashScope) | はい、OpenAI互換 | トークンごとの支払い | 本番環境への統合 |
| Hugging Face上のQwen | 重み(リリース時) | 無料(セルフホスト) | オープンウェイトモデル、Maxプレビューではない |
| サードパーティゲートウェイ | 様々 | 様々 | マルチモデルルーティング |
注意点として、オープンウェイトのQwenモデルはHugging Faceで利用できますが、Max-Previewティアはプロプライエタリです。qwen3.7-max-preview のダウンロード可能な重みは期待しないでください。
Qwen 3.7 APIキーの取得
APIアクセスはAlibaba Cloudアカウント経由で行います。
手順は次の通りです。
- Alibaba Cloudアカウントを作成する
- Model Studioコンソール(
modelstudio.console.alibabacloud.com)を開く - アカウントとリージョンでModel Studioを有効化する
- APIキーセクションを開く
-
sk-で始まるAPIキーを生成する - キーを一度だけコピーし、安全に保存する
キーはリージョンにスコープされています。たとえば、シンガポールエンドポイント用のキーは北京エンドポイントでは認証されません。
リージョン別ベースURL
| リージョン | ベースURL |
|---|---|
| シンガポール | https://dashscope-intl.aliyuncs.com/compatible-mode/v1 |
| 米国(バージニア) | https://dashscope-us.aliyuncs.com/compatible-mode/v1 |
| 北京(中国) | https://dashscope.aliyuncs.com/compatible-mode/v1 |
APIキーはソースコードにハードコードしないでください。環境変数として設定します。
# macOS / Linux
export DASHSCOPE_API_KEY="sk-your-key-here"
# Windows PowerShell
setx DASHSCOPE_API_KEY "sk-your-key-here"
アプリケーション側では、実行時に DASHSCOPE_API_KEY を読み込みます。これにより、秘密情報をリポジトリから除外でき、コードを変更せずにキーをローテーションできます。
同じパターンは、他のモデルAPIでも使えます。Gemini 3.5 APIでも同様です。
最初のリクエスト: Python、curl、JavaScript
QwenのModel StudioエンドポイントはOpenAI互換です。したがって、次のどちらかで呼び出せます。
- OpenAI SDKをDashScopeのベースURLに向ける
- 生のHTTPリクエストを送る
以下の例では qwen3.7-max-preview を使っています。ただし、このモデルIDはQwen Chatのプレビューモデル識別子です。APIで使用する正確な文字列は、プレビュー期間中に異なる可能性があります。
実行前に、Model Studioのモデルリストで現在のモデルIDを確認し、model フィールドに設定してください。
Python: OpenAI SDKを使う
まずSDKをインストールします。
pip install openai
次にリクエストを送信します。
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DASHSCOPE_API_KEY"],
# アカウントのリージョンに対応するベースURLを指定する
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
response = client.chat.completions.create(
# 実際に利用可能なモデルIDはModel Studioのモデルリストで確認する
model="qwen3.7-max-preview",
messages=[
{"role": "system", "content": "You are a precise coding assistant."},
{"role": "user", "content": "Write a Python function that reverses a linked list."},
],
)
print(response.choices[0].message.content)
messages 配列は標準的なチャット形式です。
-
system: モデルの振る舞いを指定する -
user: ユーザー入力を渡す
生成された本文は response.choices[0].message.content に入ります。
curl
キーやモデルIDが正しく動作するかを最短で確認したい場合は、curlが便利です。
curl 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen3.7-max-preview",
"messages": [
{"role": "user", "content": "Explain idempotency in REST APIs in two sentences."}
]
}'
キーとモデルIDが有効であれば、補完を含むJSONレスポンスが返ります。失敗した場合は、レスポンスボディで修正点を確認します。
JavaScript / Node.js
Node.jsでも同じOpenAI SDKを使えます。
npm install openai
import OpenAI from "openai";
const client = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
});
const response = await client.chat.completions.create({
model: "qwen3.7-max-preview",
messages: [
{ role: "user", content: "List three trade-offs of GraphQL versus REST." },
],
});
console.log(response.choices[0].message.content);
Python、curl、Node.jsのいずれでも、リクエスト構造は同じです。これがOpenAI互換APIの利点です。
ストリーミングレスポンス
ユーザー向けアプリでは、完了全体を待ってから表示するより、ストリーミングで逐次表示する方が実用的です。
stream を true に設定し、返ってくるチャンクを処理します。
Python
stream = client.chat.completions.create(
model="qwen3.7-max-preview",
messages=[
{"role": "user", "content": "Summarize the CAP theorem."},
],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)
Node.js
Node.jsでは、ストリーミングレスポンスは非同期イテラブルとして扱えます。
const stream = await client.chat.completions.create({
model: "qwen3.7-max-preview",
messages: [{ role: "user", content: "Summarize the CAP theorem." }],
stream: true,
});
for await (const chunk of stream) {
process.stdout.write(chunk.choices[0]?.delta?.content || "");
}
推論モデルでは、ストリーミングが特に重要です。Qwen 3.7は最終回答を出す前に思考処理に時間を使うことがあります。ストリーミングを使えば、回答生成中の状態をユーザーに見せられます。
推論と思考のパラメータ
Qwen3.7-Max-Previewは推論モデルです。最終回答を確定する前に、<think> ブロック内に明示的な思考連鎖を生成できます。
このトレースは、次のようなケースで役立ちます。
- 数学問題
- 多段階の推論
- 複雑なコード生成
- エージェントの計画
- モデル出力のデバッグ
DashScope経由の最近のQwenモデルでは、思考動作は enable_thinking フラグで制御されることがあります。ただし、Qwenのバージョン間で推論制御は変更されています。3.7プレビューティアの正確なパラメータ名は、必ず現在のAPIリファレンスで確認してください。
概念的には次のようなリクエストになります。
response = client.chat.completions.create(
model="qwen3.7-max-preview",
messages=[
{
"role": "user",
"content": (
"A train leaves at 2pm averaging 60mph. "
"A second leaves at 3pm at 75mph on the same route. "
"When does the second catch the first?"
),
},
],
# 推論制御はQwenのバージョンによって異なる。
# 本番利用前にModel Studio APIリファレンスで確認する。
extra_body={"enable_thinking": True},
)
print(response.choices[0].message.content)
実装時の判断基準は次の通りです。
簡単なタスクではオフにする
思考トレースは生成テキストです。出力トークンとレイテンシが増えます。難しいタスクではオンにする
多段階の数学、エッジケースを含むコード、計画、分析では有効です。トレースを表示するか決める
アプリによっては<think>の内容を表示します。別のアプリでは除去して最終回答だけを表示します。
推論品質とコストを他のフロンティアモデルと比較したい場合は、Qwen 3.7 vs GPT-5.5 vs Opus 4.7も参考になります。
エージェントループではトークン消費が急増しやすいため、エージェントトークンコストを削減する方法のテクニックも適用できます。
エラー処理とレート制限
APIリクエストは、予測可能な理由で失敗します。本番コードでは、エラー種別ごとに処理を分けてください。
| HTTPステータス | 意味 | 対処法 |
|---|---|---|
| 400 | 不正なリクエスト: 不適切なJSON、無効なパラメータ | リクエストボディを修正する。モデルIDとフィールド名を確認する |
| 401 | 無効または不足しているAPIキー | キーとエンドポイントのリージョンが一致しているか確認する |
| 403 | モデルへのアクセス権なし | プレビューティアは制限されている可能性がある。アカウントが有効か確認する |
| 404 | モデルが見つからない | モデルIDが間違っているか、リージョンで利用できない |
| 429 | レート制限またはクォータ超過 | 遅延して再試行する。QPS制限とアカウント残高を確認する |
| 500 / 503 | サーバー側エラー | 指数バックオフで再試行する |
プレビューモデルでは、安定版よりも 403 や 404 が発生しやすくなります。多くの場合、原因はコードではなく、アクセス権またはモデルIDです。
Model Studioのレート制限は、アカウントやモデルによって異なります。固定値を仮定せず、コンソールで確認してください。
実装では、429 と 5xx は再試行し、4xx は即座に失敗させるのが基本です。
import os
import time
from openai import OpenAI, RateLimitError, APIStatusError
client = OpenAI(
api_key=os.environ["DASHSCOPE_API_KEY"],
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
def ask_qwen(prompt, max_retries=4):
for attempt in range(max_retries):
try:
response = client.chat.completions.create(
model="qwen3.7-max-preview",
messages=[{"role": "user", "content": prompt}],
)
return response.choices[0].message.content
except RateLimitError:
wait = 2 ** attempt # 1s, 2s, 4s, 8s
print(f"Rate limited. Retrying in {wait}s...")
time.sleep(wait)
except APIStatusError as e:
# 400/401/403/404は再試行しても解決しないことが多い
print(f"API error {e.status_code}: {e.message}")
raise
raise RuntimeError("Failed after retries")
この分岐により、再試行しても解決しないエラーでAPIを叩き続けることを避けられます。
Apidogを使ったQwen APIのテストとモック
プレビューAPIでは、次の問題が起きやすくなります。
- モデルIDが変わる
- アクセスが制限される
- レート制限に当たる
- エンドポイントの挙動が変わる
- 本番アプリから直接試すとデバッグしづらい
このような場合は、リクエストを単体で送信し、レスポンスを確認し、保存して再実行できる環境が必要です。Apidogはそのために使えます。
Apidogでやること
Qwen APIを扱うときは、次の流れが実用的です。
-
/chat/completionsエンドポイントを定義する -
Authorization: Bearer {{DASHSCOPE_API_KEY}}を設定する - リージョン別の
base_urlを環境変数として管理する -
model、messages、streamなどのリクエスト例を保存する - 成功レスポンスとエラーレスポンスを記録する
- プレビューAPIが不安定な間はモックサーバーで開発する
構築中にエンドポイントをモックする
制限されたプレビューでは、モックが特に重要です。
Apidogのモックサーバーを使うと、キーやレート制限なしで、APIスキーマに基づくレスポンスを返せます。これにより、実際のQwenプレビューアクセスが制限されている場合でも、フロントエンドやエージェントの開発を進められます。
ライブAPIが使えるようになったら、ベースURLをモックからDashScopeに切り替えます。リクエスト形式を揃えておけば、アプリ側のコード変更は最小限で済みます。
スキーマファーストのワークフローについては、スキーマファーストモードのウォークスルーも参考になります。
このパターンはQwenに限りません。GeminiやERNIE 5.1 APIでも、同じテスト・モックの流れを使えます。
結論
Qwen 3.7の呼び出し自体はシンプルです。OpenAI互換エンドポイントに対して、APIキー、ベースURL、モデルID、messages を渡すだけです。
難しいのはAPI形式ではなく、プレビュー期間中の制限です。
本番統合では、次を確認してください。
- 現在有効なモデルID
- 利用可能なリージョン
- APIキーのスコープ
- レート制限
- 推論パラメータの最新仕様
-
403/404/429の処理
Qwenが何を返すか推測するのではなく、実際のリクエストで確認しましょう。Apidogをダウンロードして、Qwenエンドポイントを設計し、テストリクエストを送信し、再利用可能なシナリオを保存し、構築中はAPIをモックできます。


Top comments (0)