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

Alibaba Cloud Model Studio:DashScope API リファレンス

最終更新日:Sep 02, 2026

DashScope API を使用して Qwen モデルを呼び出すことができます。このトピックでは、入力パラメーターと出力パラメーターについて説明し、呼び出し例を示します。

シンガポール

HTTP リクエストアドレス:

  • プレーンテキストモデル (qwen-plus など):POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • マルチモーダルモデル (qwen3.7-plus、qwen3-vl-plus など):POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出し構成の base_url は以下のとおりです。

Python コード

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

Java コード

  • メソッド 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
  • メソッド 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";

米国 (バージニア)

HTTP リクエストアドレス:

  • プレーンテキストモデル:POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • Qwen-VL モデル:POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出し構成の base_url は、以下のとおりです。

Python コード

dashscope.base_http_api_url = 'https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1'

Java コード

  • メソッド 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1");
  • メソッド 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1";

中国 (北京)

HTTP リクエストアドレス:

  • プレーンテキストモデル (qwen-plus など):POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • マルチモーダルモデル (qwen3.7-plus、qwen3-vl-plus など):POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出し構成の base_url は次のとおりです。

Python コード

dashscope.base_http_api_url = 'https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1'

Java コード

  • メソッド 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1");
  • メソッド 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1";

香港 (中国)

HTTP リクエストアドレス:

  • プレーンテキストモデル (qwen-plus など):POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • マルチモーダルモデル (qwen3.7-plus、qwen3-vl-plus など):POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出し構成の base_url は次のとおりです。

Python コード

dashscope.base_http_api_url = 'https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1'

Java コード

  • メソッド 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1");
  • メソッド 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/api/v1";

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

HTTP リクエストアドレス:

  • プレーンテキストモデル (qwen-plus など) の場合:POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • マルチモーダルモデル (qwen3.7-plus、qwen3-vl-plus など) の場合:POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出し構成のbase_url は、次のとおりです。

Python コード

dashscope.base_http_api_url = 'https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1'

Java コード

  • メソッド 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1");
  • メソッド 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/api/v1";

日本 (東京)

HTTP リクエストアドレス:

  • プレーンテキストモデル (qwen-plus など):POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation
  • マルチモーダルモデル (qwen3.7-plus、qwen3-vl-plus など):POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

SDK 呼び出し構成の base_url は以下のとおりです。

Python コード

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1'

Java コード

  • メソッド 1:
import com.alibaba.dashscope.protocol.Protocol;
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1");
  • メソッド 2:
import com.alibaba.dashscope.utils.Constants;
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/api/v1";

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

API キーを取得し、環境変数として設定する必要があります。DashScope SDK を使用して呼び出しを行う場合は、DashScope 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、数学モデル、DeepSeek、Kimi、GLM、および MiniMax が含まれます。

具体的なモデル名と請求明細については、「モデルの選択」をご参照ください

messagesarray(必須)

大規模言語モデル (LLM) に渡すコンテキストを、対話の順序で配置します。

HTTP 経由で呼び出す場合は、messagesinput オブジェクト内に配置します。

メッセージタイプ

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

LLM のロール、トーン、タスクの目的、または制約を設定するためのシステムメッセージです。通常、messages 配列の最初に配置されます。

QwQ モデルにシステムメッセージを設定することは推奨しません。システムメッセージは QVQ モデルには効果がありません。

プロパティ

contentstring(必須)

メッセージのコンテンツ。

rolestring(必須)

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

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

モデルに質問、命令、またはコンテキストを渡すために使用されるユーザーメッセージ。

プロパティ

contentstring または array(必須)

メッセージのコンテンツ。入力がテキストのみの場合、このパラメーターは文字列です。入力に画像などのマルチモーダルデータが含まれる場合、または明示的なキャッシュが有効になっている場合、このパラメーターは配列です。

プロパティ

textstring(必須)

入力テキスト。

imagestring (任意)

画像理解のための画像ファイル。画像は次の 3 つの方法のいずれかで渡すことができます:

  • 公開 URL:公開アクセス可能な画像リンク。
  • イメージの Base64 エンコーディング (data:image/<format>;base64,<data> フォーマット)。
  • ローカルファイル:ローカルファイルの絶対パス。

適用モデル:Qwen-VLQVQ

例: {"image":"https://xxxx.jpeg"}

videoarray または string (任意)

Qwen-VL モデルまたは QVQ モデルを使用する際に渡すビデオ。

  • イメージリストを渡した場合、タイプは 配列 です。
  • 動画ファイルを渡した場合、型は文字列

ローカルファイルを渡すには、「ローカルファイル (Qwen-VL)」または「ローカルファイル (QVQ)」をご参照ください。

例:

  • 画像リスト:{"video":["https://xx1.jpg",...,"https://xxn.jpg"]}
  • 動画ファイル: {"video":"https://xxx.mp4"}

fpsfloat(任意)

1 秒あたりに抽出するフレーム数。値は [0.1, 10] の範囲でなければなりません。デフォルト値は 2.0 です。

説明

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

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

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

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

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

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

  • イメージリストを渡す場合: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
  • 動画ファイルを渡す場合: {"video": "https://xx1.mp4","fps":2}

max_framesinteger(任意)

動画から抽出できるフレームの最大数です。fps に基づいて計算されたフレーム数が max_frames を超える場合、システムは max_frames の制限内でフレームを均等に抽出するように自動的に調整します。これにより、フレームの総数が制限を超えないようになります。

有効値

  • qwen3.7 シリーズ、qwen3.6 シリーズ、qwen3.5 シリーズ:最大値およびデフォルト値は 8000 です。
  • qwen3-vl-plus シリーズ、qwen3-vl-flash シリーズ、qwen3-vl-235b-a22b-thinkingqwen3-vl-235b-a22b-instruct: 最大値およびデフォルト値は 2000 です。
  • qwen-vl-maxqwen-vl-max-0813qwen-vl-plusqwen-vl-plus-0815 の最大値およびデフォルト値は 512 です。

サンプル値

{"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_frame": 2000}

OpenAI 互換 API で呼び出す場合、max_frames パラメーターはカスタマイズできません。API は各モデルのデフォルト値を自動的に使用します。

min_pixelsinteger(任意)

入力イメージまたはビデオフレームの最小ピクセルしきい値を設定します。 入力イメージまたはビデオフレームの総ピクセル数が min_pixels 未満の場合、その総ピクセル数が min_pixels を超えるまで、イメージまたはフレームは拡大されます。

値の範囲

  • 画像入力:
    • Qwen3.7, Qwen3.6, Qwen3.5Qwen3-VL のデフォルト値および最小値は 65536 です。
    • qwen-vl-maxqwen-vl-max-0813qwen-vl-plusqwen-vl-plus-0815: デフォルト値および最小値は 4096 です。
    • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデルでは、デフォルト値および最小値は 3136 です。
  • ビデオファイルまたは画像リスト入力:
    • Qwen3.7, Qwen3.6, Qwen3.5、Qwen3-VL (商用およびオープンソースエディション)、qwen-vl-maxqwen-vl-max-0813qwen-vl-plusqwen-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 未満になるまで縮小されます。

有効値

  • 画像入力:

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

    • vl_high_resolution_imagesFalse の場合:

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

      • Qwen3.7, Qwen3.6, Qwen3.5、Qwen3-VL、qwen-vl-maxqwen-vl-max-0813qwen-vl-plusqwen-vl-plus-0815 では、max_pixels は無効です。入力イメージの最大ピクセル数は 16777216 に固定されています。
      • その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズのモデルでは、max_pixels は無効です。入力画像の最大ピクセル数は 12845056 に固定されています。
  • ビデオファイルまたは画像リスト入力:
    • qwen3.7 シリーズ、qwen3.6 シリーズ、qwen3.5 シリーズ、qwen3-vl-plus シリーズ、qwen3-vl-flash シリーズ、qwen3-vl-235b-a22b-thinkingqwen3-vl-235b-a22b-instruct: デフォルト値は 655360、最大値は 2048000 です。
    • その他の Qwen3-VL オープンソース モデル、qwen-vl-maxqwen-vl-max-0813qwen-vl-plusqwen-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(任意)

ビデオから抽出されるすべてのフレームの総ピクセル数 (1 フレームあたりのピクセル数 × 総フレーム数) を制限します。ビデオの総ピクセル数がこの制限を超えた場合、システムは 1 フレームの画素値が [min_pixels, max_pixels] の範囲内に収まるようにビデオフレームをスケールダウンします。これは Qwen-VL モデルおよび QVQ モデルに適用されます。

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

値の範囲

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

  • 動画ファイルの入力:{"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 パラメーターが指定されている場合にのみ、任意です。

rolestring(必須)

値は assistant である必要があります。

partialboolean(任意)

部分補完モードを有効にするかどうかを指定します。詳細およびサポートされているモデルのリストについては、「部分補完モード」をご参照ください。

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(必須)

ツール関数の出力コンテンツ。文字列形式である必要があります。

rolestring(必須)

値は tool である必要があります。

tool_call_idstring(任意)

関数呼び出しを開始した後に返される ID です。response.output.choices[0].message.tool_calls[$index]["id"] を使用して取得できます。これは、ツールメッセージに対応するツールを識別するために使用されます。

temperaturefloat(任意)

サンプリング温度。モデルが生成するテキストの多様性をコントロールします。

温度が高いほどテキストは多様になり、低いほど決定論的になります。

有効値:[0, 2)

HTTP 経由で呼び出す場合は、temperatureparameters オブジェクト内に配置します。

QVQ モデルのデフォルトの温度値を変更することは推奨しません。

top_pfloat(任意)

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

top_p 値が高いほどテキストは多様になり、低いほど決定論的になります。

有効値:(0, 1.0]。

Java SDK では、このパラメーターは topP*です。*HTTP 経由で呼び出す場合は、top_pparameters オブジェクト内に配置します。

QVQ モデルのデフォルトの top_p 値を変更することは推奨しません。

top_kinteger(任意)

生成時のサンプリングにおけるサンプル候補セットのサイズ。たとえば、このパラメーターを 50 に設定すると、1 回の生成で最もスコアの高い 50 個のトークンのみがランダムサンプリングのサンプル候補セットを形成するために使用されます。値が大きいほどランダム性が増し、小さいほど決定論的になります。None または 100 より大きい値は、top_k 戦略が有効になっておらず、top_p 戦略のみが有効であることを示します。

値は 0 以上である必要があります。

デフォルトの top_k 値

QVQ シリーズ:10

QwQ シリーズ:40

残りの qwen-vl-plus シリーズ以前のモデル、:1

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

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

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

Java SDK では、このパラメーターは topK*です。*HTTP 経由で呼び出す場合は、top_kparameters オブジェクト内に配置します。

QVQ モデルのデフォルトの top_k 値を変更することは推奨しません。

enable_thinking boolean (任意)

ハイブリッド思考モデルの思考モードを有効にするかどうかを指定します。これは、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3、および Qwen3-VL モデル、ならびに DeepSeek-V4-Pro/V4-Flash シリーズ、DeepSeek-V3.2/V3.2-exp/V3.1 シリーズ、Kimi-K2.6/K2.5 シリーズ、および GLM シリーズに適用されます。DeepSeek-V4 シリーズでは、思考モードがデフォルトで有効になっています。reasoning_effort パラメーターを使用して、推論エフォートを調整できます。

有効な値:

  • true: 機能が有効になります。

    有効にした場合、思考内容は reasoning_content フィールドに返されます。

  • false: 無効

各モデルのデフォルト値については、「サポートされているモデル」をご参照ください。

Java SDK では、このパラメーターは enableThinking です。HTTP 経由で呼び出す場合は、enable_thinkingparameters オブジェクト内に配置します。

preserve_thinking boolean (任意) デフォルト値は 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_contentcontent フィールドに連結しないでください。モデルのパフォーマンスが低下する可能性があります。

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

HTTP 経由で呼び出す場合は、preserve_thinkingparameters オブジェクト内に配置してください。Java SDK はサポートされていません。

thinking_budget integer (任意)

思考プロセスの最大長。これは Qwen3.8、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL、Qwen3、GLM および Kimi モデルに適用されます。詳細については、「思考長の制限」をご参照ください。

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

Java SDK では、このパラメーターは thinkingBudget です。HTTP 経由で呼び出す場合は、thinking_budgetparameters オブジェクト内に配置します。

デフォルト値は、モデルの最大 Chain-of-Thought 長です。

reasoning_effort string (任意)

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

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

有効な値は、high (高強度の推論) と max (最大強度の推論) です。lowmediumhigh に、xhighmax にマップされます。

これは glm-5.2、glm-5.1、glm-5、deepseek-v4-pro、および deepseek-v4-flash に適用されます。

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) が使用されます。

HTTP 経由で呼び出す場合は、reasoning_effortparameters オブジェクト内に配置します。

tool_stream boolean (任意) デフォルト値は false です。

このパラメーターは、複雑なツールパラメーターのストリーミング出力の動作にのみ影響し、ストリーミング呼び出しでのみ有効です。すべてのパラメータータイプが文字列であるシンプルなツールパラメーターは、ストリーミング呼び出しが有効になっている限りストリーミングできます。tool_stream はそれらには影響しません。複雑なツールとは、ツール定義において一部のパラメータータイプが配列またはオブジェクトであるツールです。現在、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=false の場合、複雑なツールパラメーターがまとめて出力されます。これはデフォルトの動作であり、複雑なフォーマットの方がより正確です。
  • tool_stream=true: 複雑なツールパラメーターがストリーム出力されます。これにより、複雑なフォーマットでのタイムアウトのリスクを回避できます。

複雑なツールとは、ツール定義の一部のパラメータータイプが配列またはオブジェクトであるツールです。

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

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

HTTP 経由で呼び出す場合は、tool_streamparameters オブジェクト内に配置します。

enable_code_interpreter ブール値 (任意) デフォルト値は false です。

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

有効な値:

  • true: 機能を有効にします。
  • false: 機能を無効にします。

Java SDK はサポートされていません。HTTP 経由で呼び出す場合は、enable_code_interpreterparameters オブジェクト内に配置します。

clear_thinkingboolean(任意) デフォルト値は false です。

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

  • true: 機能を有効にします。この設定を有効にすると、以前のターンの reasoning_content は無視され、表示テキスト、ツール呼び出し、および結果のみがコンテキスト入力として使用されます。これにより、コンテキスト長とコストを削減できます。
  • false (デフォルト): この機能を無効にします。これにより、以前のターンのreasoning_contentが保持され、コンテキストとともにモデルに提供されます。思考の保持を有効にする場合は、履歴のreasoning_contentを、メッセージ内で完全かつ未変更の状態で、元の順序で渡す必要があります。欠落、トリミング、書き換え、または順序の変更を行うと、パフォーマンスが低下したり、機能が有効にならなくなったりします。

repetition_penaltyfloat(任意)

モデル生成中に連続するシーケンスを繰り返すことに対するペナルティ。repetition_penalty 値が高いほど、モデルの出力における繰り返しを減らすことができます。1.0 の値はペナルティなしを示します。値は 0 より大きい必要があります。

Java SDK では、このパラメーターは repetitionPenalty*です。*HTTP 経由で呼び出す場合は、repetition_penaltyparameters オブジェクト内に配置します。

qwen-vl-plus_2025-01-25 モデルを使用してテキストを抽出する場合、repetition_penalty を 1.0 に設定することを推奨します。

QVQ モデルのデフォルトの repetition_penalty 値を変更することは推奨しません。

presence_penaltyfloat(任意)

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

有効値:[-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 モデルにはデフォルト値がありません。

仕組み

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

プロンプト: この文を中国語に翻訳してください: "This movie is good. The plot is good, the acting is good, the music is good, and overall, the whole movie is just good. It is really good, in fact. The plot is so good, and the acting is so good, and the music is so good."

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

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

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

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

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

Java SDK はこのパラメーターの設定をサポートしていません*。*HTTP 経由で呼び出す場合は、presence_penaltyparameters オブジェクト内に配置します。

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

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

  • vl_high_resolution_images: true は、固定解像度方式を使用し、max_pixels 設定を無視します。解像度を超過した場合、この制限内に収まるようにイメージの総ピクセル数が縮小されます。

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

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

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

Java SDK では、このパラメーターは vlHighResolutionImages (V2.20.8 以降が必要)*です。*HTTP 経由で呼び出す場合は、vl_high_resolution_imagesparameters オブジェクト内に配置します。

vl_enable_image_hw_outputブール値(オプション) デフォルト値は false です。

スケーリングされた画像のディメンションを返すかどうかを指定します。モデルは入力画像をスケーリングします。このパラメーターを True に設定すると、スケーリングされた画像の高さと幅が返されます。ストリーミング出力が有効になっている場合、この情報は最後のチャンクで返されます。これは Qwen-VL モデルでサポートされています。

Java SDK では、このパラメーターは vlEnableImageHwOutput です。必要な最小 Java SDK バージョンは 2.20.8*です。*HTTP 経由で呼び出す場合は、vl_enable_image_hw_outputparameters オブジェクト内に配置します。

max_tokensinteger(任意、非推奨予定)

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

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

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

デフォルト値と最大値は両方ともモデルの最大出力長です。

Java SDK では、このパラメーターは maxTokens です。Qwen-VL モデルの場合、Java SDK では maxLength ですが、2.18.4 以降のバージョンでは maxTokens として設定することもサポートしています*。*HTTP 経由で呼び出す場合は、max_tokensparameters オブジェクト内に配置します。

max_completion_tokensinteger(任意)

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

デフォルト値と最大値は両方ともモデルの最大出力長です。

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 トークンの差異が生じる場合があります。

Java SDK は現在このパラメーターをサポートしていません。HTTP 経由で呼び出す場合は、max_completion_tokensparameters オブジェクト内に配置します。

seedinteger(任意)

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

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

HTTP 経由で呼び出す場合は、seedparameters オブジェクト内に配置します。

ストリームboolean(オプション)デフォルト値は false です。

返信をストリーミングするかどうかを指定します。有効な値は次のとおりです:

  • false:モデルはすべてのコンテンツを生成してから、一度に結果を返します。
  • true:モデルはコンテンツを生成しながら出力します。つまり、モデルは生成されるとすぐにコンテンツのチャンクを即座に出力します。

このパラメーターは Python SDK でのみサポートされています。Java SDK でストリーミング出力を実装するには、streamCall インターフェイスを呼び出します。HTTP 経由でストリーミング出力を実装するには、ヘッダーで X-DashScope-SSEenable として指定します。

Qwen3 商用版 (思考モード)、Qwen3 オープンソース版、QwQ、および QVQ はストリーミング出力のみをサポートしています。

incremental_outputboolean(オプション)デフォルトは false です。Qwen3-Max、Qwen3-VL、Qwen3 オープンソース版QwQ、および QVQ モデルの場合、デフォルトは true です。

ストリーミング出力モードで増分出力を有効にするかどうかを指定します。このパラメーターを true に設定することをお勧めします。

値:

  • false:各出力には、これまでに生成されたシーケンス全体が含まれます。最後の出力が完全な生成結果です。
I
I like
I like apple
I like apple.
  • true (推奨):出力は増分です。後続の出力には、以前に出力されたコンテンツは含まれません。完全な結果を得るには、これらのチャンクをリアルタイムで 1 つずつ読み取る必要があります。
I
like
apple
.

Java SDK では、このパラメーターは incrementalOutput*です。*HTTP 経由で呼び出す場合は、incremental_outputparameters オブジェクト内に配置します。

思考モードの QwQ モデルおよび Qwen3 モデルでは、このパラメーターを true にのみ設定できます。Qwen3 商用版モデルのデフォルト値は false であるため、思考モードでは手動で true に設定する必要があります。

Qwen3 オープンソースエディションのモデルでは、このパラメーターを false に設定できません。

response_formatオブジェクト (任意) で、デフォルト値は {"type": "text"} です。

返されるコンテンツのフォーマット。有効な値は次のとおりです:

  • {"type": "text"}: テキスト応答を出力します。
  • {"type": "json_object"}: 標準フォーマットで JSON 文字列を出力します。

詳細については、「構造化出力」をご参照ください。

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

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

Java SDK では、このパラメーターは responseFormat*です。*HTTP 経由で呼び出す場合は、response_formatparameters オブジェクト内に配置します。

プロパティ

typestring(必須)

返されるコンテンツのフォーマット。有効な値は次のとおりです:

  • text: テキスト応答を出力します。
  • json_object: 標準フォーマットで JSON 文字列を出力します。

result_format文字列(オプション)デフォルトは text です。Qwen3-Max、Qwen3-VL、QwQ モデル、Qwen3 オープンソースモデル (qwen3-next-80b-a3b-instruct を除く)の場合、デフォルトは message です。

返されるデータのフォーマットです。マルチターン対話を容易にするために、このパラメーターを message に設定することをお勧めします。

プラットフォームは、今後デフォルト値を message に統一します。

Java SDK では、このパラメーターは resultFormat*です。*HTTP 経由で呼び出す場合は、result_formatparameters オブジェクト内に配置します。

モデルが Qwen-VL、QVQ の場合、値を text に設定しても効果はありません。

思考モードの Qwen3-Max、Qwen3-VL、および Qwen3 モデルは message にのみ設定できます。Qwen3 商用版モデルのデフォルト値は text であるため、message に設定する必要があります。

Java SDK を使用して Qwen3 オープンソースモデルを呼び出し、text を渡した場合、応答は引き続き message フォーマットで返されます。

logprobs boolean (任意) デフォルト値は false です。

出力トークンの対数確率を返すかどうかを指定します。有効な値は次のとおりです:

  • true

    戻る

  • false

    返せません。

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

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

HTTP 経由で呼び出す場合は、logprobsparameters オブジェクト内に配置します。

top_logprobs integer (任意) デフォルト値は 0 です。

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

有効値:[0, 5]

このパラメーターは、logprobstrue の場合にのみ有効になります。

Java SDK では、このパラメーターは topLogprobs*です。*HTTP 経由で呼び出す場合は、top_logprobsparameters オブジェクト内に配置します。

ninteger(任意) デフォルト値は 1 です。

生成する応答の数です。値の範囲は 1-4 です。クリエイティブライティングや広告コピーなど、複数の応答を生成する必要があるシナリオでは、より大きい n の値を設定できます。

現在、Qwen3 (ノンシンキングモード) モデルのみがサポートされています。tools パラメーターが渡された場合、値は 1 に固定されます。

より大きな n 値を設定しても入力トークンの消費量は増加しませんが、出力トークンの消費量は増加します。

HTTP 経由で呼び出す場合は、nparameters オブジェクト内に配置します。

stopstring または array(任意)

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

禁止用語を渡すことで、モデルの出力をコントロールできます。

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

HTTP 経由で呼び出す場合は、stopparameters オブジェクト内に配置します。

toolsarray(任意)

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

tools を使用する場合、result_formatメッセージ に設定する必要があります。

関数呼び出しを開始するか、ツール実行結果を送信する際には、tools パラメーターを設定する必要があります。

プロパティ

typestring(必須)

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

functionobject(必須)

プロパティ

namestring(必須)

ツール関数の名前。文字と数字で構成され、アンダースコアとハイフンを含めることができます。最大長は 64 文字です。

descriptionstring(必須)

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

パラメーターオブジェクト(オプション) デフォルト値は {} です。

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

ツール呼び出しの精度を向上させるには、パラメーターを渡すことをお勧めします。

HTTP 経由で呼び出す場合は、toolsparameters オブジェクト内に配置します。これは、qwen-vl シリーズモデルでは一時的にサポートされていません。

tool_choice文字列またはオブジェクト (任意) デフォルト値は auto です。

ツール選択戦略。このパラメーターを設定して、特定の種類の問題に対してツール呼び出しメソッドを強制することができます。たとえば、常に特定のツールを使用したり、すべてのツールを無効にしたりします。

  • auto

    LLM はツール戦略を自律的に選択します。

  • 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 は指定されたツール関数の名前です。

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

Java SDK では、このパラメーターは toolChoice*です。*HTTP 経由で呼び出す場合は、tool_choiceparameters オブジェクト内に配置します。

parallel_tool_calls boolean (任意) デフォルト値は false です。

並列ツール呼び出しを有効にするかどうかを指定します。

有効な値:

  • true: 有効
  • false:無効。

並列ツール呼び出しの詳細については、「並列ツール呼び出し」をご参照ください。

Java SDK では、このパラメーターは parallelToolCalls*です。*HTTP 経由で呼び出す場合は、parallel_tool_callsparameters オブジェクト内に配置します。

テキスト入力

Python

import os
from dashscope import MultiModalConversation
import dashscope

# 以下はシンガポールリージョンのベース URL です。呼び出し時に {WorkspaceId} を実際のワークスペース ID に置き換えてください。リージョンによって URL は異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {'role': 'system', 'content': [{'text': 'あなたは役立つアシスタントです。'}]},
    {'role': 'user', 'content': [{'text': 'あなたは誰ですか?'}]}
]
response = MultiModalConversation.call(
    # 環境変数を設定していない場合は、次の行を 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'),
    model="qwen3.8-max", # この例では qwen3.8-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
    messages=messages,
    )
print(response)

Java

// DashScope SDK V2.12.0 以降の使用を推奨します。
import java.util.Arrays;
import java.util.Collections;
import java.lang.System;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.protocol.Protocol;

public class Main {
    public static MultiModalConversationResult callWithMessage() throws ApiException, NoApiKeyException, UploadFileException {
        // 以下はシンガポールリージョンのベース URL です。呼び出し時に {WorkspaceId} を実際のワークスペース ID に置き換えてください。リージョンによって URL は異なります。
        MultiModalConversation conv = new MultiModalConversation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
        MultiModalMessage systemMsg = MultiModalMessage.builder()
                .role(Role.SYSTEM.getValue())
                .content(Arrays.asList(Collections.singletonMap("text", "あなたは役立つアシスタントです。")))
                .build();
        MultiModalMessage userMsg = MultiModalMessage.builder()
                .role(Role.USER.getValue())
                .content(Arrays.asList(Collections.singletonMap("text", "あなたは誰ですか?")))
                .build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
                // シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // この例では qwen3.8-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
                .model("qwen3.8-max")
                .messages(Arrays.asList(systemMsg, userMsg))
                .build();
        return conv.call(param);
    }
    public static void main(String[] args) {
        try {
            MultiModalConversationResult result = callWithMessage();
            System.out.println(JsonUtils.toJson(result));
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            // ロギングフレームワークを使用して例外情報を記録します。
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
        System.exit(0);
    }
}

PHP (HTTP)

<?php
$url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation";
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
$apiKey = getenv('DASHSCOPE_API_KEY');

$data = [
    // この例では qwen3.8-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
    "model" => "qwen3.8-max",
    "input" => [
        "messages" => [
            [
                "role" => "system",
                "content" => [["text" => "あなたは役立つアシスタントです。"]]
            ],
            [
                "role" => "user",
                "content" => [["text" => "あなたは誰ですか?"]]
            ]
        ]
    ],
    "parameters" => [
        "result_format" => "message"
    ]
];

$jsonData = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $apiKey",
    "Content-Type: application/json"
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo "Response: " . $response;
} else {
    echo "Error: " . $httpCode . " - " . $response;
}

curl_close($ch);
?>

Node.js (HTTP)

DashScope は Node.js 環境用の SDK を提供していません。OpenAI Node.js SDK を使用して呼び出しを行うには、このトピックの「OpenAI」セクションをご参照ください。

import fetch from 'node-fetch';
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
const apiKey = process.env.DASHSCOPE_API_KEY;

const data = {
    model: "qwen3.8-max", // この例では qwen3.8-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
    input: {
        messages: [
            {
                role: "system",
                content: [{"text": "あなたは役立つアシスタントです。"}]
            },
            {
                role: "user",
                content: [{"text": "あなたは誰ですか?"}]
            }
        ]
    },
    parameters: {
        result_format: "message"
    }
};

fetch('https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation', {
    method: 'POST',
    headers: {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
    console.log(JSON.stringify(data));
})
.catch(error => {
    console.error('Error:', error);
});

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("The API key is not set. Make sure that the 'DASHSCOPE_API_KEY' environment variable is set.");
            return;
        }

        // リクエスト URL とコンテンツを設定します。
        string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation";
        // この例では qwen3.8-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
        string jsonContent = @"{
            ""model"": ""qwen3.8-max"",
            ""input"": {
                ""messages"": [
                    {
                        ""role"": ""system"",
                        ""content"": [{""text"": ""あなたは役立つアシスタントです。""}]
                    },
                    {
                        ""role"": ""user"",
                        ""content"": [{""text"": ""あなたは誰ですか?""}]
                    }
                ]
            },
            ""parameters"": {
                ""result_format"": ""message""
            }
        }";

        // リクエストを送信し、応答を取得します。
        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}";
            }
        }
    }
}

Go (HTTP)

DashScope は Go 用の SDK を提供していません。OpenAI Go SDK を使用して呼び出しを行うには、このトピックの「OpenAI-Go」セクションをご参照ください。

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"log"
	"net/http"
	"os"
)

type ContentItem struct {
	Text string `json:"text"`
}

type Message struct {
	Role    string        `json:"role"`
	Content []ContentItem `json:"content"`
}

type Input struct {
	Messages []Message `json:"messages"`
}

type Parameters struct {
	ResultFormat string `json:"result_format"`
}

type RequestBody struct {
	Model      string     `json:"model"`
	Input      Input      `json:"input"`
	Parameters Parameters `json:"parameters"`
}

func main() {
	// HTTP クライアントを作成します。
	client := &http.Client{}

	// リクエストボディを構築します。
	requestBody := RequestBody{
		// この例では qwen3.8-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
		Model: "qwen3.8-max",
		Input: Input{
			Messages: []Message{
				{
					Role:    "system",
					Content: []ContentItem{{Text: "あなたは役立つアシスタントです。"}},
				},
				{
					Role:    "user",
					Content: []ContentItem{{Text: "あなたは誰ですか?"}},
				},
			},
		},
		Parameters: Parameters{
			ResultFormat: "message",
		},
	}

	jsonData, err := json.Marshal(requestBody)
	if err != nil {
		log.Fatal(err)
	}

	// POST リクエストを作成します。
	req, err := http.NewRequest("POST", "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation", bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}

	// リクエストヘッダーを設定します。
	// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: apiKey := "sk-xxx"
	// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
	apiKey := os.Getenv("DASHSCOPE_API_KEY")
	req.Header.Set("Authorization", "Bearer "+apiKey)
	req.Header.Set("Content-Type", "application/json")

	// リクエストを送信します。
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()

	// レスポンスボディを読み取ります。
	bodyText, err := io.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}

	// 応答内容を出力します。
	fmt.Printf("%s\n", bodyText)
}

curl

{WorkspaceId} を実際のワークスペース ID に置き換えます。

シンガポール、米国 (バージニア)、中国 (北京) リージョンでは API キーが異なります。詳細については、「API キーの取得

curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen3.8-max",
    "input":{
        "messages":[
            {
                "role": "system",
                "content": [{"text": "あなたは役立つアシスタントです。"}]
            },
            {
                "role": "user",
                "content": [{"text": "あなたは誰ですか?"}]
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

ストリーミング出力

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

テキスト生成モデル

import os
import dashscope

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {'role':'system','content':'あなたは役立つアシスタントです'},
    {'role': 'user','content': 'あなたは誰ですか?'}
]
responses = dashscope.Generation.call(
    # 環境変数を設定していない場合は、次の行を 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'),
    # この例では qwen-plus を使用しています。必要に応じて、他のテキスト生成モデルに置き換えてください。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
    model="qwen-plus",
    messages=messages,
    result_format='message',
    stream=True,
    incremental_output=True
    )
for response in responses:
    print(response)
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import io.reactivex.Flowable;
import java.lang.System;
import com.alibaba.dashscope.protocol.Protocol;

public class Main {
    private static final Logger logger = LoggerFactory.getLogger(Main.class);
    private static void handleGenerationResult(GenerationResult message) {
        System.out.println(JsonUtils.toJson(message));
    }
    public static void streamCallWithMessage(Generation gen, Message userMsg)
            throws NoApiKeyException, ApiException, InputRequiredException {
        GenerationParam param = buildGenerationParam(userMsg);
        Flowable<GenerationResult> result = gen.streamCall(param);
        result.blockingForEach(message -> handleGenerationResult(message));
    }
    private static GenerationParam buildGenerationParam(Message userMsg) {
        return GenerationParam.builder()
                // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
                // シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // この例では qwen-plus を使用しています。必要に応じて、他のテキスト生成モデルに置き換えてください。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
                .model("qwen-plus")
                .messages(Arrays.asList(userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .incrementalOutput(true)
                .build();
    }
    public static void main(String[] args) {
        try {
            Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
            Message userMsg = Message.builder().role(Role.USER.getValue()).content("あなたは誰ですか?").build();
            streamCallWithMessage(gen, userMsg);
        } catch (ApiException | NoApiKeyException | InputRequiredException  e) {
            logger.error("An exception occurred: {}", e.getMessage());
        }
        System.exit(0);
    }
}
curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data '{
    "model": "qwen-plus",
    "input":{
        "messages":[
            {
                "role": "system",
                "content": "あなたは役立つアシスタントです。"
            },
            {
                "role": "user",
                "content": "あなたは誰ですか?"
            }
        ]
    },
    "parameters": {
        "result_format": "message",
        "incremental_output":true
    }
}'

マルチモーダルモデル

import os
from dashscope import MultiModalConversation
import dashscope

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'

messages = [
    {
        "role": "user",
        "content": [
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
            {"text": "画像には何が描かれていますか?"}
        ]
    }
]

responses = MultiModalConversation.call(
    # シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
    # 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx",
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model='qwen3-vl-plus',  #  これを別のマルチモーダルモデルに置き換え、それに応じてメッセージを修正できます。
    messages=messages,
    stream=True,
    incremental_output=True)

full_content = ""
print("Streaming output content:")
for response in responses:
    if response["output"]["choices"][0]["message"].content:
        print(response.output.choices[0].message.content[0]['text'])
        full_content += response.output.choices[0].message.content[0]['text']
print(f"Full content: {full_content}")
import java.util.Arrays;
import java.util.Collections;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import io.reactivex.Flowable;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }
    public static void streamCall()
            throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        // 可変マップを作成する必要があります。
        MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
                .content(Arrays.asList(Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"),
                        Collections.singletonMap("text", "画像には何が描かれていますか?"))).build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
                // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("qwen3-vl-plus")  //  これを別のマルチモーダルモデルに置き換え、それに応じてメッセージを修正できます。
                .messages(Arrays.asList(userMessage))
                .incrementalOutput(true)
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(item -> {
            try {
                var content = item.getOutput().getChoices().get(0).getMessage().getContent();
                    // コンテンツが存在し、空でないことを確認します。
                if (content != null &&  !content.isEmpty()) {
                    System.out.println(content.get(0).get("text"));
                    }
            } catch (Exception e){
                System.exit(0);
            }
        });
    }

    public static void main(String[] args) {
        try {
            streamCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-H 'X-DashScope-SSE: enable' \
-d '{
    "model": "qwen3-vl-plus",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": [
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
                    {"text": "画像には何が描かれていますか?"}
                ]
            }
        ]
    },
    "parameters": {
        "incremental_output": true
    }
}'

画像入力

大規模言語モデル (LLM) を使用して画像を分析する方法の詳細については、「画像と動画の理解」をご参照ください。

Python

import os
import dashscope

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
    {
        "role": "user",
        "content": [
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"},
            {"text": "これらは何ですか?"}
        ]
    }
]
response = dashscope.MultiModalConversation.call(
    # シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    # この例では qwen-vl-max を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
    model='qwen-vl-max',
    messages=messages
    )
print(response)

Java

// Copyright (c) Alibaba, Inc. and its affiliates.

import java.util.Arrays;
import java.util.Collections;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
public class Main {
    static {
     Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }
    public static void simpleMultiModalConversationCall()
            throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
                .content(Arrays.asList(
                        Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"),
                        Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"),
                        Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"),
                        Collections.singletonMap("text", "これらは何ですか?"))).build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // 環境変数を設定していない場合は、次の行を .apiKey("sk-xxx") に置き換え、Model Studio API キーを使用してください。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // この例では qwen-vl-plus を使用しています。必要に応じて、他のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
                .model("qwen-vl-plus")
                .message(userMessage)
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            simpleMultiModalConversationCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

{WorkspaceId} を実際のワークスペース ID に置き換えます。

シンガポール、米国 (バージニア)、中国 (北京) リージョンでは API キーが異なります。API キーを取得するには、「API キーの取得

curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen-vl-plus",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": [
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"},
                    {"text": "これらは何ですか?"}
                ]
            }
        ]
    }
}'

動画入力

以下の例は、ビデオフレームの入力方法を示しています。ビデオファイルの入力など、他の方法の詳細については、「視覚理解」をご参照ください。

Python

import os
# DashScope SDK のバージョンは 1.20.10 以降である必要があります。
import dashscope

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [{"role": "user",
             "content": [
                  # Qwen2.5-VL シリーズのモデルを使用し、画像のリストを入力する場合、fps パラメーターを設定できます。このパラメーターは、元のビデオから 1/fps 秒ごとに画像が抽出されることを指定します。
                 {"video":["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"],
                   "fps":2},
                 {"text": "このビデオのイベントを説明してください"}]}]
response = dashscope.MultiModalConversation.call(
    # 環境変数を設定していない場合は、次の行を 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"),
    model='qwen-vl-max',  # この例では qwen-vl-max を使用しています。必要に応じて、他のモデル名に置き換えてください。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/models をご参照ください
    messages=messages
)
print(response["output"]["choices"][0]["message"].content[0]["text"])

Java

// DashScope SDK のバージョンは 2.18.3 以降である必要があります。
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;

import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
    }
    private static final String MODEL_NAME = "qwen-vl-max"; // この例では qwen-vl-max を使用しています。必要に応じて、他のモデル名に置き換えてください。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/models をご参照ください
    public static void videoImageListSample() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage systemMessage = MultiModalMessage.builder()
                .role(Role.SYSTEM.getValue())
                .content(Arrays.asList(Collections.singletonMap("text", "あなたは役立つアシスタントです。")))
                .build();
        //  Qwen2.5-VL シリーズのモデルを使用し、画像のリストを入力する場合、fps パラメーターを設定できます。このパラメーターは、元のビデオから 1/fps 秒ごとに画像が抽出されることを指定します。
        Map<String, Object> params = Map.of(
                "video", Arrays.asList("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"),
                "fps",2);
        MultiModalMessage userMessage = MultiModalMessage.builder()
                .role(Role.USER.getValue())
                .content(Arrays.asList(
                        params,
                        Collections.singletonMap("text", "このビデオのイベントを説明してください")))
                .build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
                // シンガポール/バージニアと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model(MODEL_NAME)
                .messages(Arrays.asList(systemMessage, userMessage)).build();
        MultiModalConversationResult result = conv.call(param);
        System.out.print(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
    }
    public static void main(String[] args) {
        try {
            videoImageListSample();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

{WorkspaceId} を実際のワークスペース ID に置き換えます。

シンガポール、米国 (バージニア)、中国 (北京) リージョンでは API キーが異なります。詳細については、「API キーの取得

curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
  "model": "qwen-vl-max",
  "input": {
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "video": [
              "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"
            ],
            "fps":2

          },
          {
            "text": "このビデオのイベントを説明してください"
          }
        ]
      }
    ]
  }
}'

ツール呼び出し

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

Python

import os
import dashscope

dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "現在時刻を取得するのに便利です。",
            "parameters": {}
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "特定の都市の天気を取得するのに便利です。",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "北京、杭州、余杭区などの都市または地区。"
                    }
                }
            },
            "required": [
                "location"
            ]
        }
    }
]
messages = [{"role": "user", "content": [{"text": "杭州の天気はどうですか?"}]}]
response = dashscope.MultiModalConversation.call(
    # 環境変数を設定していない場合は、次の行を 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'),
    # この例では qwen3.8-max を使用しています。必要に応じて、他のモデルに置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
    model='qwen3.8-max',
    messages=messages,
    tools=tools,
)
print(response)

Java

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.alibaba.dashscope.aigc.conversation.ConversationParam.ResultFormat;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import java.util.Collections;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.tools.FunctionDefinition;
import com.alibaba.dashscope.tools.ToolFunction;
import com.alibaba.dashscope.utils.JsonUtils;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.victools.jsonschema.generator.Option;
import com.github.victools.jsonschema.generator.OptionPreset;
import com.github.victools.jsonschema.generator.SchemaGenerator;
import com.github.victools.jsonschema.generator.SchemaGeneratorConfig;
import com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder;
import com.github.victools.jsonschema.generator.SchemaVersion;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    // 以下はシンガポールリージョンのベース URL です。呼び出し時に {WorkspaceId} を実際のワークスペース ID に置き換えてください。リージョンによって URL は異なります。
    static {Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";}
    public class GetWeatherTool {
        private String location;
        public GetWeatherTool(String location) {
            this.location = location;
        }
        public String call() {
            return location + " is sunny today.";
        }
    }
    public class GetTimeTool {
        public GetTimeTool() {
        }
        public String call() {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String currentTime = "Current time: " + now.format(formatter) + ".";
            return currentTime;
        }
    }
    public static void SelectTool()
            throws NoApiKeyException, ApiException, InputRequiredException {
        SchemaGeneratorConfigBuilder configBuilder =
                new SchemaGeneratorConfigBuilder(SchemaVersion.DRAFT_2020_12, OptionPreset.PLAIN_JSON);
        SchemaGeneratorConfig config = configBuilder.with(Option.EXTRA_OPEN_API_FORMAT_VALUES)
                .without(Option.FLATTENED_ENUMS_FROM_TOSTRING).build();
        SchemaGenerator generator = new SchemaGenerator(config);
        ObjectNode jsonSchema_weather = generator.generateSchema(GetWeatherTool.class);
        ObjectNode jsonSchema_time = generator.generateSchema(GetTimeTool.class);
        FunctionDefinition fdWeather = FunctionDefinition.builder().name("get_current_weather").description("指定されたエリアの天気を取得します")
                .parameters(JsonUtils.parseString(jsonSchema_weather.toString()).getAsJsonObject()).build();
        FunctionDefinition fdTime = FunctionDefinition.builder().name("get_current_time").description("現在時刻を取得します")
                .parameters(JsonUtils.parseString(jsonSchema_time.toString()).getAsJsonObject()).build();
        MultiModalMessage systemMsg = MultiModalMessage.builder().role(Role.SYSTEM.getValue())
                .content(Arrays.asList(Collections.singletonMap("text", "あなたは役立つアシスタントです。質問されたときは、可能な限りツールを使用してください。")))
                .build();
        MultiModalMessage userMsg = MultiModalMessage.builder().role(Role.USER.getValue()).content(Arrays.asList(Collections.singletonMap("text", "杭州の天気"))).build();
        List<MultiModalMessage> messages = new ArrayList<>();
        messages.addAll(Arrays.asList(systemMsg, userMsg));
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // この例では qwen3.8-max を使用しています。必要に応じて、他のモデルに置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
                .model("qwen3.8-max")
                .messages(messages)
                .tools(Arrays.asList(
                        ToolFunction.builder().function(fdWeather).build(),
                        ToolFunction.builder().function(fdTime).build()))
                .build();
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args) {
        try {
            SelectTool();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.println(String.format("Exception %s", e.getMessage()));
        }
        System.exit(0);
    }
}

curl

{WorkspaceId} を実際のワークスペース ID に置き換えます。

シンガポール、米国 (バージニア)、中国 (北京) リージョンでは API キーが異なります。詳細については、「API キーの取得

以下の URL はシンガポールリージョン用です。

curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen3.8-max",
    "input": {
        "messages": [{
            "role": "user",
            "content": [{"text": "杭州の天気はどうですか?"}]
        }]
    },
    "parameters": {
        "result_format": "message",
        "tools": [{
            "type": "function",
            "function": {
                "name": "get_current_time",
                "description": "現在時刻を取得するのに便利です。",
                "parameters": {}
            }
        },{
            "type": "function",
            "function": {
                "name": "get_current_weather",
                "description": "特定の都市の天気を取得するのに便利です。",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "location": {
                            "type": "string",
                            "description": "北京、杭州、余杭区などの都市または地区。"
                        }
                    }
                },
                "required": ["location"]
            }
        }]
    }
}'

非同期呼び出し

# Dashscope Python SDK はバージョン 1.19.0 以降である必要があります。
import asyncio
import platform
import os
import dashscope
from dashscope.aigc.multimodal_conversation import AioMultiModalConversation

# 以下のベース URL はシンガポールリージョン用です。{WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
async def main():
    response = await AioMultiModalConversation.call(
        # 環境変数を設定していない場合は、次の行を api_key="sk-xxx" に置き換えてください。sk-xxx は Model Studio API キーです。
        # シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
        api_key=os.getenv('DASHSCOPE_API_KEY'),
        # この例では qwen3.8-max モデルを使用しています。必要に応じてモデル名を変更できます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
        model="qwen3.8-max",
        messages=[{"role": "user", "content": [{"text": "あなたは誰ですか?"}]}],
    )
    print(response)

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

ドキュメント理解

Python

import os
import dashscope

# 現在、qwen-long-latest モデルは中国 (北京) リージョンでのみ呼び出すことができます。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
        {'role': 'system', 'content': 'あなたは役立つアシスタントです'},
        # '{FILE_ID}' を実際の会話シナリオで使用されるファイル ID に置き換えてください。
        {'role':'system','content':f'fileid://{FILE_ID}'},
        {'role': 'user', 'content': 'この記事は何についてですか?'}]
response = dashscope.Generation.call(
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-long-latest",
    messages=messages,
    result_format='message'
)
print(response)

Java

import os
import dashscope

# 現在、qwen-long-latest モデルは中国 (北京) リージョンでのみ呼び出すことができます。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
        {'role': 'system', 'content': 'あなたは役立つアシスタントです'},
        # '{FILE_ID}' を実際の会話シナリオで使用されるファイル ID に置き換えてください。
        {'role':'system','content':f'fileid://{FILE_ID}'},
        {'role': 'user', 'content': 'この記事は何についてですか?'}]
response = dashscope.Generation.call(
    # 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-long-latest",
    messages=messages,
    result_format='message'
)
print(response)

curl

現在、ドキュメント理解モデルを呼び出せるのは中国 (北京) リージョンのみです。

{FILE_ID} を実際の会話シナリオで使用されるファイル ID に置き換えてください。

curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long-latest",
    "input":{
        "messages":[
            {
                "role": "system",
                "content": "あなたは役立つアシスタントです。"
            },
            {
                "role": "system",
                "content": "fileid://{FILE_ID}"
            },
            {
                "role": "user",
                "content": "この記事は何についてですか?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

チャット応答オブジェクト (ストリーミングおよび非ストリーミング出力フォーマットは一貫しています)

status_codestring

リクエストの状態コード。値が 200 の場合はリクエストが成功したことを示します。それ以外の場合はリクエストが失敗しました。

Java SDK はこのパラメーターを返しません。呼び出しが失敗した場合、例外がスローされます。例外メッセージには status_codemessage の内容が含まれます。

request_idstring

この呼び出しの一意の ID。

Java SDK は、パラメーターを requestId.

codestring

エラーコード。呼び出しが成功した場合、このフィールドは空です。

Python SDK のみがこのパラメーターを返します。

outputobject

呼び出し結果に関する情報。

プロパティ

textstring

モデルによって生成された返信。入力パラメーター result_formattext に設定されている場合、返信内容はこのフィールドで返されます。

finish_reasonstring

このパラメーターは、入力パラメーター result_formattext に設定されている場合は空ではありません。

これは次の 4 つの状況で発生する可能性があります:

  • 生成中は null
  • モデルの出力が自然に終了するか、入力パラメーターの停止条件をトリガーした場合に停止
  • 生成された出力が長すぎるため、プロセスが終了しました。
  • ツール呼び出しが発生した場合、値は tool_calls です。

choicesarray

モデルの出力情報。result_formatmessage の場合、choices パラメーターが返されます。

プロパティ

finish_reasonstring

値は次のいずれかになります:

  • 生成中は null
  • モデルの出力が自然に終了するか、入力パラメーターの停止条件をトリガーした場合に停止
  • 生成は length の理由で終了します。これは出力が長すぎることを意味します。
  • tool_calls の理由は、ツール呼び出しが発生したことを示します。

messageobject

モデルによって出力されるメッセージオブジェクト。

プロパティ

rolestring

出力メッセージのロール。assistant である必要があります。

contentstring または array

出力メッセージのコンテンツです。qwen-vl または qwen-audio シリーズのモデルを使用する場合は配列となり、その他の場合は文字列となります。

関数呼び出しが開始された場合、この値は空です。

プロパティ

textstring

qwen-vl または qwen-audio シリーズモデルを使用する場合の出力メッセージのコンテンツ。

image_hwarray

Qwen-VL シリーズモデルで vl_enable_image_hw_output パラメーターが有効になっている場合、2 つのケースがあります:

  • 画像入力:画像の高さと幅をピクセル単位で返します。
  • 動画入力:空の配列を返します。

reasoning_content string

モデルのディープシンキングコンテンツ。

tool_callsarray

モデルがツールを呼び出す必要がある場合、tool_calls パラメーターが生成されます。

プロパティ

functionobject

呼び出されるツールの名前とその入力パラメーター。

プロパティ

namestring

呼び出されるツールの名前。

argumentsstring

ツールに入力するパラメーター、JSON 文字列として。

LLM の応答のランダム性のため、出力される JSON 文字列が常に関数を満たすとは限りません。関数に入力する前にパラメーターを検証することを推奨します。

index integer

tool_calls 配列内の現在の tool_calls オブジェクトのインデックス。

id string

このツール応答の ID。

type string

ツールタイプ、関数である必要があります。

logprobsobject

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

プロパティ

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 値は非常に低い確率を示します。

usagemap

このチャットリクエストのトークン情報。

プロパティ

input_tokens integer

ユーザー入力コンテンツがトークンに変換された後の長さ。詳細については、「追加情報」をご参照ください。

output_tokens integer

モデル出力コンテンツがトークンに変換された後の長さ。

input_tokens_details object (任意)

入力コンテンツがトークンに変換された後の長さの詳細。

プロパティ

text_tokens integer (任意)

入力テキストがトークンに変換された後の長さ。

image_tokens integer (任意)

入力画像がトークンに変換された後の長さ。

video_tokens integer (任意)

入力ビデオファイルまたは画像リストがトークンに変換された後の長さ。

total_tokens integer

このフィールドは、入力がプレーンテキストの場合に返されます。input_tokensoutput_tokens の合計です。

image_tokens integer

このフィールドは、入力コンテンツに image が含まれる場合に返され、ユーザーの入力イメージコンテンツをトークンに変換した後の長さを示します。

video_tokens integer

このフィールドは、入力コンテンツに video が含まれる場合に返されます。これは、ユーザーが入力したビデオコンテンツがトークンに変換された後の長さです。

audio_tokens integer

このフィールドは、入力コンテンツに audio が含まれる場合に返されます。これは、ユーザーの入力オーディオコンテンツがトークンに変換された後の長さです。

output_tokens_details object (任意)

出力コンテンツがトークンに変換された後の長さの詳細。このフィールドは一部のモデルでのみ返されます。

プロパティ

text_tokens integer (任意)

出力テキストがトークンに変換された後の長さ。

reasoning_tokens integer (任意)

思考プロセスがトークンに変換された後の長さ。このフィールドは推論モデルでのみ返されます。

audio_tokens integer (任意)

出力音声がトークンに変換された後の長さ。このフィールドは音声出力モデルでのみ返されます。

prompt_tokens_details object

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

プロパティ

cached_tokens integer

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

cache_creation object

明示的なキャッシュの作成に関する情報。

プロパティ

ephemeral_5m_input_tokens integer

5 分間の有効期間を持つ明示的なキャッシュを作成するために使用されるトークンの長さ。

cache_creation_input_tokens integer

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

cache_type string

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

{
  "status_code": 200,
  "request_id": "902fee3b-f7f0-9a8c-96a1-6b4ea25af114",
  "code": "",
  "message": "",
  "output": {
    "text": null,
    "finish_reason": null,
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "role": "assistant",
          "content": "I am a large-scale language model developed by Alibaba Cloud, and my name is Qwen."
        }
      }
    ]
  },
  "usage": {
    "input_tokens": 22,
    "output_tokens": 17,
    "total_tokens": 39
  }
}

エラーコード

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