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

Alibaba Cloud Model Studio:メッセージ (非推奨)

最終更新日:Apr 21, 2026

このトピックでは、アシスタント API の Message クラスを使用して、メッセージを作成、リスト表示、取得、変更する方法について説明します。

重要

アシスタント API は非推奨になりました。代替として Responses API に移行してください。Responses API には、複数の組み込みツールが含まれており、マルチターンのコンテキスト管理をサポートしています。

関数名

タイプ

create

メッセージクラスの作成

retrieve

メッセージクラスの取得

modify

メッセージクラスの変更

list

メッセージクラスのリスト表示

メッセージの作成

HTTP

コード例

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "role": "user",
    "content": "Who are you",
    "metadata": {}
}'

リクエストパラメーター

パラメーター名

入力パラメーター

パラメーターのタイプ

必須

thread id

メッセージを渡す対象のスレッド ID。

string

はい

content

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

string

はい

role

メッセージを提供するエンティティのロール。`user` のみがサポートされています。

string

いいえ

metadata

その他の関連情報。

string

いいえ

レスポンス

{
    "id": "message_f1933671-19e1-4162-ad25-7326165123e1",
    "object": "thread.message",
    "created_at": 1711508433283,
    "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
    "incomplete_details": {},
    "completed_at": null,
    "incomplete_at": null,
    "assistant_id": "",
    "run_id": "",
    "file_ids": [],
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "Who are you",
                "annotations": []
            }
        }
    ],
    "metadata": {},
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "request_id": "b3ad40b9-f052-9665-a064-dab11c34625f"
}

レスポンスパラメーター

メッセージオブジェクトが返されます。レスポンスには、リクエストパラメーターに加えて、以下のフィールドが含まれます:

  • id:メッセージ ID。

  • request_id:リクエスト ID。

SDK

コード例

from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
msg = Messages.create(
    'the_thread_id',
    # 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を api_key="sk-xxx" とご自身の Model Studio API キーに置き換えてください。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    content='The message content.',
    role='user',
    metadata={'key': 'value'}
)
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.threads.messages.TextMessageParam;
import com.alibaba.dashscope.threads.messages.ThreadMessage;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        // スレッドにメッセージを作成
        Messages messages = new Messages();
        TextMessageParam param = TextMessageParam.builder()
                // 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を .apiKey("sk-xxx") とご自身の Model Studio API キーに置き換えてください。
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .role("user")
                .content("How to make delicious beef and potato stew?")
                .build();
        ThreadMessage message = messages.create("threadId", param);
    }
}

リクエストパラメーター

パラメーター

タイプ

デフォルト値

説明

thread_id

string

-

スレッド ID。

content

string

-

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

role

str

'user'

メッセージのロール。デフォルト値:user。

metadata

Dict

None

メッセージに関連付けられたキーと値の情報。

workspace

string

None

Alibaba Cloud Model Studio のワークスペース ID。このパラメーターは、`api_key` がサブワークスペースの API キーである場合にのみ必須です。

api_key

string

None

Alibaba Cloud Model Studio の API キー。API キーは環境変数として設定する (「API キーの設定」にマージするため、このトピックは非公開になります) ことを推奨します。

レスポンス

結果は Message オブジェクトです。次のコードは、JSON 形式のコンテンツの例を示しています:

{
    "id": "message_05494921-a646-484e-85fc-76329acba842",
    "object": "thread.message",
    "created_at": 1711345341301,
    "thread_id": "thread_f1e7737e-b045-479f-99d1-510db49d535b",
    "incomplete_details": {},
    "completed_at": null,
    "incomplete_at": null,
    "assistant_id": "",
    "run_id": "",
    "file_ids": [],
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "sdhafjdasf",
                "annotations": []
            }
        }
    ],
    "metadata": {
        "key": "value"
    },
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "status_code": 200,
    "request_id": "631de0b3-7e50-9c9e-8444-0924d1b7e7a5"
}

レスポンスパラメーター

フィールド名

フィールドタイプ

フィールドの説明

status_code

int

呼び出しの HTTP ステータスコード。値が 200 の場合は呼び出しが成功したことを示します。その他の値は、呼び出しが失敗したことを示します。

id

string

メッセージ ID。UUID 文字列です。

content

List[dict]

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

content.type

string

コンテンツタイプ (例:text)。

content.text

dict

コンテンツ

content.text.value

string

コンテンツのテキスト値

metadata

Dict

このメッセージに関連付けられたキーと値の情報。

tool_calls

Dict

ツール呼び出し情報。

plugin_call

Dict

プラグイン呼び出し情報。

created_at

timestamp

アシスタントが作成された時刻。

gmt_created

datetime

2024-03-22 17:12:31

gmt_modified

datetime

2024-03-22 17:12:31

code

string

リクエストが失敗したことを示します。このパラメーターはエラーコードを指定します。リクエストが成功した場合、このパラメーターは無視されます。

Python のみ。

message

string

リクエストが失敗したことを示します。このパラメーターは、失敗に関する詳細情報を提供します。リクエストが成功した場合、このパラメーターは無視されます。

Python のみ。

メッセージのリスト

HTTP

コード例

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages?limit=2&order=desc' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

リクエストパラメーター

パラメーター名

説明

パラメーターのタイプ

必須

thread id

メッセージを渡す対象のスレッド ID。

string

はい

limit

メッセージ数

integer

いいえ

order

作成時間によるソート順:`asc` または `desc`。

string

いいえ (デフォルト:`desc`)

レスポンス

{
    "object": "list",
    "data": [
        {
            "id": "message_f1933671-19e1-4162-ad25-7326165123e1",
            "object": "thread.message",
            "created_at": 1711508433283,
            "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
            "assistant_id": "",
            "run_id": "",
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": {
                        "value": "Who are you",
                        "annotations": []
                    }
                }
            ],
            "metadata": {},
            "name": "",
            "plugin_call": {},
            "tool_calls": [],
            "status": ""
        }
    ],
    "first_id": "message_f1933671-19e1-4162-ad25-7326165123e1",
    "last_id": "message_f1933671-19e1-4162-ad25-7326165123e1",
    "has_more": false,
    "request_id": "78f7d607-4a9a-90c6-8040-d3f81c84d60a"
}

レスポンスパラメーター

メッセージオブジェクトのリストが返されます。レスポンスには、元のリクエストパラメーターに加えて、以下の追加フィールドが含まれます:

  • 複数のメッセージのリスト。

SDK

コード例

from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

messages = Messages.list(
    'thread_id',
    # 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を api_key="sk-xxx" とご自身の Model Studio API キーに置き換えてください。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    limit=1,
    order='desc'
)
import com.alibaba.dashscope.common.GeneralListParam;
import com.alibaba.dashscope.common.ListResult;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.threads.messages.ThreadMessage;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        Messages messages = new Messages();
        // 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を .apiKey("sk-xxx") とご自身の Model Studio API キーに置き換えてください。
        GeneralListParam listThreadMessages = GeneralListParam.builder()
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .build();
        ListResult<ThreadMessage> message = messages.list("threadId", listThreadMessages);
    }
}

リクエストパラメーター

パラメーター

タイプ

デフォルト値

説明

thread_id

string

-

クエリするスレッドの ID。

limit

int

None

取得するメッセージの数。

order

string

None

`created_at` によるソート順。

workspace

string

None

Alibaba Cloud Model Studio の ワークスペース ID。`api_key` がサブワークスペースの API キーである場合にのみ必須です。

api_key

string

None

Alibaba Cloud Model Studio の API キー。API キーは環境変数として設定する (このトピックは非公開になり、「API キーの設定」にマージされます) ことを推奨します。

レスポンスパラメーター

フィールド名

フィールドタイプ

フィールドの説明

has_more

boolean

さらにメッセージを取得できるかどうかを示します。

last_id

string

返されたリストの最後のメッセージの ID。

first_id

string

返されたリストの最初のメッセージの ID。

data

list[Message]

Message オブジェクトのリスト。

メッセージの取得

HTTP

コード例

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages/message_ea26d29d-4509-490e-98e9-9f6238bd821b' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY"

リクエストパラメーター

パラメーター名

説明

パラメーターのタイプ

必須

thread id

取得するメッセージのスレッド ID。

string

はい

message_id

取得するメッセージの ID。

string

はい

レスポンス

{
    "id": "message_ea26d29d-4509-490e-98e9-9f6238bd821b",
    "object": "thread.message",
    "created_at": 1711508622598,
    "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
    "assistant_id": "",
    "run_id": "",
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "Hello",
                "annotations": []
            }
        }
    ],
    "metadata": {},
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "request_id": "4d5ce962-91c3-9edb-87f7-00bbf985135e"
}

レスポンスパラメーター

取得されたメッセージオブジェクトが返されます。レスポンスには、リクエストパラメーターに加えて、以下のフィールドが含まれます:

  • id:メッセージ ID

  • request_id:リクエスト ID。

SDK

コード例

from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

message = Messages.retrieve(
    'message_id',
    # 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を api_key="sk-xxx" とご自身の Model Studio API キーに置き換えてください。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    thread_id='thread_id'
)
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.threads.messages.ThreadMessage;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        Messages messages = new Messages();
        // 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を .apiKey("sk-xxx") とご自身の Model Studio API キーに置き換えてください。
        String apiKey = System.getenv("DASHSCOPE_API_KEY");
        ThreadMessage message = messages.retrieve("threadId", "messageId", apiKey);
    }
}

リクエストパラメーター

パラメーター

タイプ

デフォルト値

説明

message_id

string

-

クエリするメッセージの ID。

thread_id

string

-

メッセージが属するスレッドの ID。

workspace

string

None

Alibaba Cloud Model Studio のワークスペース ID。このパラメーターは、api_key がサブワークスペースの API キーである場合にのみ必須です。

api_key

string

None

Alibaba Cloud Model Studio の API キー。API キーは環境変数として設定する (注:この方法は非推奨になり、「API キーの設定」トピックにマージされます) ことを推奨します。

レスポンスパラメーター

作成操作のレスポンスをご参照ください。

メッセージの変更

HTTP

コード例

curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/threads/thread_e99a9fe7-0433-426f-98ad-a5139c36579c/messages/message_ea26d29d-4509-490e-98e9-9f6238bd821b' \
--header 'Content-Type: application/json' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--data '{
    "metadata": {
        "modified": "true",
        "user": "abc123"
    }
}'

リクエストパラメーター

パラメーター名

入力パラメーター

パラメーターのタイプ

必須

thread_id

変更するスレッドの ID。

string

はい

message_id

変更するメッセージの ID。

string

はい

metadata

メタデータ。

dict

レスポンス

{
    "id": "message_ea26d29d-4509-490e-98e9-9f6238bd821b",
    "object": "thread.message",
    "created_at": 1711508622598,
    "thread_id": "thread_e99a9fe7-0433-426f-98ad-a5139c36579c",
    "incomplete_details": {},
    "completed_at": null,
    "incomplete_at": null,
    "assistant_id": "",
    "run_id": "",
    "file_ids": [],
    "role": "user",
    "content": [
        {
            "type": "text",
            "text": {
                "value": "Hello",
                "annotations": []
            }
        }
    ],
    "metadata": {
        "modified": "true",
        "user": "abc123"
    },
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": "",
    "request_id": "7877b011-cb94-9df1-9add-dc42b7d611f6"
}

出力パラメーター

変更されたメッセージオブジェクトが返されます。レスポンスには、リクエストパラメーターに加えて、以下のフィールドが含まれます:

  • id:メッセージ ID

  • request_id:リクエスト ID。

SDK

コード例

from dashscope import Messages
import dashscope
import os

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

thread = Messages.update(
    'message_id',
    # 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を api_key="sk-xxx" とご自身の Model Studio API キーに置き換えてください。
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    thread_id='the_message_thread_id',
    metadata={'key': 'value'}
)
import java.util.Collections;
import com.alibaba.dashscope.common.UpdateMetadataParam;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.InvalidateParameter;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.threads.messages.Messages;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void main(String[] args) throws ApiException, NoApiKeyException, InputRequiredException, InvalidateParameter, InterruptedException {
        Messages messages = new Messages();
        // 環境変数を使用して API キーを設定します。環境変数が設定されていない場合は、次の行を .apiKey("sk-xxx") とご自身の Model Studio API キーに置き換えてください。
        UpdateMetadataParam updateMetadataParam = UpdateMetadataParam.builder()
                .metadata(Collections.singletonMap("key", "value"))
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .build();
        messages.update("thread_id", "message_Id", updateMetadataParam);
    }
}

リクエストパラメーター

パラメーター

タイプ

デフォルト値

説明

message_id

string

-

更新するメッセージの ID。

thread_id

string

-

更新するメッセージが属するスレッドの ID。

metadata

Dict

None

スレッドに関連付けられた情報。

workspace

string

None

Alibaba Cloud Model Studio の ワークスペース ID。api_key がサブワークスペースの API キーである場合にのみ必須です。

api_key

string

None

Alibaba Cloud Model Studio の API キー。API キーは環境変数として設定する (「API キーの設定」にマージするため、非公開になります) ことを推奨します。

レスポンスパラメーター

作成操作のレスポンスをご参照ください。

エラーコード

アシスタント API の呼び出しが失敗し、エラーメッセージが返された場合は、エラーメッセージをご参照の上、問題を解決してください。