All Products
Search
Document Center

Alibaba Cloud Model Studio:Pesan

Last Updated:Oct 15, 2025

Topik ini menjelaskan kelas Message dalam Assistant API, termasuk cara membuat, mencantumkan, mengambil, dan memodifikasi pesan.

Nama Fungsi

Tipe

membuat

Membuat kelas pesan.

mengambil

Mengambil kelas pesan.

memodifikasi

Memodifikasi kelas pesan.

daftar

Mendaftarkan kelas pesan.

Buat pesan

HTTP

Kode Contoh

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": "Siapa kamu",
    "metadata": {}
}'

Parameter Permintaan

Parameter

Deskripsi

Tipe

Diperlukan

thread id

ID thread tempat pesan tersebut dikirim.

str

Ya

content

Detail dari pesan tersebut.

str

Ya

role

Peran dari pesan tersebut. Hanya user yang didukung.

str

Tidak

metadata

Informasi terkait lainnya.

str

Tidak

Respon Contoh

{
    "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": "Siapa kamu",
                "annotations": []
            }
        }
    ],
    "metadata": {},
    "from": "",
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": {},
    "request_id": "b3ad40b9-f052-9665-a064-dab11c34625f"
}

Parameter Respon

Output adalah objek pesan yang berisi bidang-bidang berikut selain parameter input:

  • id: ID pesan.

  • request_id: ID permintaan.

SDK

Kode Contoh

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',
    # Kami merekomendasikan untuk mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    content='Isi pesan.',
    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 {
        // membuat pesan ke thread
        Messages messages = new Messages();
        TextMessageParam param = TextMessageParam.builder()
                // Kami merekomendasikan untuk mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey("sk-xxx")
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .role("user")
                .content("Bagaimana cara membuat rebusan daging sapi dan kentang yang lezat?")
                .build();
        ThreadMessage message = messages.create("threadId", param);
    }
}

Parameter Permintaan

Parameter

Tipe

Nilai default

Deskripsi

thread_id

str

-

ID utas.

content

str

-

Isi pesan.

role

str

'user'

Peran dari pesan tersebut. Nilai defaultnya adalah user.

metadata

Dict

None

Informasi key-value yang terkait dengan pesan tersebut.

workspace

str

None

ID Ruang Kerja dari Model Studio. Parameter ini hanya diperlukan jika api_key adalah sub-ruang kerja API key.

api_key

str

None

Kunci API dari Model Studio. Kami merekomendasikan untuk mengonfigurasi Kunci API sebagai variabel lingkungan.

Respon Contoh

Hasilnya adalah objek pesan. Kode berikut menunjukkan konten dalam format JSON:

{
    "assistant_id": "",
    "content": [
        {
            "text": {
                "value": "sdhafjdasf"
            },
            "type": "text"
        }
    ],
    "created_at": 1711345341301,
    "display": true,
    "from": "",
    "gmt_crete": "2024-03-25 13:42:21",
    "gmt_update": "2024-03-25 13:42:21",
    "id": "message_05494921-a646-484e-85fc-76329acba842",
    "metadata": {
        "key": "value"
    },
    "name": "",
    "object": "thread.message",
    "plugin_call": {},
    "request_id": "631de0b3-7e50-9c9e-8444-0924d1b7e7a5",
    "role": "user",
    "run_id": "",
    "status": {},
    "status_code": 200,
    "thread_id": "thread_f1e7737e-b045-479f-99d1-510db49d535b",
    "tool_calls": []
}

Parameter Respon

Parameter

Tipe

Deskripsi

status_code

int

Kode status HTTP. Nilai 200 menunjukkan bahwa panggilan berhasil. Nilai lainnya menunjukkan bahwa panggilan gagal.

id

str

ID pesan, yaitu string UUID.

content

List[dict]

Isi pesan.

content.type

str

Tipe konten, seperti teks.

content.text

dict

Konten.

content.text.value

str

Nilai teks dari konten.

metadata

Dict

Informasi key-value yang terkait dengan pesan ini.

tool_calls

Dict

Informasi tentang pemanggilan alat.

plugin_call

Dict

Informasi tentang pemanggilan plug-in.

created_at

timestamp

Waktu ketika asisten dibuat.

gmt_created

datetime

2024-03-22 17:12:31

gmt_modified

datetime

2024-03-22 17:12:31

code

str

Menunjukkan bahwa permintaan gagal. Parameter ini menunjukkan kode kesalahan. Parameter ini diabaikan jika permintaan berhasil.

Hanya dikembalikan untuk Python SDK.

message

str

Menunjukkan bahwa permintaan gagal. Parameter ini menunjukkan detail kegagalan. Parameter ini diabaikan jika permintaan berhasil.

Hanya dikembalikan untuk Python SDK.

Daftar pesan

HTTP

Kode Contoh

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"

Parameter Permintaan

Parameter

Deskripsi

Tipe

Diperlukan

thread id

ID thread ke mana pesan dikirim.

str

Ya

limit

Jumlah pesan yang akan dikembalikan.

int

Tidak

order

Urutan di mana pesan diurutkan berdasarkan waktu pembuatan, yang bisa naik atau turun.

str

Tidak (Nilai default adalah "desc")

Respon Contoh

{
    "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": "Siapa kamu",
                        "annotations": []
                    }
                }
            ],
            "metadata": {},
            "from": "",
            "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"
}

Parameter Tanggapan

Keluaran adalah daftar objek pesan yang berisi bidang tambahan selain parameter input pengguna:

  • Daftar beberapa pesan.

SDK

Kode Contoh

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',
    # Kami merekomendasikan untuk mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    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();
        // Kami merekomendasikan untuk mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey("sk-xxx")
        GeneralListParam listThreadMessages = GeneralListParam.builder()
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .build();
        ListResult<ThreadMessage> message = messages.list("threadId", listThreadMessages);
    }
}

Parameter Permintaan

Parameter

Tipe

Nilai default

Deskripsi

thread_id

str

-

ID thread untuk kueri.

limit

int

None

Jumlah pesan yang akan diambil.

order

str

None

Urutan di mana pesan diurutkan berdasarkan created_at.

workspace

str

None

ID Ruang Kerja dari Model Studio. Parameter ini hanya diperlukan jika api_key adalah sub-ruang kerja API key.

api_key

str

None

Kunci API dari Model Studio. Kami merekomendasikan untuk mengonfigurasi Kunci API sebagai variabel lingkungan.

Parameter Respon

Parameter

Tipe

Deskripsi

has_more

bool

Menunjukkan apakah ada lebih banyak pesan untuk diambil.

last_id

str

ID pesan terakhir dalam daftar yang dikembalikan.

first_id

str

ID pesan pertama dalam daftar yang dikembalikan.

data

list[Message]

Daftar objek pesan.

Ambil pesan

HTTP

Kode Contoh

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"

Parameter Permintaan

Parameter

Deskripsi

Tipe

Diperlukan

thread id

ID thread tempat pesan yang akan diambil dilewatkan.

str

Ya

message_id

ID pesan yang akan diambil.

str

Ya

Respon Contoh

{
    "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": "Halo",
                "annotations": []
            }
        }
    ],
    "metadata": {},
    "from": "",
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": {},
    "request_id": "4d5ce962-91c3-9edb-87f7-00bbf985135e"
}

Parameter Respon

Outputnya adalah objek pesan yang diambil, yang berisi bidang berikut:

  • id: message_id

  • request_id: ID permintaan.

SDK

Kode Contoh

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',
    # Kami sarankan Anda mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    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();
        // Kami sarankan Anda mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey("sk-xxx")
        String apiKey = System.getenv("DASHSCOPE_API_KEY");
        ThreadMessage message = messages.retrieve("threadId", "messageId", apiKey);
    }
}

Parameter Permintaan

Parameter

Tipe

Nilai default

Deskripsi

message_id

str

-

ID dari pesan yang akan dikueri.

thread_id

str

-

ID dari thread tempat pesan yang akan dikueri berada.

workspace

str

None

Workspace ID dari Model Studio. Parameter ini hanya diperlukan jika api_key adalah kunci API sub-ruang kerja.

api_key

str

None

API key dari Model Studio. Kami menyarankan Anda mengonfigurasi kunci API sebagai variabel lingkungan.

Parameter Respon

Lihat parameter respons dari create.

Modifikasi pesan

HTTP

Kode Contoh

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"
    }
}'

Parameter Permintaan

Parameter

Deskripsi

Tipe

Diperlukan

thread_id

ID thread yang akan dimodifikasi.

str

Ya

message_id

ID pesan untuk dimodifikasi.

str

Ya

metadata

Metadata.

dict

Respon Contoh

{
    "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": "Halo",
                "annotations": []
            }
        }
    ],
    "metadata": {
        "modified": "true",
        "user": "abc123"
    },
    "from": "",
    "name": "",
    "plugin_call": {},
    "tool_calls": [],
    "status": {},
    "request_id": "7877b011-cb94-9df1-9add-dc42b7d611f6"
}

Parameter Respon

Outputnya adalah objek pesan yang telah dimodifikasi, yang berisi bidang-bidang berikut selain dari parameter input:

  • id: ID pesan.

  • request_id: ID permintaan.

SDK

Kode Contoh

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',
    # Kami merekomendasikan untuk mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    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();
        // Kami merekomendasikan untuk mengonfigurasi variabel lingkungan terlebih dahulu. Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey("sk-xxx")
        UpdateMetadataParam updateMetadataParam = UpdateMetadataParam.builder()
                .metadata(Collections.singletonMap("key", "value"))
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .build();
        messages.update("thread_id", "message_Id", updateMetadataParam);
    }
}

Parameter Permintaan

Parameter

Tipe

Nilai default

Deskripsi

message_id

str

-

ID pesan yang akan diperbarui.

thread_id

str

-

ID thread tempat pesan yang akan diperbarui berada.

metadata

Dict

None

Informasi yang terkait dengan thread.

workspace

str

None

ID Workspace dari Model Studio. Parameter ini hanya diperlukan jika api_key adalah kunci API sub-workspace.

api_key

str

None

Kunci API dari Model Studio. Kami merekomendasikan untuk mengonfigurasi Kunci API sebagai variabel lingkungan.

Parameter Respon

Lihat parameter tanggapan dari create.

Kode kesalahan

Jika panggilan gagal dan mengembalikan pesan kesalahan, lihat Pesan Kesalahan untuk pemecahan masalah.