Skip to main content

Application DashScope API リファレンス

Alibaba Cloud Model Studio アプリケーション( エージェント 、 ワークフロー )を DashScope API で呼び出す際の入力および出力パラメーターと、代表的なシナリオにおける呼び出し例について説明します。

このトピックは国際エディション(シンガポールリージョン)にのみ適用されます。
関連ガイド アプリケーションの呼び出しをご参照ください。

前提条件

以下のタスクを完了してください。
  1. アプリケーションの作成: アプリケーション管理にアクセスし、Model Studio アプリケーションを作成し、アプリケーション ID を取得します。
  2. API キーの取得: キー管理から API キーを取得し、API キーを環境変数として設定します。
  3. SDK のインストール(任意): SDK を使用して呼び出す場合、ご利用のプログラミング言語用のDashScope SDKをインストールします。

呼び出し方法

  • HTTP API 呼び出し リクエスト URL: POST https://dashscope-intl.aliyuncs.com/api/v1/apps/APP_ID/completion
    APP_ID を実際のアプリケーション ID に置き換えてください。
  • SDK 呼び出し Python/Java SDK: デフォルトで正しいエンドポイントが設定されています。 カスタムエンドポイント: base_url パラメーターを使用して設定します。

リクエストボディ

app_idstring(必須)アプリケーション ID。アプリケーション管理 ページのアプリケーションカードからアプリケーション ID を取得します。
Java SDK ではこれは appId です。HTTP で呼び出す場合、実際のアプリケーション ID を URL 内の APP_ID に置き換えてください。
promptstring(必須)アプリケーションが応答を生成するよう指示するユーザー入力。
HTTP で呼び出す場合、prompt を input オブジェクト内に配置します。
session_idstring (任意)会話履歴識別子。session_id を渡すと、リクエストは自動的にクラウドに保存されている会話履歴を引き継ぎます。この場合、prompt を渡す必要があります。1 時間の非アクティブ状態で期限切れになります。
Java SDK ではこれは setSessionId です。HTTP で呼び出す場合、session_id を input オブジェクト内に配置します。
messagesarray(任意)モデルに渡される会話コンテキストで、時系列順に並べられます。messages パラメーターを使用してマルチターン対話を実行する場合、prompt や session_id を渡す必要はありません。session_id と messages の両方を渡す場合、モデルは messages の内容を使用し、session_id と prompt を無視します。
HTTP で呼び出す場合、messages を input オブジェクト内に配置します。
このパラメーターを使用するには、Python Dashscope SDK バージョンが少なくとも 1.20.14、Java Dashscope SDK バージョンが少なくとも 2.17.0 である必要があります。

メッセージタイプ

システムメッセージobject (任意)モデルのロール、トーン、タスク目的、制約を設定するシステムメッセージ。通常、messages 配列の先頭に配置されます。
contentstring(必須)モデルのロール、動作ガイドライン、応答スタイル、タスク制約を定義するシステム命令。rolestring(必須)システムメッセージのロールで、固定値は system です。
ユーザーメッセージobject(必須)質問、命令、コンテキストをモデルに渡すユーザーメッセージ。
contentstring(必須)メッセージ本文。
textstring(必須)入力テキスト。
rolestring(必須)ユーザーメッセージのロールで、固定値は user です。
アシスタントメッセージobject (任意)モデルの応答。通常、マルチターン対話でモデルにコンテキストとして再渡しされます。
contentstring(必須)モデル応答のテキスト本文。rolestring(必須)アシスタントメッセージのロールで、固定値は assistant です。
workspace string (任意)ビジネススペース識別子。関連ドキュメント: ワークスペース ID の取得。サブワークスペース 内のアプリケーションを呼び出す場合にのみ、ワークスペース ID を渡す必要があります。
HTTP で呼び出す場合、X-DashScope-WorkSpace ヘッダーを指定します。
stream boolean (任意)デフォルト値は Falseストリーミング出力を有効にします。True に設定すると、読み取り体験が向上し、タイムアウトのリスクが軽減されます。パラメーター値:
  • False (デフォルト): モデルは生成が完了した後にすべてのコンテンツを一度に返します。
  • True (推奨): モデルは生成と同時にコンテンツを出力し、新しいコンテンツを生成するたびにデータチャンクを返します。完全な応答を組み立てるには、これらのチャンクをリアルタイムで読み取る必要があります。
Java SDK でストリーミング出力を実装するには、streamCall インターフェイスを使用します。HTTP でストリーミング出力を実装するには、X-DashScope-SSE ヘッダーを enable に設定します。
incremental_output boolean (任意)デフォルト値は Falseストリーミングモードで増分出力を有効にします。True に設定すると、読み取り体験が向上します。パラメーター値:
  • False (デフォルト): 各出力には、それまでに生成されたシーケンス全体が含まれます。最終出力が完全な結果です。
I
I like
I like apple
I like apple.
  • True (推奨): 増分出力。後続の出力には、以前に出力されたコンテンツは含まれません。完全な結果を得るには、これらのセグメントをリアルタイムで読み取る必要があります。
I
like
apple
.
Java SDK ではこれは incrementalOutput です。HTTP で呼び出す場合、incremental_output を parameters オブジェクト内に配置します。
flow_stream_mode string (任意)デフォルト値は full_thoughtsワークフローアプリケーション のストリーミング出力モード。パラメーター値:
  • message_format (推奨): 指定されたノード(Output ノードまたは End ノード)の結果を、message フィールドに出力します。
    コンソールアプリケーションで、対象ノードの Stream スイッチを有効にすると、ストリーミングモードで結果が返されます。無効の場合、ノードの最終結果が一度に返されます。
    Java SDK ではこれは FlowStreamMode.MESSAGE_FORMAT です。
  • full_thoughts (デフォルト): すべてのノードの結果を thoughts フィールドに出力します。
    このモードを使用する場合、has_thoughts パラメーターも True に設定する必要があります。
    Java SDK ではこれは FlowStreamMode.FULL_THOUGHTS です。
  • agent_format: 指定されたノード(LLM ノードまたは終了ノード)の結果を textフィールドに出力します。 コンソールアプリケーションで、対象ノードの Response スイッチを有効にすると、ストリーミングモードで結果が返されます。
    並列ノードと共にこのモードを使用しないでください。コンテンツが混在する可能性があります。有効化されたノードが明確な実行順序を持つことを確認してください。
    Java SDK ではこれは FlowStreamMode.AGENT_FORMAT です。
Python SDK バージョンは少なくとも 2.0.1、Java SDK バージョンは少なくとも 2.21.0 である必要があります。HTTP で呼び出す場合、flow_stream_mode を parameters オブジェクト内に配置します。
biz_paramsobject (任意)アプリケーションがカスタム変数、ノード、プラグインを使用する場合に、このフィールドを使用してパラメーターを渡します。
Java SDK ではこれは bizParams です。HTTP で呼び出す場合、biz_params を input オブジェクト内に配置します。
ワークフローアプリケーション の場合、開始ノードのカスタム変数を直接渡します。例:
biz_params = {"city": "Hangzhou"}
エージェントアプリケーション の場合、プロンプト変数またはプラグイン変数を以下のフィールドを使用して渡します:

プロパティ

user_defined_params object (任意)カスタムプラグインパラメーター情報。アプリケーション内に追加されたプラグインは重複できません。最大 10 個のプラグインが使用できます。

プロパティ

tool_idstring (任意)プラグイン ID。プラグインカードから確認できます。${plugin_params}string (任意)最も内側のオブジェクトには複数のキーと値のペアが含まれます。各キーと値のペアは、ユーザー定義パラメーター名とその指定値を表します。例:
"article_index": 2
使用手順:
  1. 指定されたプラグインをアプリケーションに関連付け、公開 します。
  2. API 呼び出し時に、このパラメーターを通じてプラグイン情報を渡します。
複数のキーと値のペアを提供できます。各キーはプラグインの TOOL_ID で、値はそのプラグインに必要なパラメーターオブジェクトです。例:
"user_defined_params": {
        "<TOOL_ID>": {
            "article_index": 2},
        "<TOOL_ID>": {
            "article_index": 8}
        }
user_defined_tokens object (任意)カスタムプラグイン用のユーザー認証情報。アプリケーション内に追加されたプラグインは重複できません。最大 10 個のプラグインが使用できます。

プロパティ

tool_idstring (任意)プラグイン ID。プラグインカードから確認できます。<TOOL_ID> フィールドを通じて渡します。user_token string (任意)このプラグインに必要なユーザー認証情報を渡します。例: DASHSCOPE_API_KEY の実際の値。
使用手順:
  1. 指定されたプラグインをアプリケーションに関連付け、公開 します。
  2. API 呼び出し時に、このパラメーターを通じてプラグインのユーザー認証情報を渡します。
複数のキーと値のペアを提供できます。各キーはプラグインの TOOL_ID で、値は user_token オブジェクトです。
has_thoughts boolean (任意)デフォルト値は Falseプラグイン呼び出しやナレッジ取得プロセスが thoughts フィールドに出力されるかどうかを制御します。パラメーター値:
  • True: 出力が含まれます。
  • False (デフォルト): 出力が含まれません。
Java SDK ではこれは hasThoughts です。HTTP で呼び出す場合、has_thoughts を parameters オブジェクト内に配置します。
rag_options object (任意)取得に関連するパラメーターを構成するために使用され、指定されたナレッジベースやドキュメントの取得などが含まれます。
エージェントアプリケーション のみがこのパラメーターをサポートします。
Java SDK ではこれは ragOptions です。HTTP で呼び出す場合、rag_optionsを parameters オブジェクト内に配置します。

プロパティ

pipeline_ids array(必須)1 つ以上のナレッジベース ID を含むリスト。最大 5 個。指定されたナレッジベース内のすべてのドキュメントを取得します。取得方法:
  • ナレッジベース ページからナレッジベース ID を取得します。
  • または CreateIndex API(非構造化ナレッジベースのみをサポート)を通じて取得します。この API は Data.Id を返します。
Java SDK ではこれは pipelineIds です。
file_idsarray(任意)1 つ以上の非構造化ドキュメント ID を含むリスト。最大 5 個。指定されたナレッジベース内の非構造化ドキュメントを取得します。ドキュメント ID を渡す場合、これらのドキュメントが属するナレッジベース ID も pipeline_ids フィールドに渡す必要があります。取得方法:
Java SDK ではこれは fileIds です。
metadata_filterobject (任意)メタデータによって非構造化ドキュメントをフィルタリングするために使用します。1 つ以上のキーと値のペアを指定することで、指定されたナレッジベース内にこのメタデータを持つ非構造化ドキュメントを取得します。前提条件:メタデータを渡す場合、このメタデータが属するナレッジベース ID も pipeline_ids フィールドに渡す必要があります。確認方法:
  • ナレッジベース ページで、ナレッジベースカードの 詳細を見るメタ情報 をクリックして確認します。
  • または ListChunks API を通じて取得します。
このオブジェクトは 1 つ以上のキーと値のペアで構成されます:
  • キー: String 型で、メタデータ名を表します。
  • 値:
    • 完全一致: 値は String で、このフィールドの値がこの文字列と完全に一致するドキュメントのみを取得します。
      • 例: "author": "John.Doe"
    • 複数値の「OR」一致: 値は複数の String を含む Array(配列)または List(リスト)です。これは、このフィールドの値が配列内のいずれかの値に一致するドキュメントを取得することを意味します(論理的な OR)。
      • 例: "source": ["internal_wiki", "public_docs"]
組み合わせロジック: 異なるキーは「AND」ロジックを使用します。例: "author": "John.Doe", "source": ["internal_wiki", "public_docs"] は、「John.Doe」が作成した AND 「internal_wiki」または「public_docs」のいずれかから取得されたドキュメントをフィルタリングすることを意味します。
Java SDK ではこれは metadataFilter です。
tags array (任意)非構造化ドキュメント用の 1 つ以上のタグを含むリスト。このタグを持つ非構造化ドキュメントを取得できます。確認方法:
  • シングルターン対話
  • マルチターン対話
  • パラメーターの渡し方
  • ストリーミング出力
  • ナレッジベース取得
  • Python
  • Java
  • HTTP
リクエスト例
import os
import dashscope
from dashscope.v2 import DashScopeError

# 以下はシンガポールリージョンの設定例です。{WorkspaceId} を実際の workspace ID に置き換えてください。region の値はリージョンによって異なります。
client = dashscope.Client(
    # 環境変数を設定していない場合は、次の行を api_key="sk-xxx" に置き換え、Model Studio API キーを使用してください。ただし、本番環境では API キーをコード内にハードコードしないでください。これにより、API キー漏洩のリスクを軽減できます。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    workspace="{WorkspaceId}",
    region="ap-southeast-1",
)
try:
    response = client.apps.completions.create(
        app_id='APP_ID',  # 実際のアプリケーション ID に置き換えてください
        prompt='Who are you?')
    print(response.text)
except DashScopeError as e:
    print(f'request_id={e.request_id}')
    print(f'code={e.code}')
    print(f'message={e.message}')
    print(f'See documentation: https://www.alibabacloud.com/help/ja/model-studio/developer-reference/error-code')

レスポンスオブジェクト

status_code stringHTTP ステータスコード。200 は成功を示し、それ以外はリクエストが失敗したことを示します。失敗時には、code からエラーコードを、message からエラーの詳細を取得します。
Java SDK はこのパラメーターを返しません。失敗時には、status_code と message の内容を含む例外がスローされます。
request_id stringこの呼び出しの一意な ID。
Java SDK ではこれは requestId として返されます。
code stringエラーコード。成功時は空です。
Python SDK のみがこれを返します。
message stringエラーの詳細。成功時は空です。
Python SDK のみがこれを返します。
output object呼び出し結果。

output プロパティ

text stringモデルの応答コンテンツ。finish_reason string応答が終了した理由。stop は自然な完了(事前設定されたマーカーに到達)を意味し、null は強制中断(例: 最大長制限に達した場合や手動で停止した場合)を意味します。session_idstring現在の会話の一意な ID。これを後続のリクエストに渡すことで、過去の会話記録を引き継ぎます。thoughtsarray呼び出し時に has_thoughts パラメーターを True に設定すると、thoughts でプラグイン呼び出し、ナレッジ取得プロセス、または ディープシンキングモデル の思考プロセスを確認できます。
thought stringモデルの思考プロセス。コンソールの エージェントアプリケーション で ディープシンキングモデル を選択し、正常に公開した場合、API 呼び出し時に has_thoughts パラメーターを True に設定すると、モデルの思考プロセスがこのフィールドで返されます。reasoningContentstringモデルの思考プロセス。コンソールの ワークフローアプリケーション で ディープシンキングモデル を選択し、正常に公開した場合、API 呼び出し時に has_thoughts パラメーターを True に設定すると、モデルの思考プロセスがこのフィールドで返されます。action_type stringモデルが返す実行ステップのタイプ。例: API は API プラグインの実行を意味し、agentRag はナレッジ取得を意味し、reasoning は ディープシンキングモデル の思考プロセスを意味します。action_name string実行されたアクションの名前。例: ナレッジ取得、API プラグイン、または思考プロセス。action string実行ステップ。action_input_stream string入力パラメーターのストリーミング結果。action_input stringプラグイン入力パラメーター。observation string取得またはプラグイン実行のプロセス。
doc_references arrayモデルが引用した参照ドキュメント。Model Studio コンソールの エージェントアプリケーション で、回答の出典を表示する スイッチを有効にし、公開 すると、doc_references に有効な情報が含まれる可能性があります。
index_id string参照ドキュメントのインデックス。例: [1]。title string参照テキストセグメントのタイトル。doc_id string参照ドキュメントの ID。doc_name string参照ドキュメントの名前。text stringモデルが参照した具体的なテキストコンテンツ。biz_id stringモデルによって参照されるビジネス関連付け識別子。images arrayモデルが参照した画像 URL のリスト。
usage objectこのリクエストのトークン使用量。

usage プロパティ

modelsarrayこの呼び出しのモデル情報。
model_id stringこのアプリケーションで使用されたモデル ID。input_tokens integer入力トークン数。output_tokens integer出力トークン数。
シングルターン対話のレスポンス例
{
    "output": {
        "finish_reason": "stop",
        "session_id": "6105c965c31b40958a43dc93c28c7a59",
        "text": "I am Qwen, an AI assistant developed by Alibaba Cloud. I'm designed to answer various questions, provide information, and converse with users. How can I help you?"
    },
    "usage": {
        "models": [
            {
                "output_tokens": 36,
                "model_id": "qwen-plus",
                "input_tokens": 74
            }
        ]
    },
    "request_id": "f97ee37d-0f9c-9b93-b6bf-bd263a232bf9"
}
指定されたナレッジベースのレスポンス例アプリケーションのナレッジベース機能を呼び出し、取得されたドキュメントから参照ドキュメント情報を出力したい場合は、Model Studio コンソールの エージェントアプリケーション で、検索の構成 をクリックし、回答の出典を表示する スイッチを有効にして、公開 します。
{
    "text": "Based on your budget, I recommend considering the Bailian Zephyr Z9. This phone is lightweight and portable, featuring a 6.4-inch screen with 1080 x 2340 pixel resolution, paired with 128GB storage and 6GB RAM, making it perfect for daily use<ref>[1]</ref>. Additionally, it comes with a 4000mAh battery and a 30x digital zoom lens to capture distant details, priced between 2499-2799 yuan, fully meeting your budget requirements<ref>[1]</ref>.",
    "finish_reason": "stop",
    "session_id": "6c1d47fa5eca46b2ad0668c04ccfbf13",
    "thoughts": null,
    "doc_references": [
        {
            "index_id": "1",
            "title": "Bailian Phone Product Introduction",
            "doc_id": "file_7c0e9abee4f142f386e488c9baa9cf38_10317360",
            "doc_name": "Bailian Series Phone Product Introduction",
            "doc_url": null,
            "text": "【Document Name】:Bailian Series Phone Product Introduction\n【Title】:Bailian Phone Product Introduction\n【Content】:Reference Price: 5999- 6499. Bailian Ace Ultra ——For Gamers: Equipped with a 6.67-inch 1080 x 2400 pixel screen, built-in 10GB RAM and 256GB storage, ensuring smooth gaming. Bailian Ace Ultra ——For Gamers: Equipped with a 6.67-inch 1080 x 2400 pixel screen, built-in 10GB RAM and 256GB storage, ensuring smooth gaming. 5500mAh battery with liquid cooling system keeps your device cool during extended gaming sessions. High-dynamic dual speakers enhance immersive audio for gaming. Reference Price: 3999- 4299. Bailian Zephyr Z9 ——Art of Slim Design: Lightweight 6.4-inch 1080 x 2340 pixel design, paired with 128GB storage and 6GB RAM, handles daily tasks effortlessly. 4000mAh battery ensures all-day usage, while the 30x digital zoom lens captures distant details without compromising on power. Reference Price: 2499- 2799. Bailian Flex Fold+ ——New Era of Foldable Phones: Combines innovation and luxury with a 7.6-inch 1800 x 2400 pixel main screen and 4.7-inch 1080 x 2400 pixel outer screen, supporting multi-angle free-stop design for different scenarios. 512GB storage, 12GB RAM, plus a 4700mAh battery and UTG ultra-thin flexible glass, ushering in a new chapter for foldable phones. Additionally, this phone supports Dual SIM Dual Standby and satellite calls, keeping you connected worldwide. Reference Retail Price: 9999- 10999.\n",
            "biz_id": null,
            "images": [

            ],
            "page_number": [
                0]
        }]
}
エラーレスポンス例リクエストが失敗した場合、レスポンスにはコードとメッセージを通じてエラーの詳細が含まれます。この例は、無効な API-KEY に対するエラーレスポンスを示しています。
request_id=1d14958f-0498-91a3-9e15-be477971967b,
code=401,
message=Invalid API-key provided.

レート制限

単一アプリケーションのデフォルト QPM(1 分あたりのクエリ数)は 15,000 です。

エラーコード

呼び出しが失敗してエラーが返された場合は、エラー情報 を参照して解決策を確認してください。