すべてのプロダクト
Search
ドキュメントセンター

Alibaba Cloud Model Studio:OpenAI 互換 - チャット

最終更新日:Sep 11, 2026

OpenAI 互換 Chat API を使用してモデルを呼び出すことができます。このドキュメントでは、入出力パラメーターについて説明し、呼び出し例を示します。

シンガポール

SDK 呼び出し設定の base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

HTTP リクエスト: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

米国 (バージニア)

SDK 呼び出し設定の base_url: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1

HTTP リクエスト: POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

中国 (北京)

SDK 呼び出し設定の base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

HTTP リクエスト: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions

香港 (中国)

SDK 呼び出し設定の base_url: https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1

HTTP リクエスト: POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1/chat/completions

ドイツ (フランクフルト)

SDK 呼び出し設定の base_url: https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1

リクエスト URL: POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

日本 (東京)

SDK 呼び出し設定の base_url: https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1

HTTP リクエスト: POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

{WorkspaceId} を実際の ワークスペース ID に置き換えてください。

API キーを取得 し、環境変数として設定します。OpenAI SDK を使用する場合は、SDK をインストール する必要もあります。

重要Alibaba Cloud Model Studio は、中国 (北京)、シンガポール、および香港 (中国) リージョン向けにワークスペース固有のドメインをリリースしました。新しい専用ドメインは、推論リクエストに対して優れたパフォーマンスと高い安定性を提供します。新しいドメインへの移行を推奨します:

  • 中国 (北京): https://dashscope.aliyuncs.com から https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com へ
  • シンガポール: https://dashscope-intl.aliyuncs.com から https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com へ
  • 香港 (中国): https://cn-hongkong.dashscope.aliyuncs.com から https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com へ

{WorkspaceId} は、Alibaba Cloud Model Studio コンソールの [ワークスペース詳細] ページで確認できるワークスペース ID です。既存のドメインは引き続き完全に機能します。

リクエストボディ

modelstring(必須)

モデル名。

サポートされているモデル:Qwen 大規模言語モデル (商用およびオープンソース版)、Qwen-VL、Qwen-Coder、Qwen-Omni、Qwen-Math、DeepSeek、Kimi、GLM、MiniMax。

特定のモデル名と課金詳細については、Model Studio コンソールをご参照ください。

messagesarray(必須)

大規模言語モデルに渡されるコンテキストで、会話の順序で配置されます。

メッセージタイプ

システムメッセージobject(任意)

大規模言語モデルのロール、トーン、タスク、または制約を定義するシステムメッセージです。通常、messages 配列の最初の要素です。

QwQ モデルにはシステムメッセージを設定しないでください。システムメッセージは QVQ モデルには影響しません。

プロパティ

contentstring(必須)

システム命令です。モデルのロール、動作、応答スタイル、タスクの制約を指定します。

rolestring(必須)

システムメッセージのロールです。値は system に固定されています。

ユーザーメッセージobject(必須)

ユーザーメッセージです。質問、指示、またはコンテキストをモデルに渡します。

プロパティ

contentstring or array(必須)

メッセージ内容です。入力がテキストのみの場合は string 型、画像などのマルチモーダルデータを含む場合や明示的なキャッシュが有効な場合は array 型になります。

マルチモーダルモデルまたは明示的なキャッシュが有効な場合のプロパティ

typestring(必須)

有効値:

  • text

    テキスト入力の場合は text に設定します。

  • image_url

    画像入力の場合は image_url に設定します。

  • input_audio

    音声入力の場合は input_audio に設定します。

  • video

    画像のリストとしてビデオ入力する場合は video に設定します。

  • video_url

    動画ファイルの入力には video_url に設定します。

    一部の Qwen-VL モデルのみがビデオファイルの入力をサポートしています。詳細については、「ビデオ理解 (Qwen-VL)」をご参照ください。QVQ および Qwen-Omni モデルは、ビデオファイルの直接入力に対応しています。

textstring

入力テキストです。このパラメーターは、type が text の場合に必須です。

image_urlobject

入力画像情報です。このパラメーターは、type が image_url の場合に必須です。

プロパティ

url string(必須)

画像の URL または Base64 エンコードされたデータ URL です。ローカルファイルを渡すには、「画像とビデオの理解」をご参照ください。

input_audioobject

入力音声情報です。このパラメーターは、type が input_audio の場合に必須です。

プロパティ

data string(必須)

音声の URL または Base64 エンコードされたデータ URL です。ローカルファイルを渡すには、「Base64 エンコードされたローカルファイルの入力」をご参照ください。

formatstring(必須)

入力音声のフォーマットです。例:mp3 または wav。

videoarray

画像のリストとして提供される入力ビデオ情報です。このパラメーターは、type が video の場合に必須です。使用方法の詳細については、「ビデオ理解 (Qwen-VL)」、「ビデオ理解 (QVQ)」、または「ビデオ理解 (Qwen-Omni)」をご参照ください。

値の例:

[
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
    "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"
]

video_urlobject

入力ビデオファイル情報です。このパラメーターは、type が video_url の場合に必須です。

Qwen-VL はビデオファイルの視覚情報のみを理解できますが、Qwen-Omni は視覚情報と音声情報の両方を理解できます。

プロパティ

url string(必須)

ビデオファイルの公開 URL または Base64 エンコードされたデータ URL です。ローカルビデオファイルを入力するには、「Base64 エンコードされたローカルファイルの入力」をご参照ください。

fpsfloat(任意)

1 秒あたりに抽出するフレーム数です。有効値:[0.1, 10]。デフォルト値:2.0。

MiniMax/MiniMax-M3 の有効範囲は [0.2, 5] で、デフォルト値は 1 です。

機能説明

fps パラメーターには 2 つの機能があります:

  • ビデオファイルを入力すると、フレーム抽出の周波数を制御します。f p s 1 ​ 秒ごとに 1 フレームが抽出されます。

    これは Qwen-VL、QVQ モデルに適用されます。

  • 隣接するフレーム間の時間間隔をモデルに通知し、ビデオの時間の経過に伴う進行をよりよく理解するのに役立ちます。これは、ビデオファイルと画像リストの両方の入力に適用されます。この機能は、イベント時間のローカライズやセグメント化されたコンテンツの要約などのシナリオに適しています。

    Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL、Qwen2.5-VL、Qwen3.5-Omni、および QVQ モデルでサポートされています。

fps の値が大きいほど、スポーツイベントやアクション映画などの高速な動きのシナリオに適しています。fps の値が小さいほど、長いビデオや静的なコンテンツのシーンに適しています。

値の例

  • 画像リストの入力: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
  • ビデオファイルの入力: {"video": "https://xx1.mp4", "fps":2}

min_pixelsinteger(任意)

入力画像またはビデオフレームの最小ピクセルしきい値を設定します。入力のピクセル数が min_pixels 未満の場合、総ピクセル数が min_pixels を超えるまで拡大されます。このパラメーターは Qwen-VL および QVQ モデルに適用されます。

値の範囲

  • 画像入力:
    • Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL:デフォルト値と最小値:65536
    • Qwen3.5-Omni:デフォルト値と最小値:24576
    • qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値と最小値:4096
    • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値と最小値:3136
  • ビデオファイルまたは画像リストの入力:
    • Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3.5-Omni、Qwen3-VL (商用およびオープンソース版を含む)、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値:65536。最小値:4096
    • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値:50176。最小値:3136

値の例

  • 画像入力: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536}
  • ビデオファイル入力: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536}
  • 画像リスト入力: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}

max_pixelsinteger(任意)

入力画像またはビデオフレームの最大ピクセルしきい値を指定します。入力画像またはビデオのピクセル数が [min_pixels, max_pixels] の範囲内にある場合、モデルは元の画像を処理します。ピクセル数が max_pixels を超える場合、ピクセル数が max_pixels 以下になるまで画像は縮小されます。このパラメーターは Qwen-VL および QVQ モデルに適用されます。

値の範囲

  • 画像入力:

    max_pixels の値は、vl_high_resolution_images パラメーターが有効になっているかどうかによって異なります。

    • vl_high_resolution_images が False の場合:

      • Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL:デフォルト値:2621440。最大値:16777216
      • Qwen3.5-Omni:デフォルト値:1310720。最大値:16777216
      • qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値:1310720。最大値:16777216
      • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値:1003520。最大値:12845056
    • vl_high_resolution_images が True の場合:

      • Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5-Omni、Qwen3.5、Qwen3-VL、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:max_pixels は無効です。入力画像の最大ピクセル数は 16777216 に固定されます。
      • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:max_pixels は無効です。入力画像の最大ピクセル数は 12845056 に固定されます。
  • ビデオファイルまたは画像リストの入力:
    • Qwen3.8 シリーズ、Qwen3.7 シリーズ、Qwen3.6 シリーズ、Qwen3.5 シリーズ、Qwen3.5-Omni、Qwen3-VL クローズドソースシリーズ、qwen3-vl-235b-a22b-thinking、qwen3-vl-235b-a22b-instruct:デフォルト値:655360。最大値:2048000
    • その他の Qwen3-VL オープンソースモデル、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値:655360。最大値:786432
    • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値:501760。最大値:602112

値の例

  • 画像入力: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}
  • ビデオファイル入力: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360}
  • 画像リスト入力: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}

total_pixelsinteger(任意)

ビデオから抽出されたすべてのフレームの総ピクセル数を制限します。これは (フレームあたりのピクセル数 × 総フレーム数) として計算されます。ビデオの総ピクセル数がこの制限を超えると、システムはビデオフレームを縮小します。システムは、単一フレームのピクセル数が [min_pixels, max_pixels] の範囲内に収まるようにします。このパラメーターは Qwen-VL および QVQ モデルに適用されます。

抽出されたフレームが多い長いビデオの場合、この値を小さくするとトークンの消費量と処理時間を削減できますが、画像の詳細が失われる可能性があります。

値の範囲

  • Qwen3.8 シリーズ、Qwen3.7 シリーズ、Qwen3.6 シリーズ、Qwen3.5 シリーズ:デフォルト値と最大値:819200000。これは 800000 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。
  • Qwen3-VL クローズドソースシリーズ、qwen3-vl-235b-a22b-thinking、qwen3-vl-235b-a22b-instruct:デフォルト値と最大値:134217728。これは 131072 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。
  • Qwen3.5-Omni:デフォルト値と最小値:184549376。これは 180224 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。
  • その他の Qwen3-VL オープンソースモデル、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値と最小値:67108864。これは 65536 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。
  • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値と最小値:51380224。これは 65536 画像トークンに相当します (1 画像トークンあたり 28×28 ピクセル)。

値の例

  • ビデオファイル入力: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728}
  • 画像リスト入力: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}

cache_controlobject(任意)

明示的なキャッシュを有効にします。詳細については、「明示的なキャッシュ」をご参照ください。

プロパティ

type string(必須)

ephemeral のみがサポートされています。

rolestring(必須)

ユーザーメッセージのロールです。値は user に固定されています。

アシスタントメッセージ object(任意)

モデルの応答です。通常、マルチターン対話でコンテキストとしてモデルに返されます。

プロパティ

contentstring(任意)

モデルの応答のテキスト内容です。tool_calls が含まれる場合、content は空にすることができます。それ以外の場合、content は必須です。

rolestring(必須)

アシスタントメッセージのロールです。値は assistant に固定されています。

partialboolean(任意) デフォルト値:false

部分モードを有効にするかどうかを指定します。

有効値:

  • true:有効化。
  • false:無効化。

サポートされているモデルのリストについては、「部分モード」をご参照ください。

tool_calls array(任意)

モデルが呼び出すことを決定したツールとその入力パラメーターに関する情報です。1 つ以上のオブジェクトを含み、前のモデル応答の tool_calls フィールドから取得されます。

プロパティ

id string(必須)

ツール呼び出しの ID です。

type string(必須)

ツールタイプです。現在、function のみがサポートされています。

function object(必須)

ツールと入力パラメーター

プロパティ

name string(必須)

ツール名です。

arguments string(必須)

JSON 形式の文字列としての入力パラメーター情報です。

index integer(必須)

tool_calls 配列内のこのツール呼び出しのインデックスです。

ツールメッセージ object(任意)

ツール呼び出しの結果です。

プロパティ

contentstring(必須)

ツール関数の出力内容です。文字列である必要があります。ツールが JSON などの構造化データを返す場合、文字列にシリアル化する必要があります。

rolestring(必須)

値は tool に固定されています。

tool_call_idstring(必須)

このメッセージが応答するツール呼び出しの ID です。completion.choices[0].message.tool_calls[$index].id から取得できます。この ID は、ツールメッセージを対応するツール呼び出しに関連付けるために使用されます。

streamboolean(任意) デフォルト値:false

ストリーミング出力モードで応答するかどうかを指定します。詳細については、「ストリーミング出力」をご参照ください。

有効値:

  • false:モデルは生成が完了した後に完全なコンテンツを返します。
  • true:モデルは生成されると同時にコンテンツを出力します。コンテンツの一部が生成されるたびにデータチャンクが返されます。完全な応答を組み立てるには、これらのチャンクを読み取る必要があります。

ユーザーエクスペリエンスを向上させ、タイムアウトのリスクを減らすために、これを true に設定することを推奨します。

注記非ストリーミング呼び出しの場合、最大タイムアウトは少なくとも 300 秒で、リージョンとモデルによって異なります。時間内に完了しない場合、サービスはリクエストを中断し、エラーではなく生成されたコンテンツを返します。長い出力が必要なシナリオでは、ストリーミング呼び出しを使用することを推奨します。詳細については、「テキスト生成モデルの概要」のタイムアウトの説明をご参照ください。

stream_optionsobject(任意)

ストリーミング出力の設定項目です。このパラメーターは、stream が true に設定されている場合にのみ有効です。

プロパティ

include_usageboolean(任意) デフォルト値:false

応答の最後のデータチャンクにトークン消費情報を含めるかどうかを指定します。

有効値:

  • true:含める。
  • false:含めない。

ストリーミング出力の場合、トークン消費情報は応答の最後のデータチャンクにのみ表示されます。

modalitiesarray(任意) デフォルト値:["text"]

出力データのモダリティです。このパラメーターは Qwen-Omni モデルにのみ適用されます。詳細については、「非リアルタイム (Qwen-Omni)」をご参照ください。

有効値:

  • ["text","audio"]:テキストと音声を両方出力します。
  • ["text"]:テキストのみを出力します。

audioobject(任意)

出力音声の声とフォーマットです。このパラメーターは Qwen-Omni モデルにのみ適用され、modalities パラメーターを ["text","audio"] に設定する必要があります。詳細については、「非リアルタイム (Qwen-Omni)」をご参照ください。

プロパティ

voicestring (必須)

出力音声の声です。詳細については、「非リアルタイム (Qwen-Omni)」をご参照ください。

formatstring (必須)

出力音声のフォーマットです。wav のみがサポートされています。

temperaturefloat(任意)

サンプリング温度で、モデルが生成するテキストの多様性を制御します。

温度が高いほど多様なテキストが生成され、低いほど決定論的なテキストが生成されます。

値の範囲:[0, 2)

temperature と top_p の両方で、生成されるテキストの多様性を制御できます。どちらか一方のみを設定することを推奨します。詳細については、「概要」をご参照ください。

QVQ モデルのデフォルトの temperature 値は変更しないでください。

top_pfloat(任意)

核サンプリングの確率しきい値で、モデルが生成するテキストの多様性を制御します。

top_p が高いほど多様なテキストが生成されます。top_p が低いほど決定論的なテキストが生成されます。

値の範囲:(0, 1.0]

temperature と top_p の両方で、生成されるテキストの多様性を制御できます。どちらか一方のみを設定することを推奨します。詳細については、「概要」をご参照ください。

QVQ モデルのデフォルトの top_p 値は変更しないでください。

top_kinteger(任意)

生成中にサンプリングする候補トークンの数を指定します。値が大きいほどランダムな出力になり、小さいほど決定論的な出力になります。null または 100 より大きい値に設定すると、top_k 戦略は無効になり、top_p 戦略のみが有効になります。値は 0 以上の整数である必要があります。

デフォルトの top_k 値

QVQ シリーズ:10

QwQ シリーズ:40

qwen-vl-plus シリーズ以前のモデル、および qwen2.5-omni-7b:1

Qwen3-Omni-Flash シリーズ:50

その他すべてのモデル:20

GLM シリーズ (Alibaba Cloud 提供):20

DeepSeek、Kimi、MiniMax シリーズは top_k パラメーターをサポートしていません。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"top_k":xxx}。

QVQ モデルのデフォルトの top_k 値は変更しないでください。

repetition_penaltyfloat(任意)

モデル生成中の連続シーケンスに対する繰り返しペナルティです。repetition_penalty を増やすと、モデルの出力の繰り返しを減らすことができます。値 1.0 はペナルティなしを意味します。0 より大きい限り、厳密な値の範囲はありません。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"repetition_penalty":xxx}。

qwen-vl-plus_2025-01-25 モデルを使用してテキストを抽出する場合、repetition_penalty を 1.0 に設定してください。

QVQ モデルのデフォルトの repetition_penalty 値は変更しないでください。

presence_penalty float(任意)

モデルがテキストを生成する際のコンテンツの繰り返しを制御します。

値の範囲:[-2.0, 2.0]。正の値は繰り返しを減らし、負の値は繰り返しを増やします。

クリエイティブライティングやブレインストーミングなど、多様性、楽しさ、創造性が求められるシナリオでは、この値を増やすことができます。技術文書やフォーマルなテキストなど、一貫性と用語の正確性が重視されるシナリオでは、この値を減らすことができます。

デフォルトの presence_penalty 値

Qwen3.8 (非思考モード)、Qwen3.7 (非思考モード)、Qwen3.6 (非思考モード)、Qwen3.5-Omni、Qwen3.5 (非思考モード)、qwen3-max-preview (思考モード)、Qwen3 (非思考モード)、Qwen3-Instruct シリーズ/1.7b/4b (思考モード)、QVQ シリーズ、qwen-max、qwen2.5-vl シリーズ、qwen-vl-max シリーズ、qwen-vl-plus、Qwen3-VL (非思考):1.5

qwen3-8b/14b/32b/30b-a3b/235b-a22b (思考モード)、qwen-plus/qwen-plus-latest/2025-04-28 (思考モード)、qwen-turbo/qwen-turbo/2025-04-28 (思考モード):0.5

その他すべては 0.0 です。

DeepSeek シリーズ (Alibaba Cloud 提供):deepseek-r1、deepseek-r1-0528、deepseek-r1-distill-qwen 蒸留版:1

Kimi シリーズ (Alibaba Cloud 提供):kimi-k2.7-code、kimi-k2.6、kimi-k2.5:0.0

Kimi シリーズ (Moonshot AI 提供):0.0

MiniMax シリーズ (Alibaba Cloud 提供):MiniMax-M2.5、MiniMax-M2.1:0.0

その他の DeepSeek、Kimi、GLM、MiniMax モデルにはデフォルト値がありません。

仕組み

パラメーター値が正の場合、モデルはテキストに既に存在するトークンにペナルティを適用します。ペナルティはトークンの出現回数とは関係ありません。これにより、これらのトークンが再出現する可能性が低くなり、コンテンツの繰り返しが減少し、単語の多様性が向上します。

例

プロンプト:この文を中国語に翻訳してください:「この映画は良いです。プロットも良いし、演技も良いし、音楽も良いし、全体的に、この映画はただ良いです。実際、本当に良いです。プロットもとても良いし、演技もとても良いし、音楽もとても良いです。」

パラメーター値 2.0:この映画は素晴らしいです。プロットは幻想的で、演技は素晴らしく、音楽も非常に美しいです。全体的に、この映画全体が信じられないほどです。実際、本当に傑出しています。ストーリーラインは非常にエキサイティングで、パフォーマンスは素晴らしく、サウンドトラックはとても感動的です。

パラメーター値 0.0:この映画は良いです。プロットも良いし、演技も良いし、音楽も良いです。全体的に、この映画全体が非常に良いです。実際、本当に素晴らしいです。プロットも非常に良いし、演技も非常に優れており、音楽も同様に傑出しています。

パラメーター値 -2.0:この映画は良いです。プロットも良いし、演技も良いし、音楽も良いです。全体的に、この映画全体が良いです。実際、本当に良いです。プロットも非常に良いし、演技も非常に良いし、音楽も非常に良いです。

qwen-vl-plus モデルを使用してテキストを抽出する場合、presence_penalty を 1.5 に設定してください。

QVQ モデルのデフォルトの presence_penalty 値は変更しないでください。

response_formatobject (任意) デフォルト値:{"type": "text"}

応答のフォーマットです。有効値:

  • {"type": "text"}:テキスト応答を出力します。
  • {"type": "json_object"}:標準の JSON 形式の文字列を出力します。
  • {"type": "json_schema", "json_schema": {...}}:指定した JSON Schema に厳密に準拠した JSON 文字列を出力します。出力の構造とフィールドの型を正確に制御できます。

詳細については、「構造化出力」をご参照ください。json_object と json_schema でサポートされるモデルは異なります。詳細については、「サポートされているモデル」をご参照ください。

{"type": "json_object"} を指定する場合、プロンプトでモデルに JSON を出力するように明示的に指示する必要があります (例:「JSON 形式で出力してください」)。そうしないと、エラーが発生します。{"type": "json_schema", ...} を指定する場合、プロンプトに JSON キーワードを含める必要はありません。

プロパティ

typestring(必須)

返されるコンテンツのフォーマットです。有効値:

  • text:テキスト応答を出力します。
  • json_object:標準の JSON 形式の文字列を出力します。
  • json_schema:json_schema フィールドで定義された構造に厳密に準拠した JSON 文字列を出力します。

json_schemaobject(任意)

type が json_schema の場合は必須です。モデルの出力が従う必要のある JSON 構造を定義します。詳細については、「構造化出力の取得」をご参照ください。

OpenAI SDK の parse メソッドを使用する場合は、Python の Pydantic クラスまたは Node.js の Zod オブジェクトを直接渡せます。SDK が自動的に JSON Schema へ変換するため、手動で構築する必要はありません。

プロパティ

namestring(必須)

スキーマの名前です。

schemaobject(必須)

出力構造を記述する JSON Schema オブジェクトです。properties でフィールド構造を定義し、required で必須フィールドのリストを指定し、additionalProperties でスキーマに定義されていないフィールドの出力を許可するかどうかを制御します (false に設定し、定義済みのフィールドのみを出力することを推奨します)。サポートされるデータ型:string、number、integer、boolean、object、array、enum。詳細については、「設定ガイド」をご参照ください。

strictboolean(任意)

schema で定義された構造に厳密に従うかどうかを指定します。true に設定することを推奨します。

max_tokensinteger(任意、非推奨予定)

このパラメーターは非推奨になります。新しい統合では、max_completion_tokens を使用してください。

このパラメーターの意味はモデルによって異なります:

  • deepseek-v4-pro、deepseek-v4-pro-0813、deepseek-v4-flash、deepseek-v4-flash-0731:モデルの回答と Chain-of-Thought コンテンツの合計の最大トークン数。モデルの出力がこの値を超えると、生成は早期に停止し、返される finish_reason は length になります。
  • glm-5.2:thinking_budget パラメーターが渡されない場合、max_tokens はモデルの回答と Chain-of-Thought コンテンツの合計の最大トークン数であり、モデルの出力がこの値を超えると、生成は早期に停止し、返される finish_reason は length になります。thinking_budget パラメーターが渡されると、max_tokens はモデルの回答のみの最大トークン数であり、Chain-of-Thought 部分のトークン数は thinking_budget によって個別に制御されます。
  • その他のモデル:モデルの回答の最大トークン数。生成されたコンテンツがこの値を超えると、生成は早期に停止し、返される finish_reason は length になります。

デフォルト値と最大値は、どちらもモデルの最大出力長です。

max_completion_tokensinteger(任意)

モデルの出力の最大長で、Chain-of-Thought とモデルの回答を含みます。モデルの出力がこの値を超えると、生成は早期に停止し、返される finish_reason は length になります。

デフォルト値と最大値は、どちらもモデルの最大出力長です。

max_tokens との違い:max_completion_tokens は完全なモデル出力 (Chain-of-Thought + 回答) を制限しますが、max_tokens は回答部分のみを制限します。思考モデルには、max_completion_tokens を使用することを推奨します。

以下のモデルがサポートされています:

  • Qwen Max:Qwen3.7-Max 以降のモデル
  • Qwen Plus:Qwen3.5-Plus 以降のモデル
  • Qwen Flash:Qwen3.5-Flash 以降のモデル
  • Kimi:kimi-k2.5 以降のモデル
  • GLM:glm-5 以降のモデル
  • MiniMax:MiniMax-M2.5 以降のモデル
  • DeepSeek:deepseek-v3、deepseek-r1、deepseek-r1-0528、deepseek-v3.1、deepseek-v3.2、deepseek-v3.2-exp、deepseek-v4-pro、deepseek-v4-flash、およびそれ以降のモデル

上記のモデルには、サードパーティから直接提供されるモデルは含まれていません。

実際の出力トークン数と指定された max_completion_tokens 値との間に最大 10 トークンの差がある場合があります。

vl_high_resolution_imagesboolean(任意) デフォルト値:false

入力画像のピクセル制限を 16384 トークンに対応するピクセル数に増やすかどうかを指定します。詳細については、「高解像度画像の処理」をご参照ください。

  • vl_high_resolution_images: true は固定解像度戦略を使用し、max_pixels 設定を無視します。解像度を超えた場合、画像の総ピクセル数はこの制限内に収まるように縮小されます。

    各モデルのピクセル制限を表示するにはクリック

    vl_high_resolution_images が True の場合、ピクセル制限はモデルによって異なります:

    • Qwen3.8 シリーズ、Qwen3.7 シリーズ、Qwen3.6 シリーズ、Qwen3.5 シリーズ、Qwen3-VL シリーズ、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815、および モデルの場合、値は 16777216 です。(各 Token は 32*32 ピクセルに対応します。合計値は 16384*32*32 として計算されます。)
    • QVQ シリーズ、その他の Qwen2.5-VL シリーズ モデル:12845056 (1 token は 28*28 ピクセルに対応し、これは 16384*28*28 です)
  • vl_high_resolution_images が false の場合、ピクセル制限は max_pixels によって決定されます。入力画像のピクセル数が max_pixels を超える場合、画像は max_pixels 制限内に縮小されます。各モデルのデフォルトのピクセル制限は、max_pixels のデフォルト値です。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"vl_high_resolution_images":xxx}。

ninteger(任意) デフォルト値:1

生成する応答の数です。値の範囲は 1-4 です。これは、クリエイティブライティングや広告コピーなど、複数の候補応答が必要なシナリオに適しています。

Qwen3 (非思考モード) モデルでのみサポートされています。

tools パラメーターが渡された場合、n を 1 に設定してください。

n を増やすと出力トークンの消費量が増加しますが、入力トークンの消費量は増加しません。

enable_thinking boolean (任意)

思考モードと非思考モードの両方をサポートする混合思考モデルを使用する場合、このパラメーターは思考モードを有効にするかどうかを指定します。これは Qwen3.7、Qwen3.6、Qwen3.5、Qwen3、Qwen3-Omni-Flash、Qwen3-VL モデル、および DeepSeek-V4-Pro/V4-Flash シリーズ、DeepSeek-V3.2/V3.2-exp/V3.1 シリーズ、Kimi-K2.7-code (思考モデルのみ)、Kimi-K2.6/K2.5 シリーズ、および GLM シリーズに適用されます。DeepSeek-V4 シリーズはデフォルトで思考を有効にします。reasoning_effort パラメーターで推論の強度を調整できます。

有効値:

  • true:有効化

    有効にすると、思考内容は reasoning_content フィールドで返されます。

  • false:無効化

モデルごとのデフォルト値:サポートされているモデル

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"enable_thinking": xxx}。

OpenAI SDK ではなく HTTP を直接呼び出す場合 (例:curl)、extra_body を使用しないでください。単に enable_thinking をリクエストボディ (body) のトップレベルに、model や messages などのパラメーターと並べて配置してください (例:"enable_thinking": true)。

Xiyu Technology の MiniMax および MiniMax-M3 モデルは、このパラメーターを使用しません。代わりに、thinking パラメーターを使用してください。

thinking object (任意) デフォルト値:{"type":"adaptive"}

MiniMax 提供の MiniMax/MiniMax-M3 の思考モードを制御します。

thinking.type の有効値:

  • adaptive:自動 (デフォルト)。モデルが思考するかどうかを決定します。
  • disabled:思考を無効にし、直接応答します。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"thinking": {"type": "adaptive"}}。

preserve_thinkingboolean (任意) デフォルト値:false (qwen3.8-max、qwen3.8-flash のデフォルト値:true)

会話履歴のアシスタントメッセージからの reasoning_content をモデル入力に追加するかどうかを指定します。これは、モデルが過去の思考プロセスを参照する必要があるシナリオに適しています。

現在、qwen3.7-max、qwen3.7-max-2026-05-20 およびそれ以降のスナップショット、qwen3.6-max-preview、qwen3.7-plus、qwen3.7-plus-2026-05-26、qwen3.6-plus、qwen3.6-plus-2026-04-02、qwen3.7-flash、qwen3.7-flash-2026-07-15、qwen3.6-flash、qwen3.6-flash-2026-04-16、qwen3.8-max (デフォルトで有効)、qwen3.8-flash (デフォルトで有効)、kimi-k2.6 (Alibaba Cloud Model Studio にデプロイ)、kimi-k2.7-code (Alibaba Cloud Model Studio にデプロイ、デフォルトで有効)、kimi/kimi-k2.7-code-highspeed (Moonshot AI 提供、デフォルトで有効)、および kimi/kimi-k2.7-code (Moonshot AI 提供、デフォルトで有効) でサポートされています。

重要 (qwen3.8-max、qwen3.8-flash):qwen3.8-max または qwen3.8-flash を使用する場合、preserve_thinking はデフォルトで true になります。reasoning_content フィールドにすべての過去の reasoning_content を返信する必要があります。reasoning_content を content フィールドに連結しないでください。そうすると、モデルのパフォーマンスが低下する可能性があります。

  • 過去のメッセージに reasoning_content が含まれていない場合、このパラメーターを有効にしてもエラーは発生しません。
  • 有効にすると、過去の会話からの reasoning_content が入力トークン数に含まれ、課金対象となります。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"preserve_thinking": True}。

thinking_budget integer (任意)

思考プロセスの最大トークン数です。これは Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL、Qwen3、GLM および Kimi モデルに適用されますが、kimi-k3 はこのパラメーターをサポートしていません。詳細については、「思考長の制限」をご参照ください。

デフォルト値は、モデルの最大 Chain-of-Thought 長です。詳細については、モデルリストをご参照ください。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"thinking_budget": xxx}。

reasoning_effort string (任意)

モデルの推論強度を制御します。有効値とデフォルト値はモデルによって異なります。

DeepSeek-V4 および GLM シリーズ (デフォルト値:high)

有効値:

  • high:高強度推論
  • max:最大強度推論

low と medium は high にマッピングされ、xhigh は max にマッピングされます。

これは glm-5.2、glm-5.1、glm-5、deepseek-v4-pro、および deepseek-v4-flash (deepseek-v4-flash-0731 を除く) に適用されます。

ZHIPU/GLM-5.3、kimi-k3model(Alibaba Cloud 提供):デフォルト値:max

有効値:

  • max (デフォルト):深い推論
  • high:強化された推論
  • low:軽い推論

このモデルは常に思考を実行します。enable_thinking は true のみをサポートします。false を渡すと API リクエストが失敗します。

deepseek-v4-flash-0731 & deepseek-v4-pro-0813:デフォルト値:high

有効値:

  • max (デフォルト):最大強度推論
  • high:標準推論
  • low:低強度推論

OpenAI 標準値のマッピング:medium は high にマッピングされ、xhigh は high にマッピングされます。

kimi/kimi-k3 (デフォルト値:max、max のみサポート)

有効値:

  • max:最大強度推論

qwen3.8-max、qwen3.8-flash:デフォルト値:xhigh

有効値:

  • xhigh (デフォルト):最大強度推論
  • medium:標準推論
  • low:低強度推論

OpenAI 標準値のマッピング:max は xhigh にマッピングされ、high は xhigh にマッピングされ、minimal は low にマッピングされ、none は enable_thinking=False にマッピングされます。

上記の有効値およびマッピングされた値以外の値を設定すると、エラーが発生します。

qwen3.8 シリーズの場合、reasoning_effort と thinking_budget を同時に設定することはできません。両方を設定するとエラーが発生します。ただし、相互変換はサポートしています:

  • thinking_budget が設定されていない場合、reasoning_effort レベルは自動的に thinking_budget にマッピングされます:low は 4096、medium は 16384、xhigh は 262144 に対応します。
  • reasoning_effort が設定されていない場合、thinking_budget は自動的に reasoning_effort にマッピングされます:0–4096 は low、4097–16384 は medium、16385–262144 は xhigh に対応します。
  • どちらも設定されていない場合、デフォルトの thinking_budget (131072) とデフォルトの reasoning_effort (xhigh) が使用されます。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"reasoning_effort": "high"}。

tool_stream boolean (任意) デフォルト値:false

stream=true の場合にのみ有効です。このパラメーターは現在、Qwen および GLM シリーズでのみサポートされています。

Qwen シリーズのサポートリスト:
  • qwen-max シリーズ:qwen3.8-max および qwen3.7-max シリーズのテキストモダリティ
  • qwen-plus シリーズ:qwen3.7-plus および qwen3.6-plus シリーズのテキストモダリティ、および qwen3.5-plus シリーズのオムニモダリティ
  • qwen-flash シリーズ:qwen3.8-flash、qwen3.7-flash、qwen3.6-flash、および qwen3.5-flash シリーズのオムニモダリティ
Qwen シリーズの使用リファレンス:

tool_stream は複雑なツールパラメーターにのみ影響します。通常のツールパラメーターの場合、stream=true である限り、ストリーミング出力が有効になります。複雑なツールとは、ツール定義の一部のパラメータータイプが array または object であるツールです。

  • tool_stream=false:複雑なツールパラメーターは一度に出力されます。これはデフォルトの動作であり、複雑なフォーマットはより正確です。
  • tool_stream=true:複雑なツールパラメーターはストリームで出力され、複雑なフォーマットのタイムアウトリスクを回避します。

GLM シリーズのサポートリスト:glm-4.6、glm-4.7、glm-5、および glm-5.1。

GLM シリーズの使用リファレンス:
  • tool_stream=false:ツールパラメーターは一度に出力されます。これはデフォルトの動作であり、複雑なフォーマットはより正確です。
  • tool_stream=true:ツールパラメーターはストリームで出力され、複雑なフォーマットのタイムアウトリスクを回避します。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"tool_stream": true}。

enable_code_interpreter boolean (任意) デフォルト値:false

コードインタープリター機能を有効にするかどうかを指定します。詳細については、「コードインタープリター」をご参照ください。

有効値:

  • true:有効化
  • false:無効化

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"enable_code_interpreter": xxx}。

seedinteger(任意)

乱数シードです。このパラメーターは、同じ入力とパラメーターで再現可能な結果を保証するために使用されます。呼び出しで同じ seed 値を渡し、他のパラメーターが変更されない場合、モデルは可能な限り同じ結果を返します。

値の範囲:[0,2<sup>31</sup>−1]。

logprobs boolean (任意) デフォルト値:false

出力トークンの対数確率を返すかどうかを指定します。有効値:

  • true

    返す

  • false

    返さない

思考フェーズ (reasoning_content) 中に生成されたコンテンツは、対数確率を返しません。

サポートされているモデル

  • qwen-plus シリーズのスナップショットモデル (安定版モデルを除く)
  • qwen-turbo シリーズのスナップショットモデル (安定版モデルを除く)
  • qwen3-vl-plus シリーズモデル (安定版モデルを含む)
  • qwen3-vl-flash シリーズモデル (安定版モデルを含む)
  • Qwen3 オープンソースモデル

top_logprobs integer (任意) デフォルト値:0

各生成ステップで返す最も可能性の高い候補トークンの数を指定します。

値の範囲:[0, 5]

このパラメーターは、logprobs が true の場合にのみ有効です。

stopstring or array(任意)

ストップワードを指定するために使用されます。stop で指定された文字列または token_id が生成されたテキストに現れると、生成は直ちに停止します。

禁止用語を渡して、モデルの出力を制御できます。

stop が配列の場合、token_id と文字列の両方を要素として入力することはできません。たとえば、["Hello",104307] を指定することはできません。

toolsarray(任意)

関数呼び出しでモデルが呼び出すための 1 つ以上のツールオブジェクトを含む配列です。詳細については、「関数呼び出し」をご参照ください。

tools が設定され、モデルがツールを呼び出す必要があると判断した場合、応答は tool_calls にツール情報を返します。

プロパティ

typestring(必須)

ツールタイプです。現在、function のみがサポートされています。

functionobject(必須)

プロパティ

namestring(必須)

ツール名です。英字、数字、アンダースコア (_)、ハイフン (-) のみが使用できます。最大長は 64 トークンです。

descriptionstring(必須)

ツールの説明で、モデルがいつ、どのようにツールを呼び出すかを判断するのに役立ちます。

parametersobject(任意) デフォルト値:{}

ツールのパラメーターの説明で、有効な JSON スキーマである必要があります。JSON スキーマの説明については、リンクをご参照ください。parameters パラメーターが空の場合、ツールには時間クエリツールなどの入力パラメーターがありません。

ツール呼び出しの精度を向上させるために、parameters を渡すことを推奨します。

tool_choice string or object(任意) デフォルト値:auto

ツール選択戦略です。特定の種類の問題に対して特定のツール呼び出し方法を強制する場合 (常に特定のツールを使用するか、すべてのツールを無効にするなど)、このパラメーターを設定できます。

有効値:

  • auto

    大規模言語モデルがツール戦略を選択します。

  • none

    ツールを呼び出したくない場合は、tool_choice パラメーターを none に設定できます。

  • {"type": "function", "function": {"name": "the_function_to_call"}}

    特定のツールを強制的に呼び出したい場合は、tool_choice パラメーターを {"type": "function", "function": {"name": "the_function_to_call"}} に設定できます。ここで、the_function_to_call は指定されたツール関数の名前です。

    思考モードモデルは、特定のツールを強制的に呼び出すことをサポートしていません。

parallel_tool_calls boolean (任意) デフォルト値:false

並列ツール呼び出しを有効にするかどうかを指定します。詳細については、「並列ツール呼び出し」をご参照ください。

有効値:

  • true:有効化
  • false:無効化

enable_search boolean(任意) デフォルト値:false

Web 検索を有効にするかどうかを指定します。詳細については、「Web 検索」をご参照ください。

有効値:

  • true:有効化。

    有効にした後、Web 検索が実行されない場合は、プロンプトを最適化するか、search_options の forced_search パラメーターを設定して強制検索を有効にできます。

  • false:無効化。

Web 検索機能を有効にすると、トークンの消費量が増加する可能性があります。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"enable_search": True}。

search_optionsobject(任意)

Web 検索の戦略です。詳細については、「Web 検索」をご参照ください。

プロパティ

forced_search boolean(任意) デフォルト値:false

Web 検索を強制するかどうかを指定します。このパラメーターは、enable_search が true に設定されている場合にのみ有効です。

有効値:

  • true:強制的に有効化。
  • false:強制的に有効化しない。モデルが Web 検索を実行するかどうかを決定します。

search_strategy string(任意) デフォルト値:turbo

検索戦略です。このパラメーターは、enable_search が true に設定されている場合にのみ有効です。

有効値:

  • turbo (デフォルト):応答速度と検索効果のバランスを取ります。この戦略はほとんどのシナリオに適しています。

  • max:より包括的な検索戦略を採用します。この戦略は、複数のソースの検索エンジンを呼び出して、より詳細な検索結果を取得できますが、応答時間が長くなる可能性があります。

  • agent:Web 検索ツールと大規模言語モデルを複数回呼び出して、マルチターンの情報検索とコンテンツ統合を実現できます。

    この戦略は、qwen3.5-plus、qwen3.5-plus-2026-02-15、qwen3.5-flash、qwen3.5-flash-2026-02-23、qwen3-max、qwen3-max-2026-01-23、qwen3-max-2025-09-23、qwen3.5-omni-plus、qwen3.5-omni-plus-2026-03-15、qwen3.5-omni-flash、および qwen3.5-omni-flash-2026-03-15 にのみ適用されます。

  • agent_max:agent 戦略に基づいた Web スクレイピングをサポートします。詳細については、「Web スクレイピング」をご参照ください。

    この戦略は、qwen3-max および qwen3-max-2026-01-23 の思考モードにのみ適用されます。

enable_search_extension boolean(任意) デフォルト値:false

垂直検索を有効にするかどうかを指定します。このパラメーターは、enable_search が true に設定されている場合にのみ有効です。

有効値:

  • true:有効化。
  • false:無効化。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"search_options": xxx}。

clear_thinkingboolean(任意) デフォルト値:false

マルチターン対話における前のターンの reasoning_content (思考プロセス) をモデルのコンテキスト入力として使用するかどうかを制御します。このパラメーターは、GLM シリーズモデル glm-5.2、glm-5.1、glm-5、および glm-4.7 でのみサポートされています。

このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクトに配置してください。設定:extra_body={"skill": [...]}。

  • true:前のターンの reasoning_content を無視し、表示されているテキスト、ツール呼び出し、結果、およびその他の非推論コンテンツのみをコンテキスト入力として使用します。これにより、コンテキストの長さとコストを削減できます。
  • false (デフォルト):前のターンの reasoning_content を保持し、コンテキストとともにモデルに提供します。Preserved Thinking を有効にする場合は、過去の reasoning_content を完全、無修正、元の順序でメッセージ内に渡す必要があります。欠落、トリミング、書き換え、または順序変更は、パフォーマンスを低下させるか、失敗の原因となります。

テキスト入力

Python

import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
    # API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    # この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
    model="qwen3.8-max",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
    # extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())

Java

// このコードは OpenAI SDK バージョン 2.6.0 を使用しています
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;

public class Main {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
                .baseUrl("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1")
                .build();

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                .addUserMessage("Who are you?")
                .model("qwen3.8-max")
                .build();

        try {
            ChatCompletion chatCompletion = client.chat().completions().create(params);
            System.out.println(chatCompletion);
        } catch (Exception e) {
            System.err.println("Error occurred: " + e.getMessage());
            e.printStackTrace();
        }
    }
}

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:apiKey: "sk-xxx",
        // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        // {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.chat.completions.create({
        model: "qwen3.8-max",  // この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
        messages: [
            { role: "system", content: "You are a helpful assistant." },
            { role: "user", content: "Who are you?" }
        ],
    });
    console.log(JSON.stringify(completion))
}

main();

Go

package main

import (
	"context"
	"os"

	"github.com/openai/openai-go"
	"github.com/openai/openai-go/option"
)

func main() {
	client := openai.NewClient(
	        // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
		option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // デフォルトは os.LookupEnv("OPENAI_API_KEY")
		// {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
		option.WithBaseURL("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/"),
	)
	chatCompletion, err := client.Chat.Completions.New(
		context.TODO(), openai.ChatCompletionNewParams{
			Messages: openai.F(
				[]openai.ChatCompletionMessageParamUnion{
					openai.UserMessage("Who are you?"),
				},
			),
			Model: openai.F("qwen-plus"),
		},
	)

	if err != nil {
		panic(err.Error())
	}

	println(chatCompletion.Choices[0].Message.Content)
}

C# (HTTP)

using System.Net.Http.Headers;
using System.Text;

class Program
{
    private static readonly HttpClient httpClient = new HttpClient();

    static async Task Main(string[] args)
    {
        // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:string? apiKey = "sk-xxx";
        // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
        string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");

        if (string.IsNullOrEmpty(apiKey))
        {
            Console.WriteLine("API Key not set. Make sure the 'DASHSCOPE_API_KEY' environment variable is set.");
            return;
        }

        // リクエスト URL とコンテンツを設定します
        // {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
        string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions";
        // この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
        string jsonContent = @"{
            ""model"": ""qwen-plus"",
            ""messages"": [
                {
                    ""role"": ""system"",
                    ""content"": ""You are a helpful assistant.""
                },
                {
                    ""role"": ""user"",
                    ""content"": ""Who are you?""
                }
            ]
        }";

        // リクエストを送信し、応答を取得します
        string result = await SendPostRequestAsync(url, jsonContent, apiKey);

        // 結果を出力します
        Console.WriteLine(result);
    }

    private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
    {
        using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
        {
            // リクエストヘッダーを設定します
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // リクエストを送信し、応答を取得します
            HttpResponseMessage response = await httpClient.PostAsync(url, content);

            // 応答を処理します
            if (response.IsSuccessStatusCode)
            {
                return await response.Content.ReadAsStringAsync();
            }
            else
            {
                return $"Request failed: {response.StatusCode}";
            }
        }
    }
}

PHP (HTTP)

<?php
// リクエスト URL を設定します
// {WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
$url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions';
// 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:$apiKey = "sk-xxx";
// API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
$apiKey = getenv('DASHSCOPE_API_KEY');
// リクエストヘッダーを設定します
$headers = [
    'Authorization: Bearer '.$apiKey,
    'Content-Type: application/json'
];
// リクエストボディを設定します
$data = [
    // この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
    "model" => "qwen-plus",
    "messages" => [
        [
            "role" => "system",
            "content" => "You are a helpful assistant."
        ],
        [
            "role" => "user",
            "content" => "Who are you?"
        ]
    ]
];
// cURL セッションを初期化します
$ch = curl_init();
// cURL オプションを設定します
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// cURL セッションを実行します
$response = curl_exec($ch);
// エラーをチェックします
if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
}
// cURL リソースを閉じます
curl_close($ch);
// 応答を出力します
echo $response;
?>

curl

{WorkspaceId} をワークスペース ID に置き換えてください。URL はリージョンによって異なります。API キーは https://www.alibabacloud.com/help/model-studio/get-api-key で取得できます。

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.8-max",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "Who are you?"
        }
    ]
}'

ストリーミング出力

使用方法の詳細については、「ストリーミング出力」をご参照ください。

Python

import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、次の行をお使いの Model Studio API キーに置き換えます: api_key="sk-xxx"
    # API キーはリージョンによって異なります。 API キーの取得: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen3.8-max",  # この例では qwen-plus を使用します。 必要に応じて、別のモデル名に置き換えることができます。 モデルリスト: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': 'Who are you?'}],
    stream=True,
    stream_options={"include_usage": True}
    )
for chunk in completion:
    print(chunk.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.chat.completions.create({
        model: "qwen3.8-max", // この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
        messages: [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Who are you?"}
        ],
        stream: true,
    });
    for await (const chunk of completion) {
        console.log(JSON.stringify(chunk));
    }
}

main();

curl

{WorkspaceId} をワークスペース ID に置き換えてください。URL はリージョンによって異なります。API キーは https://www.alibabacloud.com/help/model-studio/get-api-key で取得できます。

curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen3.8-max",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "Who are you?"
        }
    ],
    "stream":true
}'

画像入力

大規模言語モデルが画像を分析する方法の詳細については、「画像とビデオの理解」をご参照ください。

Python

import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
    # API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-vl-plus",  // この例では qwen-vl-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/models
    messages=[{"role": "user","content": [
            {"type": "image_url",
             "image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
            {"type": "text", "text": "What is this?"},
            ]}]
    )
print(completion.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const response = await openai.chat.completions.create({
        model: "qwen-vl-max", // この例では qwen-vl-max を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/models
        messages: [{role: "user",content: [
            { type: "image_url",image_url: {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
            { type: "text", text: "What is this?" },
        ]}]
    });
    console.log(JSON.stringify(response));
}

main();

curl

{WorkspaceId} をワークスペース ID に置き換えてください。URL はリージョンによって異なります。API キーは https://www.alibabacloud.com/help/model-studio/get-api-key で取得できます。

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
  "model": "qwen-vl-plus",
  "messages": [{
      "role": "user",
      "content": [
       {"type": "image_url","image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
       {"type": "text","text": "What is this?"}
       ]}]
}'

ビデオ入力

次の例は、画像のリストを渡す方法を示しています。ビデオファイルの受け渡しなど、使用方法の詳細については、「視覚理解」をご参照ください。

Python

import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
    # API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    # この例では qwen-vl-max を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/models
    model="qwen-vl-max",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": [
                    "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"]
            },
            {
                "type": "text",
                "text": "Describe the specific process in this video"
            }]}]
)
print(completion.model_dump_json())

Node.js

// package.json で "type": "module" を指定していることを確認してください
import OpenAI from "openai";

const openai = new OpenAI({
    // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:apiKey: "sk-xxx",
    // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    const response = await openai.chat.completions.create({
        // この例では qwen-vl-max を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/models
        model: "qwen-vl-max",
        messages: [{
            role: "user",
            content: [
                {
                    type: "video",
                    video: [
                        "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
                    ]
                },
                {
                    type: "text",
                    text: "Describe the specific process in this video"
                }
        ]}]
    });
    console.log(JSON.stringify(response));
}

main();

curl

{WorkspaceId} をワークスペース ID に置き換えてください。URL はリージョンによって異なります。詳細については、「API キーの取得」をご参照ください。

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen-vl-max",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "video",
                    "video": [
                        "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
                    ]
                },
                {
                    "type": "text",
                    "text": "Describe the specific process in this video"
                }
            ]
        }
    ]
}'

ツール呼び出し

完全な関数呼び出しプロセスのコードについては、「関数呼び出し」をご参照ください。

モデルの知識カットオフ

大規模言語モデルは、知識カットオフのあるトレーニングデータに基づいて応答を生成します。モデルは、実際の現在の日付を単独で認識することはできません。現在の日付を尋ねると、モデルはトレーニングカットオフ前の古い日付を返します。これはパラメーターの誤設定ではありません。

正確な現在時刻を取得する方法:

  1. 関数呼び出し:モデルが関数呼び出しを通じてリアルタイムを取得できるように、get_current_time ツールを定義します。以下のツール呼び出しの例をご参照ください。
  2. システムプロンプトインジェクション:現在の日付をシステムメッセージに注入します。呼び出しごとに日付を動的に渡す必要があります。
  3. Web 検索:enable_search はリアルタイム情報を取得しますが、現在時刻を直接取得することはできません。

Python

import os
from openai import OpenAI

client = OpenAI(
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:api_key="sk-xxx"
    # API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

tools = [
    # ツール 1:現在時刻を取得
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "現在時刻を知りたいときに便利です。",
            "parameters": {}  // 現在時刻の取得には入力パラメーターが不要なため、parameters は空の辞書です
        }
    },
    # ツール 2:指定された都市の天気を取得
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "指定された都市の天気を照会したいときに便利です。",
            "parameters": {
                "type": "object",
                "properties": {
                    // 天気を照会するには場所を指定する必要があるため、パラメーターは location に設定されます
                    "location": {
                        "type": "string",
                        "description": "北京、杭州、余杭区などの都市または地区。"
                    }
                },
                "required": ["location"]
            }
        }
    }
]
messages = [{"role": "user", "content": "What's the weather like in Hangzhou?"}]
completion = client.chat.completions.create(
    model="qwen3.8-max",  // この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
    messages=messages,
    tools=tools
)

print(completion.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください:apiKey: "sk-xxx",
        // API キーはリージョンによって異なります。API キーの取得:https://www.alibabacloud.com/help/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

const messages = [{"role": "user", "content": "What's the weather like in Hangzhou?"}];
const tools = [
// ツール 1:現在時刻を取得
{
    "type": "function",
    "function": {
        "name": "get_current_time",
        "description": "現在時刻を知りたいときに便利です。",
        // 現在時刻の取得には入力パラメーターが不要なため、parameters は空です
        "parameters": {}
    }
},
// ツール 2:指定された都市の天気を取得
{
    "type": "function",
    "function": {
        "name": "get_current_weather",
        "description": "指定された都市の天気を照会したいときに便利です。",
        "parameters": {
            "type": "object",
            "properties": {
                // 天気を照会するには場所を指定する必要があるため、パラメーターは location に設定されます
                "location": {
                    "type": "string",
                    "description": "北京、杭州、余杭区などの都市または地区。"
                }
            },
            "required": ["location"]
        }
    }
}
];

async function main() {
    const response = await openai.chat.completions.create({
        model: "qwen3.8-max", // この例では qwen-plus を使用しています。必要に応じて別のモデル名に置き換えることができます。モデルリスト:https://www.alibabacloud.com/help/model-studio/getting-started/models
        messages: messages,
        tools: tools,
    });
    console.log(JSON.stringify(response));
}

main();

curl

{WorkspaceId} をワークスペース ID に置き換えてください。URL はリージョンによって異なります。詳細については、「API キーの取得」をご参照ください。

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3.8-max",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user",
            "content": "What is the weather like in Hangzhou?"
        }
    ],
    "tools": [
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "Useful when you want to know the current time.",
            "parameters": {}
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Useful when you want to query the weather of a specified city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location":{
                        "type": "string",
                        "description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
                    }
                },
                "required": ["location"]
            }
        }
    }
  ]
}'

非同期呼び出し

import os
import asyncio
from openai import AsyncOpenAI
import platform

client = AsyncOpenAI(
    # 環境変数が設定されていない場合は、次の行をご自身の Model Studio API キーに置き換えてください: api_key="sk-xxx"
    # 中国 (北京) リージョンのモデルを使用する場合は、中国 (北京) リージョン用の API キーを使用する必要があります。 取得リンク: https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

async def main():
    response = await client.chat.completions.create(
        messages=[{"role": "user", "content": "Who are you?"}],
        model="qwen3.8-max",  # この例では qwen-plus を使用しています。 必要に応じて、別のモデル名に置き換えることができます。 モデルリスト: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    )
    print(response.model_dump_json())

if platform.system() == "Windows":
    asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())

チャット応答オブジェクト (非ストリーミング出力)

idstring

この呼び出しの一意の識別子です。

choicesarray

モデルによって生成されたコンテンツの配列です。

プロパティ

finish_reasonstring

モデルが生成を停止した理由です。

以下の 3 つのシナリオを考慮してください:

  • stop:モデルは、入力の stop パラメーターをトリガーしたか、自然に停止したため、生成を停止しました。
  • length:生成長が長すぎるため、モデルは生成を停止しました。
  • tool_calls:ツールを呼び出す必要があるため、モデルは生成を停止しました。

indexinteger

choices 配列内のこのオブジェクトのインデックスです。

logprobsobject

モデルの出力のトークン確率情報です。

プロパティ

content array

各トークンとその対数確率を含む配列です。

プロパティ

token string

現在のトークンのテキストです。

bytes array

現在のトークンの生の UTF-8 バイトのリストです。これは、絵文字や漢字などの出力コンテンツを正確に復元するために使用されます。

logprob float

現在のトークンの対数確率です。戻り値 null は、確率が非常に低いことを示します。

top_logprobs array

現在のトークン位置で最も可能性の高い候補トークンです。トークンの数は、top_logprobs リクエストパラメーターと一致します。各要素には以下が含まれます:

プロパティ

token string

候補トークンのテキストです。

bytes array

現在のトークンの生の UTF-8 バイトのリストです。これは、絵文字や漢字などの出力コンテンツを正確に復元するために使用されます。

logprob float

この候補トークンの対数確率です。null 値は、確率が非常に低いことを示します。

messageobject

モデルによって出力されるメッセージです。

プロパティ

content string

モデルの応答のコンテンツです。

reasoning_content string

モデルの Chain-of-Thought コンテンツです。

refusal string

このパラメーターは現在 null に固定されています。

role string

メッセージのロールです。値は assistant に固定されています。

audio object

このパラメーターは現在 null に固定されています。

function_call (非推奨予定)object

この値は null に固定されています。詳細については、tool_calls パラメーターをご参照ください。

tool_calls array

モデルが呼び出すことを決定したツールとその入力パラメーターに関する情報です。

プロパティ

id string

このツール呼び出しの一意の識別子です。

type string

ツールタイプです。現在、function のみがサポートされています。

function object

ツールの詳細

プロパティ

name string

ツール名です。

arguments string

JSON 形式の文字列としての入力パラメーター情報です。

大規模言語モデルの応答はランダムであるため、出力パラメーター情報が関数シグネチャに準拠していない場合があります。関数を呼び出す前にパラメーターを検証する必要があります。

index integer

tool_calls 配列内のこのツール呼び出しのインデックスです。

createdinteger

リクエストが作成されたときの Unix タイムスタンプ (秒単位) です。

modelstring

このリクエストに使用されるモデルです。

object string

値は常に chat.completion です。

service_tier string

このパラメーターは現在 null に固定されています。

system_fingerprintstring

このパラメーターは現在 null に固定されています。

usage object

このリクエストのトークン消費情報です。

プロパティ

completion_tokens integer

モデルの出力のトークン数です。

prompt_tokens integer

入力トークンの数です。詳細については、「追加の注意点」をご参照ください。

total_tokens integer

消費された合計トークン数です。これは prompt_tokens と completion_tokens の合計です。

completion_tokens_details object (任意)

出力トークンの詳細な分類です。このフィールドは一部のモデルでのみ返されます。

プロパティ

audio_tokens integer (任意)

出力オーディオトークンの数です。このフィールドはオーディオ出力モデルでのみ返されます。

reasoning_tokens integer (任意)

思考プロセスのトークン数です。このフィールドは推論モデルでのみ返されます。

text_tokens integer (任意)

出力テキストのトークン数です。

prompt_tokens_details object

入力トークンの詳細な分類です。

プロパティ

audio_tokens integer

このパラメーターは現在 null に固定されています。

cached_tokens integer

キャッシュにヒットしたトークンの数です。コンテキストキャッシュの詳細については、「コンテキストキャッシュ」をご参照ください。

text_tokens integer

入力テキストトークンの数です。

image_tokens integer

入力画像トークンの数です。

video_tokens integer

入力ビデオファイルまたは画像リストのトークン数です。

cache_creation object

明示的なキャッシュ作成情報です。

プロパティ

ephemeral_5m_input_tokens integer

明示的なキャッシュを作成するために使用されるトークンの数です。

cache_creation_input_tokens integer

明示的なキャッシュを作成するために使用されるトークンの数です。

cache_type string

明示的なキャッシュを使用する場合、パラメーター値は ephemeral です。それ以外の場合、このパラメーターは存在しません。

{
    "choices": [
        {
            "message": {
                "role": "assistant",
                "content": "I am a large-scale language model developed by Alibaba Cloud. My name is Qwen."
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 3019,
        "completion_tokens": 104,
        "total_tokens": 3123,
        "prompt_tokens_details": {
            "cached_tokens": 2048
        }
    },
    "created": 1735120033,
    "system_fingerprint": null,
    "model": "qwen3.8-max",
    "id": "chatcmpl-6ada9ed2-7f33-9de2-8bb0-78bd4035025a"
}

チャット応答チャンクオブジェクト (ストリーミング出力)

idstring

この呼び出しの一意の識別子です。各チャンクオブジェクトは同じ ID を持ちます。

choicesarray

モデルによって生成されたコンテンツの配列で、1 つ以上のオブジェクトを含むことができます。include_usage パラメーターが true に設定されている場合、choices は最後のチャンクで空の配列になります。

プロパティ

delta object

リクエストの増分オブジェクトです。

プロパティ

content string

増分メッセージコンテンツです。

reasoning_content string

増分 Chain-of-Thought コンテンツです。

function_call object

この値はデフォルトで null です。詳細については、tool_calls パラメーターをご参照ください。

audioobject

Qwen-Omni モデルを使用するときに生成される応答です。

プロパティ

data string

増分 Base64 エンコードされた音声データです。

expires_at integer

リクエストが作成されたときのタイムスタンプです。

refusal object

このパラメーターは現在 null に固定されています。

role string

増分メッセージオブジェクトのロールです。最初のチャンクにのみ値があります。

tool_calls array

モデルが呼び出すことを決定したツールとその入力パラメーターに関する情報です。

プロパティ

index integer

tool_calls 配列内のこのツール呼び出しのインデックスです。

id string

このツール呼び出しの一意の識別子です。

function object

呼び出されたツールに関する情報です。

プロパティ

arguments string

増分入力パラメーターです。すべてのチャンクからの arguments は、完全な入力パラメーターセットを形成するために連結されます。

大規模言語モデルの応答はランダムであるため、出力パラメーター情報が関数シグネチャに準拠していない場合があります。関数を呼び出す前にパラメーターを検証する必要があります。

name string

ツール名です。最初のチャンクにのみ値があります。

type string

ツールタイプです。現在、function のみがサポートされています。

finish_reason string

モデルが生成を停止した理由です。値は以下のいずれかになります:

  • stop:モデルは、入力の stop パラメーターをトリガーしたか、自然に停止したため、生成を停止しました。
  • 生成が完了するまで、値は null です。
  • length:生成長が長すぎるため、モデルは生成を停止しました。
  • tool_calls:ツールを呼び出す必要があるため、モデルは生成を停止しました。

index integer

choices 配列内の現在の応答のインデックスです。入力パラメーター n が 1 より大きい場合、このパラメーターを使用して、異なる応答に対応する完全なコンテンツを連結できます。

logprobsobject

現在のオブジェクトの確率情報です。

プロパティ

content array

対数確率情報を持つトークンの配列です。

プロパティ

token string

現在のトークンです。

bytes array

現在のトークンの生の UTF-8 バイトのリストです。これは、絵文字や漢字を処理する際に役立ちます。

logprob float

現在のトークンの対数確率です。null 値は、確率が非常に低いことを示します。

top_logprobs array

現在のトークン位置で最も可能性の高いトークンとその対数確率です。要素の数は、top_logprobs 入力パラメーターと一致します。

プロパティ

token string

現在のトークンです。

bytes array

現在のトークンの生の UTF-8 バイトのリストです。これは、絵文字や漢字を処理する際に役立ちます。

logprob float

現在のトークンの対数確率です。null 値は、確率が非常に低いことを示します。

createdinteger

このリクエストが作成されたときのタイムスタンプです。各チャンクは同じタイムスタンプを持ちます。

modelstring

このリクエストに使用されるモデルです。

object string

値は常に chat.completion.chunk です。

service_tier string

このパラメーターは現在 null に固定されています。

system_fingerprintstring

このパラメーターは現在 null に固定されています。

usage object

このリクエストによって消費されたトークンです。include_usage が true に設定されている場合、最後のチャンクにのみ表示されます。

プロパティ

completion_tokens integer

モデルの出力のトークン数です。

prompt_tokens integer

入力トークンの数です。

total_tokens integer

合計トークン数で、prompt_tokens と completion_tokens の合計です。

completion_tokens_details object (任意)

出力トークンの詳細情報です。このフィールドは一部のモデルでのみ返されます。

プロパティ

audio_tokensinteger (任意)

出力オーディオトークンの数です。このフィールドはオーディオ出力モデルでのみ返されます。

reasoning_tokens integer (任意)

思考プロセスのトークン数です。このフィールドは推論モデルでのみ返されます。

text_tokensinteger (任意)

出力テキストトークンの数です。

prompt_tokens_details object

入力トークンの詳細な分類です。

プロパティ

audio_tokens integer

入力オーディオトークンの数です。

ビデオファイルのオーディオトークン数は、このパラメーターで返されます。

text_tokens integer

入力テキストトークンの数です。

video_tokens integer

画像リストまたはビデオファイルである入力ビデオのトークン数です。

image_tokens integer

入力画像トークンの数です。

cached_tokens integer

キャッシュにヒットしたトークンの数です。コンテキストキャッシュの詳細については、「コンテキストキャッシュ」をご参照ください。

cache_creation object

明示的なキャッシュ作成情報です。

プロパティ

ephemeral_5m_input_tokens integer

明示的なキャッシュを作成するために使用されるトークンの数です。

cache_creation_input_tokens integer

明示的なキャッシュを作成するために使用されるトークンの数です。

cache_type string

キャッシュタイプです。値は ephemeral に固定されています。

{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"I am","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" a large-scale","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" language","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" model from Alibaba","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" Cloud. My name","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" is Qwen","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":".","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":17,"prompt_tokens":22,"total_tokens":39,"completion_tokens_details":null,"prompt_tokens_details":{"audio_tokens":null,"cached_tokens":0}}}

エラーコード

モデルの呼び出しが失敗し、エラーメッセージが返された場合は、「エラーコード」を参照して問題を解決してください。