All Products
Search
Document Center

Alibaba Cloud Model Studio:Kompatibel dengan OpenAI - Chat

Last Updated:Sep 09, 2026

Anda dapat memanggil model menggunakan API Chat yang kompatibel dengan OpenAI. Dokumen ini menjelaskan parameter input dan output serta menyediakan contoh pemanggilan.

Singapura

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

AS (Virginia)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Tiongkok (Beijing)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Hong Kong (Tiongkok)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Jerman (Frankfurt)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1

URL Permintaan: POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Jepang (Tokyo)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya.

Dapatkan Kunci API dan atur sebagai variabel lingkungan. Jika Anda menggunakan SDK OpenAI, Anda juga harus menginstal SDK.

PentingAlibaba Cloud Model Studio telah merilis domain khusus ruang kerja untuk wilayah Tiongkok (Beijing), Singapura, dan Tiongkok (Hong Kong). Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami merekomendasikan migrasi ke domain baru:

  • Tiongkok (Beijing): dari https://dashscope.aliyuncs.com ke https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com
  • Singapura: dari https://dashscope-intl.aliyuncs.com ke https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com
  • Tiongkok (Hong Kong): dari https://cn-hongkong.dashscope.aliyuncs.com ke https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com

{WorkspaceId} adalah ID ruang kerja Anda, yang dapat ditemukan di halaman Rincian Ruang Kerja pada konsol Alibaba Cloud Model Studio. Domain lama tetap berfungsi sepenuhnya.

badan permintaan

modelstring(Wajib)

Nama model.

Model yang didukung: Model Bahasa Besar Qwen (versi komersial dan sumber terbuka), Qwen-VL, Qwen-Coder, Qwen-Omni, Qwen-Math, DeepSeek, Kimi, GLM, dan MiniMax.

Untuk nama model spesifik dan detail penagihan, lihat konsol Studio Model.

messagesarray(Wajib)

Konteks yang diteruskan ke model bahasa besar, diatur dalam urutan percakapan.

Jenis pesan

Pesan Sistemobject(Opsional)

Pesan sistem yang menentukan peran, nada, tugas, atau batasan untuk model bahasa besar. Biasanya merupakan elemen pertama dalam array messages.

Jangan atur pesan sistem untuk model QwQ. Pesan sistem tidak berpengaruh pada model QVQ.

Properti

contentstring(Wajib)

Instruksi sistem. Menentukan peran, perilaku, gaya respons, dan batasan tugas model.

rolestring(Wajib)

Peran untuk pesan sistem. Nilainya tetap system.

Pesan Penggunaobject(Wajib)

Pesan pengguna. Meneruskan pertanyaan, instruksi, atau konteks ke model.

Properti

contentstring atau array(Wajib)

Konten pesan. Jenisnya string jika input hanya teks. Jenisnya array jika input berisi data multimodal seperti gambar, atau jika caching eksplisit diaktifkan.

Properti untuk model multimodal atau saat caching eksplisit diaktifkan

typestring(Wajib)

Nilai yang valid:

  • text

    Atur ke text untuk input teks.

  • image_url

    Atur ke image_url untuk input gambar.

  • input_audio

    Atur ke input_audio untuk input audio.

  • video

    Atur ke video untuk input video sebagai daftar gambar.

  • video_url

    Atur ke video_url untuk input file video.

    Hanya beberapa model Qwen-VL yang mendukung input file video. Untuk informasi selengkapnya, lihat Pemahaman video (Qwen-VL). Model QVQ dan Qwen-Omni mendukung input file video langsung.

textstring

Input teks. Parameter ini wajib saat type adalah text.

image_urlobject

Informasi input gambar. Parameter ini wajib saat type adalah image_url.

Properti

url string(Wajib)

URL atau URL Data Base64-encoded dari gambar. Untuk meneruskan file lokal, lihat Pemahaman gambar dan video.

input_audioobject

Informasi input audio. Parameter ini wajib saat type adalah input_audio.

Properti

data string(Wajib)

URL atau URL Data Base64-encoded dari audio. Untuk meneruskan file lokal, lihat Input file lokal yang di-encode Base64.

formatstring(Wajib)

Format input audio, seperti mp3 atau wav.

videoarray

Informasi input video, diberikan sebagai daftar gambar. Parameter ini wajib saat type adalah video. Untuk informasi selengkapnya tentang penggunaannya, lihat Pemahaman video (Qwen-VL), Pemahaman video (QVQ), atau Pemahaman video (Qwen-Omni).

Nilai contoh:

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

video_urlobject

Informasi file video input. Parameter ini wajib saat type adalah video_url.

Qwen-VL hanya dapat memahami informasi visual file video, sedangkan Qwen-Omni dapat memahami informasi visual dan audio.

Properti

url string(Wajib)

URL publik atau URL Data Base64-encoded dari file video. Untuk memasukkan file video lokal, lihat Input file lokal yang di-encode Base64.

fpsfloat(Opsional)

Jumlah frame yang diekstraksi per detik. Nilai yang valid: [0.1, 10]. Nilai default: 2.0.

Kisaran nilai yang valid untuk MiniMax/MiniMax-M3 adalah [0.2, 5], dan nilai defaultnya adalah 1.

Deskripsi fitur

Parameter fps memiliki dua fungsi:

  • Saat Anda memasukkan file video, parameter ini mengontrol frekuensi ekstraksi frame. Satu frame diekstraksi setiap f p s 1 ​ detik.

    Ini berlaku untuk Qwen-VL, model QVQ.

  • Memberi tahu model tentang interval waktu antara frame yang berdekatan untuk membantunya lebih memahami perkembangan video dari waktu ke waktu. Ini berlaku untuk input file video maupun daftar gambar. Fitur ini cocok untuk skenario seperti lokalisasi waktu peristiwa atau ringkasan konten tersegmentasi.

    Didukung oleh Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen2.5-VL, Qwen3.5-Omni, dan model QVQ.

Nilai fps yang lebih besar cocok untuk skenario gerakan cepat, seperti acara olahraga atau film aksi. Nilai fps yang lebih kecil cocok untuk video panjang atau adegan dengan konten statis.

Nilai contoh

  • Input untuk daftar gambar: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
  • Input file video: {"video": "https://xx1.mp4", "fps":2}

min_pixelsinteger(Opsional)

Menetapkan ambang batas piksel minimum untuk input gambar atau frame video. Jika jumlah piksel input kurang dari min_pixels, input tersebut diperbesar hingga jumlah piksel totalnya lebih besar dari min_pixels. Parameter ini berlaku untuk model Qwen-VL dan QVQ.

Kisaran nilai

  • Input gambar:
    • Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL: Nilai default dan minimum: 65536
    • Qwen3.5-Omni: Nilai default dan minimum: 24576
    • qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default dan minimum: 4096
    • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri sumber terbuka Qwen2.5-VL, dan model seri QVQ: Nilai default dan minimum: 3136
  • Input file video atau daftar gambar:
    • Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3.5-Omni, Qwen3-VL (termasuk versi komersial dan sumber terbuka), qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default: 65536. Nilai minimum: 4096
    • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri sumber terbuka Qwen2.5-VL, dan model seri QVQ: Nilai default: 50176. Nilai minimum: 3136

Nilai contoh

  • Input gambar: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536}
  • Input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536}
  • Input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}

max_pixelsinteger(Opsional)

Menentukan ambang batas piksel maksimum untuk input gambar atau frame video. Jika jumlah piksel input gambar atau video berada dalam rentang [min_pixels, max_pixels], model memproses gambar aslinya. Jika jumlah piksel lebih besar dari max_pixels, gambar diperkecil hingga jumlah pikselnya kurang dari atau sama dengan max_pixels. Parameter ini berlaku untuk model Qwen-VL dan QVQ.

Kisaran nilai

  • Input gambar:

    Nilai max_pixels bergantung pada apakah parameter vl_high_resolution_images diaktifkan.

    • Saat vl_high_resolution_images adalah False:

      • Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL: Nilai default: 2621440. Nilai maksimum: 16777216
      • Qwen3.5-Omni: Nilai default: 1310720. Nilai maksimum: 16777216
      • qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default: 1310720. Nilai maksimum: 16777216
      • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri sumber terbuka Qwen2.5-VL, dan model seri QVQ: Nilai default: 1003520. Nilai maksimum: 12845056
    • Saat vl_high_resolution_images adalah True:

      • Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5-Omni, Qwen3.5, Qwen3-VL, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: max_pixels tidak berlaku. Jumlah piksel maksimum untuk input gambar ditetapkan pada 16777216.
      • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri sumber terbuka Qwen2.5-VL, dan model seri QVQ: max_pixels tidak berlaku. Jumlah piksel maksimum untuk input gambar ditetapkan pada 12845056.
  • Input file video atau daftar gambar:
    • Seri Qwen3.8, seri Qwen3.7, seri Qwen3.6, seri Qwen3.5, Qwen3.5-Omni, seri Qwen3-VL tertutup sumber, qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-instruct: Nilai default: 655360. Nilai maksimum: 2048000
    • Model sumber terbuka Qwen3-VL lainnya, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default: 655360. Nilai maksimum: 786432
    • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri sumber terbuka Qwen2.5-VL, dan model seri QVQ: Nilai default: 501760. Nilai maksimum: 602112

Nilai contoh

  • Input gambar: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}
  • Input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360}
  • Input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}

total_pixelsinteger(Opsional)

Membatasi jumlah piksel total semua frame yang diekstraksi dari video, yang dihitung sebagai (piksel per frame × total frame). Jika jumlah piksel total video melebihi batas ini, sistem memperkecil frame video. Sistem memastikan bahwa jumlah piksel satu frame tetap dalam rentang [min_pixels, max_pixels]. Parameter ini berlaku untuk model Qwen-VL dan QVQ.

Untuk video panjang dengan banyak frame yang diekstraksi, Anda dapat mengurangi nilai ini untuk mengurangi konsumsi token dan waktu pemrosesan, tetapi ini dapat menyebabkan hilangnya detail gambar.

Kisaran nilai

  • Seri Qwen3.8, Seri Qwen3.7, Seri Qwen3.6, Seri Qwen3.5: Nilai default dan maksimum: 819200000. Ini setara dengan 800000 token gambar (1 token gambar per 32×32 piksel).
  • Seri Qwen3-VL tertutup sumber, qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-instruct: Nilai default dan maksimum: 134217728. Ini setara dengan 131072 token gambar (1 token gambar per 32×32 piksel).
  • Qwen3.5-Omni: Nilai default dan minimum: 184549376. Ini setara dengan 180224 token gambar (1 token gambar per 32×32 piksel).
  • Model sumber terbuka Qwen3-VL lainnya, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default dan minimum: 67108864. Ini setara dengan 65536 token gambar (1 token gambar per 32×32 piksel).
  • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri sumber terbuka Qwen2.5-VL, dan model seri QVQ: Nilai default dan minimum: 51380224. Ini setara dengan 65536 token gambar (1 token gambar per 28×28 piksel).

Nilai contoh

  • Input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728}
  • Input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}

cache_controlobject(Opsional)

Mengaktifkan caching eksplisit. Untuk informasi selengkapnya, lihat Caching eksplisit.

Properti

type string(Wajib)

Hanya ephemeral yang didukung.

rolestring(Wajib)

Peran untuk pesan pengguna. Nilainya tetap user.

Pesan Asisten object(Opsional)

Balasan model. Biasanya diteruskan kembali ke model sebagai konteks dalam percakapan multi-putaran.

Properti

contentstring(Opsional)

Konten teks balasan model. Saat tool_calls disertakan, content bisa kosong. Jika tidak, content wajib diisi.

rolestring(Wajib)

Peran untuk pesan asisten. Nilainya tetap assistant.

partialboolean(Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan mode sebagian.

Nilai yang valid:

  • true: Aktifkan.
  • false: Nonaktifkan.

Untuk daftar model yang didukung, lihat mode sebagian.

tool_calls array(Opsional)

Informasi tentang alat dan parameter inputnya yang diputuskan model untuk dipanggil. Berisi satu atau lebih objek dan diperoleh dari field tool_calls dari respons model sebelumnya.

Properti

id string(Wajib)

ID pemanggilan alat.

type string(Wajib)

Jenis alat. Saat ini, hanya function yang didukung.

function object(Wajib)

Alat dan parameter input

Properti

name string(Wajib)

Nama alat.

arguments string(Wajib)

Informasi parameter input, sebagai string berformat JSON.

index integer(Wajib)

Indeks pemanggilan alat ini dalam array tool_calls.

Pesan Alat object(Opsional)

Hasil pemanggilan alat.

Properti

contentstring(Wajib)

Konten keluaran fungsi alat. Harus berupa string. Jika alat mengembalikan data terstruktur, seperti JSON, data tersebut harus diserialisasi menjadi string.

rolestring(Wajib)

Nilainya tetap tool.

tool_call_idstring(Wajib)

ID pemanggilan alat yang menjadi tanggapan pesan ini. Anda dapat memperolehnya dari completion.choices[0].message.tool_calls[$index].id. ID ini digunakan untuk mengaitkan pesan alat dengan pemanggilan alat yang sesuai.

streamboolean(Opsional) Nilai default: false

Menentukan apakah akan membalas dalam mode keluaran streaming. Untuk informasi selengkapnya, lihat Keluaran streaming.

Nilai yang valid:

  • false: Model mengembalikan konten lengkap setelah generasi selesai.
  • true: Model mengeluarkan konten saat dihasilkan. Potongan data dikembalikan setiap kali sebagian konten dihasilkan. Anda harus membaca potongan-potongan ini untuk menyusun balasan lengkap.

Kami merekomendasikan agar Anda mengatur ini ke true untuk meningkatkan pengalaman pengguna dan mengurangi risiko timeout.

CatatanUntuk pemanggilan non-streaming, timeout maksimum minimal 300 detik dan bervariasi berdasarkan wilayah dan model. Jika tidak selesai tepat waktu, layanan menginterupsi permintaan dan mengembalikan konten yang dihasilkan alih-alih error. Kami merekomendasikan agar Anda menggunakan pemanggilan streaming untuk skenario yang memerlukan keluaran panjang. Untuk informasi selengkapnya, lihat deskripsi timeout di Ikhtisar model generasi teks.

stream_optionsobject(Opsional)

Item konfigurasi untuk keluaran streaming. Parameter ini hanya berlaku saat stream diatur ke true.

Properti

include_usageboolean(Opsional) Nilai default: false

Menentukan apakah akan menyertakan informasi konsumsi token dalam potongan data terakhir respons.

Nilai yang valid:

  • true: Sertakan.
  • false: Jangan sertakan.

Untuk keluaran streaming, informasi konsumsi token hanya dapat muncul dalam potongan data terakhir respons.

modalitiesarray(Opsional) Nilai default: ["text"]

Modalitas data keluaran. Parameter ini hanya berlaku untuk model Qwen-Omni. Untuk informasi selengkapnya, lihat Non-real-time (Qwen-Omni).

Nilai yang valid:

  • ["text","audio"]: Keluarkan teks dan audio.
  • ["text"]: Keluarkan hanya teks.

audioobject(Opsional)

Suara dan format audio keluaran. Parameter ini hanya berlaku untuk model Qwen-Omni dan memerlukan parameter modalities diatur ke ["text","audio"]. Untuk informasi selengkapnya, lihat Non-real-time (Qwen-Omni).

Properti

voicestring (Wajib)

Suara audio keluaran. Untuk informasi selengkapnya, lihat Non-real-time (Qwen-Omni).

formatstring (Wajib)

Format audio keluaran. Hanya wav yang didukung.

temperaturefloat(Opsional)

Suhu pengambilan sampel, yang mengontrol keragaman teks yang dihasilkan model.

Suhu yang lebih tinggi menghasilkan teks yang lebih beragam, sedangkan suhu yang lebih rendah menghasilkan teks yang lebih deterministik.

Kisaran nilai: [0, 2)

Baik temperature maupun top_p dapat mengontrol keragaman teks yang dihasilkan. Kami merekomendasikan agar Anda hanya mengatur salah satunya. Untuk informasi selengkapnya, lihat Ikhtisar.

Jangan ubah nilai temperature default untuk model QVQ.

top_pfloat(Opsional)

Ambang batas probabilitas untuk pengambilan sampel inti, yang mengontrol keragaman teks yang dihasilkan model.

Nilai top_p yang lebih tinggi menghasilkan teks yang lebih beragam. Nilai top_p yang lebih rendah menghasilkan teks yang lebih deterministik.

Kisaran nilai: (0, 1.0]

Baik temperature maupun top_p dapat mengontrol keragaman teks yang dihasilkan. Kami merekomendasikan agar Anda hanya mengatur salah satunya. Untuk informasi selengkapnya, lihat Ikhtisar.

Jangan ubah nilai top_p default untuk model QVQ.

top_kinteger(Opsional)

Menentukan jumlah token kandidat untuk diambil selama generasi. Nilai yang lebih besar menghasilkan output yang lebih acak, sedangkan nilai yang lebih kecil menghasilkan output yang lebih deterministik. Jika diatur ke null atau nilai lebih besar dari 100, strategi top_k dinonaktifkan, dan hanya strategi top_p yang berlaku. Nilainya harus integer yang lebih besar dari atau sama dengan 0.

Nilai top_k default

Seri QVQ: 10;

Seri QwQ: 40;

model sebelum seri qwen-vl-plus, dan qwen2.5-omni-7b: 1;

Seri Qwen3-Omni-Flash: 50;

Semua model lainnya: 20.

Seri GLM (disediakan oleh Alibaba Cloud): 20;

Seri DeepSeek, Kimi, dan MiniMax tidak mendukung parameter top_k.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"top_k":xxx}.

Jangan ubah nilai top_k default untuk model QVQ.

repetition_penaltyfloat(Opsional)

Hukuman pengulangan untuk urutan berturut-turut selama generasi model. Meningkatkan repetition_penalty dapat mengurangi pengulangan dalam output model. Nilai 1.0 berarti tidak ada hukuman. Tidak ada kisaran nilai yang ketat, selama lebih besar dari 0.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"repetition_penalty":xxx}.

Saat Anda menggunakan model qwen-vl-plus_2025-01-25 untuk ekstraksi teks, atur repetition_penalty ke 1.0.

Jangan ubah nilai repetition_penalty default untuk model QVQ.

presence_penalty float(Opsional)

Mengontrol pengulangan konten saat model menghasilkan teks.

Kisaran nilai: [-2.0, 2.0]. Nilai positif mengurangi pengulangan, sedangkan nilai negatif meningkatkannya.

Dalam skenario yang memerlukan keragaman, kesenangan, atau kreativitas, seperti penulisan kreatif atau brainstorming, Anda dapat meningkatkan nilai ini. Dalam skenario yang menekankan konsistensi dan akurasi istilah, seperti dokumen teknis atau teks formal, Anda dapat mengurangi nilai ini.

Nilai presence_penalty default

Qwen3.8 (mode non-pemikiran), Qwen3.7 (mode non-pemikiran), Qwen3.6 (mode non-pemikiran), Qwen3.5-Omni, Qwen3.5 (mode non-pemikiran), qwen3-max-preview (mode pemikiran), Qwen3 (mode non-pemikiran), seri Qwen3-Instruct/1.7b/4b (mode pemikiran), seri QVQ, qwen-max, seri qwen2.5-vl, seri qwen-vl-max, qwen-vl-plus, Qwen3-VL (non-pemikiran): 1.5;

qwen3-8b/14b/32b/30b-a3b/235b-a22b (mode pemikiran), qwen-plus/qwen-plus-latest/2025-04-28 (mode pemikiran), qwen-turbo/qwen-turbo/2025-04-28 (mode pemikiran): 0.5;

Semua lainnya adalah 0.0.

Seri DeepSeek (disediakan oleh Alibaba Cloud): deepseek-r1, deepseek-r1-0528, versi distilasi deepseek-r1-distill-qwen: 1;

Seri Kimi (disediakan oleh Alibaba Cloud): kimi-k2.7-code, kimi-k2.6, kimi-k2.5: 0.0;

Seri Kimi (disediakan oleh Moonshot AI): 0.0;

Seri MiniMax (disediakan oleh Alibaba Cloud): MiniMax-M2.5, MiniMax-M2.1: 0.0;

Model DeepSeek, Kimi, GLM, dan MiniMax lainnya tidak memiliki nilai default.

Cara kerjanya

Jika nilai parameter positif, model memberikan hukuman pada token yang sudah ada dalam teks. Hukuman ini tidak terkait dengan jumlah kemunculan token tersebut. Hal ini mengurangi kemungkinan token tersebut muncul kembali, sehingga mengurangi pengulangan konten dan meningkatkan keragaman kata.

Contoh

Prompt: Terjemahkan kalimat ini ke dalam Bahasa Mandarin: "Film ini bagus. Alur ceritanya bagus, aktingnya bagus, musiknya bagus, dan secara keseluruhan, seluruh film ini sungguh bagus. Bahkan, film ini sangat bagus. Alur ceritanya sangat bagus, aktingnya sangat bagus, dan musiknya sangat bagus."

Nilai parameter 2.0: Film ini bagus. Alur ceritanya fantastis, aktingnya luar biasa, dan musiknya juga sangat indah. Secara keseluruhan, seluruh film ini benar-benar luar biasa. Faktanya, film ini benar-benar hebat. Alur ceritanya sangat menarik, aktingnya sangat baik, dan soundtrack-nya begitu mengharukan.

Nilai parameter 0.0: Film ini bagus. Alur ceritanya bagus, aktingnya bagus, dan musiknya bagus. Secara keseluruhan, seluruh film ini sangat bagus. Faktanya, film ini benar-benar hebat. Alur ceritanya sangat bagus, aktingnya juga sangat baik, dan musiknya sama luar biasanya.

Nilai parameter -2.0: Film ini bagus. Alur ceritanya bagus, aktingnya bagus, dan musiknya bagus. Secara keseluruhan, seluruh film ini bagus. Faktanya, film ini benar-benar bagus. Alur ceritanya sangat bagus, aktingnya sangat bagus, dan musiknya sangat bagus.

Saat Anda menggunakan model qwen-vl-plus untuk ekstraksi teks, atur presence_penalty ke 1.5.

Jangan ubah nilai presence_penalty default untuk model QVQ.

response_formatobject (Opsional) Nilai default: {"type": "text"}

Format respons. Nilai yang valid:

  • {"type": "text"}: Mengeluarkan balasan teks.
  • {"type": "json_object"}: Mengeluarkan string berformat JSON standar.

Untuk informasi selengkapnya, lihat Output terstruktur.

Jika Anda menentukan {"type": "json_object"}, Anda harus secara eksplisit menginstruksikan model untuk mengeluarkan JSON dalam prompt, seperti "Silakan keluarkan dalam format JSON". Jika tidak, akan terjadi error.

Untuk model yang didukung, lihat Output terstruktur.

Properti

typestring(Wajib)

Format konten yang dikembalikan. Nilai yang valid:

  • text: Mengeluarkan balasan teks.
  • json_object: Mengeluarkan string berformat JSON standar.

max_tokensinteger(Opsional, akan ditinggalkan)

Parameter ini akan ditinggalkan. Untuk integrasi baru, gunakan max_completion_tokens.

Makna parameter ini bervariasi berdasarkan model:

  • deepseek-v4-pro, deepseek-v4-pro-0813, deepseek-v4-flash, deepseek-v4-flash-0731: Jumlah maksimum token untuk jumlah jawaban model dan konten rantai-pikiran. Jika output model melebihi nilai ini, generasi dihentikan lebih awal, dan finish_reason yang dikembalikan adalah length.
  • glm-5.2: Saat parameter thinking_budget tidak diteruskan, max_tokens adalah jumlah maksimum token untuk jumlah jawaban model dan konten rantai-pikiran, dan jika output model melebihi nilai ini, generasi dihentikan lebih awal dengan finish_reason yang dikembalikan adalah length. Saat parameter thinking_budget diteruskan, max_tokens adalah jumlah maksimum token hanya untuk jawaban model, dan jumlah token untuk bagian rantai-pikiran dikontrol secara terpisah oleh thinking_budget.
  • Model lainnya: Jumlah maksimum token untuk jawaban model. Jika konten yang dihasilkan melebihi nilai ini, generasi dihentikan lebih awal, dan finish_reason yang dikembalikan adalah length.

Nilai default dan maksimum keduanya adalah panjang output maksimum model.

max_completion_tokensinteger(Opsional)

Panjang maksimum output model, termasuk konten rantai-pikiran dan jawaban model. Jika output model melebihi nilai ini, generasi dihentikan lebih awal, dan finish_reason yang dikembalikan adalah length.

Nilai default dan maksimum keduanya adalah panjang output maksimum model.

Perbedaan dari max_tokens: max_completion_tokens membatasi output model lengkap (rantai-pikiran + jawaban), sedangkan max_tokens hanya membatasi bagian jawaban. Untuk model pemikiran, kami merekomendasikan agar Anda menggunakan max_completion_tokens.

Model yang didukung:

  • Qwen Max: Model Qwen3.7-Max dan yang lebih baru
  • Qwen Plus: Model Qwen3.5-Plus dan yang lebih baru
  • Qwen Flash: Model Qwen3.5-Flash dan yang lebih baru
  • Kimi: Model kimi-k2.5 dan yang lebih baru
  • GLM: Model glm-5 dan yang lebih baru
  • MiniMax: Model MiniMax-M2.5 dan yang lebih baru
  • DeepSeek: Model deepseek-v3, deepseek-r1, deepseek-r1-0528, deepseek-v3.1, deepseek-v3.2, deepseek-v3.2-exp, deepseek-v4-pro, deepseek-v4-flash, dan yang lebih baru

Model yang tercantum di atas tidak termasuk model yang disediakan langsung oleh pihak ketiga.

Mungkin terdapat perbedaan hingga 10 token antara jumlah token output aktual dan nilai max_completion_tokens yang ditentukan.

vl_high_resolution_imagesboolean(Opsional) Nilai default: false

Menentukan apakah akan meningkatkan batas piksel untuk input gambar ke jumlah piksel yang sesuai dengan 16384 token. Untuk informasi selengkapnya, lihat Memproses gambar resolusi tinggi.

  • vl_high_resolution_images: true menggunakan strategi resolusi tetap dan mengabaikan pengaturan max_pixels. Jika resolusi terlampaui, jumlah piksel total gambar diperkecil agar tetap dalam batas ini.

    Klik untuk melihat batas piksel untuk setiap model

    Saat vl_high_resolution_images adalah True, batas piksel bervariasi berdasarkan model:

    • Untuk seri Qwen3.8, seri Qwen3.7, seri Qwen3.6, seri Qwen3.5, seri Qwen3-VL, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815, dan model , nilainya adalah 16777216. (Setiap Token sesuai dengan piksel 32*32. Nilai total dihitung sebagai 16384*32*32.)
    • Seri QVQ, model seri Qwen2.5-VL lainnya: 12845056 (1 token sesuai dengan piksel 28*28, yaitu 16384*28*28)
  • vl_high_resolution_images adalah false, batas piksel ditentukan oleh max_pixels. Jika jumlah piksel gambar input melebihi max_pixels, gambar diperkecil hingga dalam batas max_pixels. Batas piksel default untuk setiap model adalah nilai default max_pixels.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"vl_high_resolution_images":xxx}.

ninteger(Opsional) Nilai default: 1

Jumlah respons yang dihasilkan. Kisaran nilai adalah 1-4. Ini cocok untuk skenario yang memerlukan beberapa respons kandidat, seperti penulisan kreatif atau iklan.

Hanya didukung oleh Qwen3 (mode non-pemikiran) models.

Jika parameter tools diteruskan, atur n ke 1.

Meningkatkan n meningkatkan konsumsi token output tetapi tidak meningkatkan konsumsi token input.

enable_thinking boolean (Opsional)

Saat Anda menggunakan model campuran-pemikiran, yang mendukung mode pemikiran dan non-pemikiran, parameter ini menentukan apakah akan mengaktifkan mode pemikiran. Ini berlaku untuk model Qwen3.7, Qwen3.6, Qwen3.5, Qwen3, Qwen3-Omni-Flash, dan Qwen3-VL, serta seri DeepSeek-V4-Pro/V4-Flash, seri DeepSeek-V3.2/V3.2-exp/V3.1, Kimi-K2.7-code (hanya model pemikiran), seri Kimi-K2.6/K2.5, dan seri GLM. Seri DeepSeek-V4 mengaktifkan pemikiran secara default. Anda dapat menyesuaikan intensitas inferensi dengan parameter reasoning_effort.

Nilai yang valid:

  • true: Aktifkan

    Saat diaktifkan, konten pemikiran dikembalikan dalam field reasoning_content.

  • false: Nonaktifkan

Nilai default untuk model yang berbeda: Model yang didukung

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"enable_thinking": xxx}.

Jika Anda memanggil langsung melalui HTTP (misalnya, dengan curl) alih-alih menggunakan SDK OpenAI, jangan gunakan extra_body. Cukup letakkan enable_thinking di tingkat atas badan permintaan (body), bersama parameter seperti model dan messages, misalnya "enable_thinking": true.

Model MiniMax dan MiniMax-M3 dari Xiyu Technology tidak menggunakan parameter ini. Sebagai gantinya, gunakan parameter thinking.

thinking object (Opsional) Nilai default: {"type":"adaptive"}

Mengontrol mode pemikiran MiniMax/MiniMax-M3 yang disediakan oleh MiniMax.

Nilai yang valid untuk thinking.type:

  • adaptive: Otomatis (default). Model memutuskan apakah akan berpikir.
  • disabled: Menonaktifkan pemikiran dan membalas langsung.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"thinking": {"type": "adaptive"}}.

preserve_thinking boolean (Opsional) Nilai default: false (Nilai default untuk qwen3.8-max/qwen3.8-flash:true)

Menentukan apakah akan menambahkan reasoning_content dari pesan asisten dalam riwayat percakapan ke input model. Ini cocok untuk skenario di mana model perlu merujuk ke proses pemikiran historis.

Saat ini didukung oleh qwen3.7-max, qwen3.7-max-2026-05-20 dan snapshot berikutnya, 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 (diaktifkan secara default), qwen3.8-flash (diaktifkan secara default), kimi-k2.6 (dideploy di Alibaba Cloud Model Studio), kimi-k2.7-code (dideploy di Alibaba Cloud Model Studio, diaktifkan secara default), kimi/kimi-k2.7-code-highspeed (disediakan oleh Moonshot AI, diaktifkan secara default), dan kimi/kimi-k2.7-code (disediakan oleh Moonshot AI, diaktifkan secara default).

Penting (qwen3.8-max/qwen3.8-flash): Saat menggunakan qwen3.8-max/qwen3.8-flash, preserve_thinking defaultnya true. Anda harus mengirim kembali semua reasoning_content historis di field reasoning_content. JANGAN menggabungkan reasoning_content ke dalam field content. Melakukan hal tersebut dapat menurunkan performa model.

  • Jika pesan historis tidak berisi reasoning_content, mengaktifkan parameter ini tidak menyebabkan error.
  • Saat diaktifkan, reasoning_content dari percakapan historis disertakan dalam jumlah token input dan ditagih.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"preserve_thinking": True}.

thinking_budget integer (Opsional)

Jumlah maksimum token untuk proses pemikiran. Ini berlaku untuk model Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen3, GLM dan Kimi, kecuali kimi-k3 yang tidak mendukung parameter ini. Untuk informasi selengkapnya, lihat Batasi panjang pemikiran.

Nilai default adalah panjang rantai-pikiran maksimum model. Untuk informasi selengkapnya, lihat daftar model.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"thinking_budget": xxx}.

reasoning_effort string (Opsional)

Mengontrol intensitas inferensi model. Nilai yang valid dan nilai default bervariasi berdasarkan model.

Seri DeepSeek-V4 dan GLM (Nilai default: high)

Nilai yang valid:

  • high: Inferensi intensitas tinggi
  • max: Inferensi intensitas maksimum

low dan medium dipetakan ke high, dan xhigh dipetakan ke max.

Ini berlaku untuk glm-5.2, glm-5.1, glm-5, deepseek-v4-pro, dan deepseek-v4-flash (tidak termasuk deepseek-v4-flash-0731).

ZHIPU/GLM-5.3、model kimi-k3(disediakan oleh Alibaba Cloud): Nilai default:max

Nilai yang valid:

  • max (default): penalaran mendalam
  • high: penalaran ditingkatkan
  • low: penalaran ringan

Model ini selalu melakukan pemikiran. enable_thinking hanya mendukung true. Meneruskan false menyebabkan permintaan API gagal.

deepseek-v4-flash-0731 & deepseek-v4-pro-0813: Nilai default:high

Nilai yang valid:

  • max (default): Inferensi intensitas maksimum
  • high: Inferensi standar
  • low: Inferensi intensitas rendah

Pemetaan nilai standar OpenAI: medium dipetakan ke high, xhigh dipetakan ke high.

kimi/kimi-k3 (Nilai default: max; hanya max yang didukung)

Nilai yang valid:

  • max: Inferensi intensitas maksimum

qwen3.8-max/qwen3.8-flash: Nilai default:xhigh

Nilai yang valid:

  • xhigh (default): Inferensi intensitas maksimum
  • medium: Inferensi standar
  • low: Inferensi intensitas rendah

Pemetaan nilai standar OpenAI: max dipetakan ke xhigh, high dipetakan ke xhigh, minimal dipetakan ke low, dan none dipetakan ke enable_thinking=False.

Mengatur nilai selain nilai valid dan nilai yang dipetakan di atas akan menyebabkan error.

Untuk seri qwen3.8, reasoning_effort dan thinking_budget tidak dapat diatur secara bersamaan. Mengatur keduanya akan menyebabkan error. Namun, keduanya mendukung konversi timbal balik:

  • Saat thinking_budget tidak diatur, level reasoning_effort secara otomatis dipetakan ke thinking_budget: low sesuai dengan 4096, medium sesuai dengan 16384, dan xhigh sesuai dengan 262144.
  • Saat reasoning_effort tidak diatur, thinking_budget secara otomatis dipetakan kembali ke reasoning_effort: 0–4096 sesuai dengan low, 4097–16384 sesuai dengan medium, dan 16385–262144 sesuai dengan xhigh.
  • Saat keduanya tidak diatur, thinking_budget default (131072) dan reasoning_effort default (xhigh) digunakan.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"reasoning_effort": "high"}.

tool_stream boolean (Opsional) Nilai default: false

Hanya berlaku saat stream=true. Parameter ini saat ini hanya didukung oleh seri Qwen dan GLM.

Daftar dukungan seri Qwen:
  • seri qwen-max: modalitas teks dari seri qwen3.8-max dan qwen3.7-max
  • seri qwen-plus: modalitas teks dari seri qwen3.7-plus dan qwen3.6-plus, dan modalitas omni dari seri qwen3.5-plus
  • seri qwen-flash: modalitas omni dari seri qwen3.8-flash, qwen3.7-flash, qwen3.6-flash dan qwen3.5-flash
Referensi penggunaan seri Qwen:

tool_stream hanya memengaruhi parameter alat kompleks. Untuk parameter alat normal, keluaran streaming diaktifkan selama stream=true. Alat kompleks adalah alat di mana beberapa jenis parameter dalam definisi alat adalah array atau object.

  • tool_stream=false: Parameter alat kompleks dikeluarkan sekaligus. Ini adalah perilaku default, dan format kompleks lebih akurat.
  • tool_stream=true: Parameter alat kompleks dikeluarkan dalam aliran, yang menghindari risiko timeout untuk format kompleks.

Daftar dukungan seri GLM: glm-4.6, glm-4.7, glm-5, dan glm-5.1.

Referensi penggunaan seri GLM:
  • tool_stream=false: Parameter alat dikeluarkan sekaligus. Ini adalah perilaku default, dan format kompleks lebih akurat.
  • tool_stream=true: Parameter alat dikeluarkan dalam aliran, yang menghindari risiko timeout untuk format kompleks.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"tool_stream": true}.

enable_code_interpreter boolean (Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan fitur interpreter kode. Untuk informasi selengkapnya, lihat Interpreter kode.

Nilai yang valid:

  • true: Aktifkan
  • false: Nonaktifkan

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"enable_code_interpreter": xxx}.

seedinteger(Opsional)

Bilangan acak seed. Parameter ini digunakan untuk memastikan hasil yang dapat direproduksi dengan input dan parameter yang sama. Jika Anda meneruskan nilai seed yang sama dalam pemanggilan dan parameter lainnya tetap tidak berubah, model mengembalikan hasil yang sama sebanyak mungkin.

Kisaran nilai: [0,2<sup>31</sup>−1].

logprobs boolean (Opsional) Nilai default: false

Menentukan apakah akan mengembalikan log probabilitas token output. Nilai yang valid:

  • true

    Kembalikan

  • false

    Jangan kembalikan

Konten yang dihasilkan selama fase pemikiran (reasoning_content) tidak mengembalikan log probabilitas.

Model yang didukung

  • Model snapshot seri qwen-plus (tidak termasuk model versi stabil)
  • Model snapshot seri qwen-turbo (tidak termasuk model versi stabil)
  • Model seri qwen3-vl-plus (termasuk model versi stabil)
  • Model seri qwen3-vl-flash (termasuk model versi stabil)
  • Model sumber terbuka Qwen3

top_logprobs integer (Opsional) Nilai default: 0

Menentukan jumlah token kandidat paling mungkin yang dikembalikan pada setiap langkah generasi.

Kisaran nilai: [0, 5]

Parameter ini hanya berlaku saat logprobs adalah true.

stopstring atau array(Opsional)

Digunakan untuk menentukan kata berhenti. Saat string atau token_id yang ditentukan dalam stop muncul dalam teks yang dihasilkan, generasi segera dihentikan.

Anda dapat meneruskan kata sensitif untuk mengontrol output model.

Saat stop adalah array, Anda tidak dapat memasukkan token_id dan string sebagai elemen. Misalnya, Anda tidak dapat menentukan ["Hello",104307].

toolsarray(Opsional)

Array yang berisi satu atau lebih objek alat untuk dipanggil model dalam Pemanggilan Fungsi. Untuk informasi selengkapnya, lihat Pemanggilan fungsi.

Jika tools diatur dan model menentukan bahwa alat perlu dipanggil, respons mengembalikan informasi alat dalam tool_calls.

Properti

typestring(Wajib)

Jenis alat. Saat ini, hanya function yang didukung.

functionobject(Wajib)

Properti

namestring(Wajib)

Nama alat. Hanya huruf, angka, garis bawah (_), dan tanda hubung (-) yang diperbolehkan. Panjang maksimum adalah 64 token.

descriptionstring(Wajib)

Deskripsi alat, yang membantu model menentukan kapan dan bagaimana memanggil alat.

parametersobject(Opsional) Nilai default: {}

Deskripsi parameter untuk alat, yang harus berupa JSON Schema yang valid. Untuk deskripsi JSON Schema, lihat tautan. Jika parameter parameters kosong, alat tidak memiliki parameter input, seperti alat kueri waktu.

Untuk meningkatkan akurasi pemanggilan alat, kami merekomendasikan agar Anda meneruskan parameters.

tool_choice string atau object(Opsional) Nilai default: auto

Strategi pemilihan alat. Untuk memaksa metode pemanggilan alat tertentu untuk jenis masalah tertentu, seperti selalu menggunakan alat tertentu atau menonaktifkan semua alat, Anda dapat mengatur parameter ini.

Nilai yang valid:

  • auto

    Model bahasa besar memilih strategi alat.

  • none

    Jika Anda tidak ingin memanggil alat, Anda dapat mengatur parameter tool_choice ke none.

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

    Jika Anda ingin memaksa alat tertentu dipanggil, Anda dapat mengatur parameter tool_choice ke {"type": "function", "function": {"name": "the_function_to_call"}}, di mana the_function_to_call adalah nama fungsi alat yang ditentukan.

    Model mode pemikiran tidak mendukung pemaksaan pemanggilan alat tertentu.

parallel_tool_calls boolean (Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan pemanggilan alat paralel. Untuk informasi selengkapnya, lihat Pemanggilan alat paralel.

Nilai yang valid:

  • true: Aktifkan
  • false: Nonaktifkan

enable_search boolean(Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan pencarian web. Untuk informasi selengkapnya, lihat Pencarian web.

Nilai yang valid:

  • true: Aktifkan.

    Jika pencarian web tidak dilakukan setelah diaktifkan, Anda dapat mengoptimalkan prompt atau mengatur parameter forced_search dalam search_options untuk mengaktifkan pencarian paksa.

  • false: Nonaktifkan.

Mengaktifkan fitur pencarian web dapat meningkatkan konsumsi token.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"enable_search": True}.

search_optionsobject(Opsional)

Strategi untuk pencarian web. Untuk informasi selengkapnya, lihat Pencarian web.

Properti

forced_search boolean(Opsional) Nilai default: false

Menentukan apakah akan memaksa pencarian web. Parameter ini hanya berlaku saat enable_search diatur ke true.

Nilai yang valid:

  • true: Paksa aktifkan.
  • false: Jangan paksa aktifkan. Model memutuskan apakah akan melakukan pencarian web.

search_strategy string(Opsional) Nilai default: turbo

Strategi pencarian. Parameter ini hanya berlaku saat enable_search diatur ke true.

Nilai yang valid:

  • turbo (Default): Menyeimbangkan kecepatan respons dan efektivitas pencarian. Strategi ini cocok untuk sebagian besar skenario.

  • max: Mengadopsi strategi pencarian yang lebih komprehensif. Strategi ini dapat memanggil mesin pencari multi-sumber untuk mendapatkan hasil pencarian yang lebih detail, tetapi waktu respons mungkin lebih lama.

  • agent: Dapat memanggil alat pencarian web dan model bahasa besar beberapa kali untuk mencapai pengambilan informasi multi-putaran dan integrasi konten.

    Strategi ini hanya berlaku untuk qwen3.5-plus, qwen3.5-plus-2026-02-15, qwen3.5-flash, qwen3.5-flash-2026-02-23, qwen3-max, qwen3-max-2026-01-23, qwen3-max-2025-09-23, qwen3.5-omni-plus, qwen3.5-omni-plus-2026-03-15, qwen3.5-omni-flash, dan qwen3.5-omni-flash-2026-03-15.

  • agent_max: Mendukung pengikisan web berdasarkan strategi agent. Untuk informasi selengkapnya, lihat Pengikisan web.

    Strategi ini hanya berlaku untuk mode pemikiran qwen3-max dan qwen3-max-2026-01-23.

enable_search_extension boolean(Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan pencarian vertikal. Parameter ini hanya berlaku saat enable_search diatur ke true.

Nilai yang valid:

  • true: Aktifkan.
  • false: Nonaktifkan.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"search_options": xxx}.

clear_thinkingboolean(Opsional) Nilai default: false

Mengontrol apakah reasoning_content (proses pemikiran) dari putaran sebelumnya dalam percakapan multi-putaran digunakan sebagai input konteks untuk model. Parameter ini hanya didukung oleh model seri GLM glm-5.2, glm-5.1, glm-5, dan glm-4.7.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan SDK Python, letakkan di objek extra_body. Konfigurasi: extra_body={"skill": [...]}.

  • true: Mengabaikan reasoning_content dari putaran sebelumnya dan hanya menggunakan teks yang terlihat, pemanggilan alat, hasil, dan konten non-inferensi lainnya sebagai input konteks. Hal ini dapat mengurangi panjang konteks dan biaya.
  • false (Default): Mempertahankan reasoning_content dari putaran sebelumnya dan memberikannya ke model bersama konteks. Jika Anda ingin mengaktifkan Preserved Thinking, Anda harus meneruskan reasoning_content historis secara lengkap, tidak diubah, dan dalam urutan aslinya dalam messages. Kehilangan, pemangkasan, penulisan ulang, atau pengubahan urutan menurunkan performa atau menyebabkannya gagal.

Input teks

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
    # Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

completion = client.chat.completions.create(
    # Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    model="qwen3.8-max",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
    # extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())

Java

// Kode ini menggunakan SDK OpenAI versi 2.6.0
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;

public class Main {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi berdasarkan wilayah.
                .baseUrl("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1")
                .build();

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

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

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: apiKey: "sk-xxx",
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        // Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi berdasarkan wilayah.
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.chat.completions.create({
        model: "qwen3.8-max",  // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
        messages: [
            { role: "system", content: "You are a helpful assistant." },
            { role: "user", content: "Who are you?" }
        ],
    });
    console.log(JSON.stringify(completion))
}

main();

Go

package main

import (
	"context"
	"os"

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

func main() {
	client := openai.NewClient(
	        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
		option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY")
		// Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi berdasarkan wilayah.
		option.WithBaseURL("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/"),
	)
	chatCompletion, err := client.Chat.Completions.New(
		context.TODO(), openai.ChatCompletionNewParams{
			Messages: openai.F(
				[]openai.ChatCompletionMessageParamUnion{
					openai.UserMessage("Who are you?"),
				},
			),
			Model: openai.F("qwen-plus"),
		},
	)

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

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

C# (HTTP)

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

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

    static async Task Main(string[] args)
    {
        // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: string? apiKey = "sk-xxx";
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");

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

        // Setel URL permintaan dan konten
        // Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi berdasarkan wilayah.
        string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions";
        // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
        string jsonContent = @"{
            ""model"": ""qwen-plus"",
            ""messages"": [
                {
                    ""role"": ""system"",
                    ""content"": ""You are a helpful assistant.""
                },
                {
                    ""role"": ""user"",
                    ""content"": ""Who are you?""
                }
            ]
        }";

        // Kirim permintaan dan dapatkan respons
        string result = await SendPostRequestAsync(url, jsonContent, apiKey);

        // Cetak hasilnya
        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"))
        {
            // Setel header permintaan
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

            // Kirim permintaan dan dapatkan respons
            HttpResponseMessage response = await httpClient.PostAsync(url, content);

            // Proses respons
            if (response.IsSuccessStatusCode)
            {
                return await response.Content.ReadAsStringAsync();
            }
            else
            {
                return $"Request failed: {response.StatusCode}";
            }
        }
    }
}

PHP (HTTP)

<?php
// Setel URL permintaan
// Ganti {WorkspaceId} dengan ID ruang kerja Anda yang sebenarnya. URL bervariasi berdasarkan wilayah.
$url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions';
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: $apiKey = "sk-xxx";
// Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
$apiKey = getenv('DASHSCOPE_API_KEY');
// Setel header permintaan
$headers = [
    'Authorization: Bearer '.$apiKey,
    'Content-Type: application/json'
];
// Setel badan permintaan
$data = [
    // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    "model" => "qwen-plus",
    "messages" => [
        [
            "role" => "system",
            "content" => "You are a helpful assistant."
        ],
        [
            "role" => "user",
            "content" => "Who are you?"
        ]
    ]
];
// Inisialisasi sesi cURL
$ch = curl_init();
// Setel opsi cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Jalankan sesi cURL
$response = curl_exec($ch);
// Periksa kesalahan
if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
}
// Tutup resource cURL
curl_close($ch);
// Cetak respons
echo $response;
?>

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Anda dapat memperoleh kunci API di https://www.alibabacloud.com/help/en/model-studio/get-api-key.

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

keluaran streaming

Untuk informasi selengkapnya tentang penggunaan, lihat Keluaran streaming.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi menurut wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen3.8-max",  # Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': 'Who are you?'}],
    stream=True,
    stream_options={"include_usage": True}
    )
for chunk in completion:
    print(chunk.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const completion = await openai.chat.completions.create({
        model: "qwen3.8-max", // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
        messages: [
            {"role": "system", "content": "You are a helpful assistant."},
            {"role": "user", "content": "Who are you?"}
        ],
        stream: true,
    });
    for await (const chunk of completion) {
        console.log(JSON.stringify(chunk));
    }
}

main();

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Anda dapat memperoleh kunci API di https://www.alibabacloud.com/help/en/model-studio/get-api-key.

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

Input gambar

Untuk informasi selengkapnya tentang cara model bahasa besar menganalisis gambar, lihat Pemahaman gambar dan video.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API berbeda di setiap wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-vl-plus",  # Contoh ini menggunakan qwen-vl-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/models
    messages=[{"role": "user","content": [
            {"type": "image_url",
             "image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
            {"type": "text", "text": "What is this?"},
            ]}]
    )
print(completion.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

async function main() {
    const response = await openai.chat.completions.create({
        model: "qwen-vl-max", // Contoh ini menggunakan qwen-vl-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/models
        messages: [{role: "user",content: [
            { type: "image_url",image_url: {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
            { type: "text", text: "What is this?" },
        ]}]
    });
    console.log(JSON.stringify(response));
}

main();

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Anda dapat memperoleh kunci API di https://www.alibabacloud.com/help/en/model-studio/get-api-key.

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

Input video

Contoh berikut menunjukkan cara meneruskan daftar gambar. Untuk informasi selengkapnya tentang penggunaan, seperti meneruskan file video, lihat Pemahaman visual.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
    # Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    # Contoh ini menggunakan qwen-vl-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/models
    model="qwen-vl-max",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": [
                    "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"]
            },
            {
                "type": "text",
                "text": "Describe the specific process in this video"
            }]}]
)
print(completion.model_dump_json())

Node.js

// Pastikan Anda telah menentukan "type": "module" di package.json
import OpenAI from "openai";

const openai = new OpenAI({
    // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: apiKey: "sk-xxx",
    // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    apiKey: process.env.DASHSCOPE_API_KEY,
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    const response = await openai.chat.completions.create({
        // Contoh ini menggunakan qwen-vl-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/models
        model: "qwen-vl-max",
        messages: [{
            role: "user",
            content: [
                {
                    type: "video",
                    video: [
                        "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
                    ]
                },
                {
                    type: "text",
                    text: "Describe the specific process in this video"
                }
        ]}]
    });
    console.log(JSON.stringify(response));
}

main();

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Untuk informasi selengkapnya, lihat Dapatkan Kunci API.

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

Pemanggilan alat

Untuk kode proses Pemanggilan Fungsi lengkap, lihat Pemanggilan fungsi.

Batas pengetahuan model

Model bahasa besar menghasilkan respons berdasarkan data pelatihannya, yang memiliki batas pengetahuan. Model tidak dapat mempersepsi tanggal aktual saat ini secara mandiri. Ketika Anda menanyakan tanggal saat ini, model mengembalikan tanggal lama dari sebelum batas pelatihannya. Ini bukan kesalahan konfigurasi parameter.

Cara mendapatkan waktu saat ini yang akurat:

  1. Pemanggilan fungsi: Definisikan alat get_current_time sehingga model mendapatkan waktu nyata melalui pemanggilan fungsi. Lihat contoh pemanggilan alat berikut.
  2. Injeksi prompt sistem: Masukkan tanggal saat ini ke dalam pesan sistem. Anda harus meneruskan tanggal tersebut secara dinamis pada setiap pemanggilan.
  3. Pencarian web: enable_search mengambil informasi real-time tetapi tidak dapat langsung mendapatkan waktu saat ini.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi menurut wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

tools = [
    # Alat 1: Dapatkan waktu saat ini
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "Berguna saat Anda ingin mengetahui waktu saat ini.",
            "parameters": {}  # Karena mendapatkan waktu saat ini tidak memerlukan parameter input, parameter adalah kamus kosong
        }
    },
    # Alat 2: Dapatkan cuaca untuk kota tertentu
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Berguna saat Anda ingin menanyakan cuaca di kota tertentu.",
            "parameters": {
                "type": "object",
                "properties": {
                    # Lokasi harus disediakan untuk menanyakan cuaca, jadi parameter diatur ke lokasi
                    "location": {
                        "type": "string",
                        "description": "Kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang."
                    }
                },
                "required": ["location"]
            }
        }
    }
]
messages = [{"role": "user", "content": "What's the weather like in Hangzhou?"}]
completion = client.chat.completions.create(
    model="qwen3.8-max",  # Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    messages=messages,
    tools=tools
)

print(completion.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: apiKey: "sk-xxx",
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

const messages = [{"role": "user", "content": "What's the weather like in Hangzhou?"}];
const tools = [
// Alat 1: Dapatkan waktu saat ini
{
    "type": "function",
    "function": {
        "name": "get_current_time",
        "description": "Useful when you want to know the current time.",
        // Karena mendapatkan waktu saat ini tidak memerlukan parameter input, parameters kosong
        "parameters": {}
    }
},
// Alat 2: Dapatkan cuaca untuk kota tertentu
{
    "type": "function",
    "function": {
        "name": "get_current_weather",
        "description": "Useful when you want to query the weather of a specified city.",
        "parameters": {
            "type": "object",
            "properties": {
                // Lokasi harus disediakan untuk menanyakan cuaca, jadi parameter diatur ke location
                "location": {
                    "type": "string",
                    "description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
                }
            },
            "required": ["location"]
        }
    }
}
];

async function main() {
    const response = await openai.chat.completions.create({
        model: "qwen3.8-max", // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
        messages: messages,
        tools: tools,
    });
    console.log(JSON.stringify(response));
}

main();

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Untuk informasi selengkapnya, lihat Dapatkan Kunci API.

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

Pemanggilan asinkron

import os
import asyncio
from openai import AsyncOpenAI
import platform

client = AsyncOpenAI(
    // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
    // Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda perlu menggunakan KUNCI API untuk wilayah Tiongkok (Beijing). Dapatkan tautan: https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)

async def main():
    response = await client.chat.completions.create(
        messages=[{"role": "user", "content": "Who are you?"}],
        model="qwen3.8-max",  // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    )
    print(response.model_dump_json())

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

Objek respons Chat (keluaran non-streaming)

idstring

Pengenal unik untuk pemanggilan ini.

choicesarray

Array konten yang dihasilkan model.

Properti

finish_reasonstring

Alasan mengapa model berhenti menghasilkan.

Pertimbangkan tiga skenario berikut:

  • stop: Model berhenti menghasilkan karena memicu parameter stop dalam input atau berhenti secara alami.
  • length: Model berhenti menghasilkan karena panjang generasi terlalu panjang.
  • tool_calls: Model berhenti menghasilkan karena alat perlu dipanggil.

indexinteger

Indeks objek ini dalam array choices.

logprobsobject

Informasi probabilitas token output model.

Properti

content array

Array yang berisi setiap token dan log probabilitasnya.

Properti

token string

Teks token saat ini.

bytes array

Daftar byte UTF-8 mentah token saat ini. Ini digunakan untuk memulihkan konten output secara akurat, seperti emoji atau karakter Tionghoa.

logprob float

Log probabilitas token saat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.

top_logprobs array

Token kandidat paling mungkin pada posisi token saat ini. Jumlah token konsisten dengan parameter permintaan top_logprobs. Setiap elemen berisi:

Properti

token string

Teks token kandidat.

bytes array

Daftar byte UTF-8 mentah token saat ini. Ini digunakan untuk memulihkan konten output secara akurat, seperti emoji atau karakter Tionghoa.

logprob float

Log probabilitas token kandidat ini. Nilai null menunjukkan probabilitas yang sangat rendah.

messageobject

Pesan yang dikeluarkan oleh model.

Properti

content string

Konten balasan model.

reasoning_content string

Konten rantai-pikiran model.

refusal string

Parameter ini saat ini tetap null.

role string

Peran pesan. Nilainya tetap assistant.

audio object

Parameter ini saat ini tetap null.

function_call (akan ditinggalkan)object

Nilai ini tetap null. Untuk informasi selengkapnya, lihat parameter tool_calls.

tool_calls array

Informasi tentang alat dan parameter inputnya yang diputuskan model untuk dipanggil.

Properti

id string

Pengenal unik untuk pemanggilan alat ini.

type string

Jenis alat. Saat ini, hanya function yang didukung.

function object

Rincian alat

Properti

name string

Nama alat.

arguments string

Informasi parameter input, sebagai string berformat JSON.

Karena respons model bahasa besar bersifat acak, informasi parameter output mungkin tidak sesuai dengan signature fungsi. Anda harus memvalidasi parameter sebelum memanggil fungsi.

index integer

Indeks pemanggilan alat ini dalam array tool_calls.

createdinteger

Timestamp Unix, dalam detik, saat permintaan dibuat.

modelstring

Model yang digunakan untuk permintaan ini.

object string

Nilainya selalu chat.completion.

service_tier string

Parameter ini saat ini tetap null.

system_fingerprintstring

Parameter ini saat ini tetap null.

usage object

Informasi konsumsi token untuk permintaan ini.

Properti

completion_tokens integer

Jumlah token dalam output model.

prompt_tokens integer

Jumlah token input. Untuk informasi selengkapnya, lihat Catatan tambahan.

total_tokens integer

Jumlah total token yang dikonsumsi. Ini adalah jumlah dari prompt_tokens dan completion_tokens.

completion_tokens_details object (Opsional)

Klasifikasi rinci token output. Field ini hanya dikembalikan oleh beberapa model.

Properti

audio_tokens integer (Opsional)

Jumlah token audio output. Field ini hanya dikembalikan untuk model output audio.

reasoning_tokens integer (Opsional)

Jumlah token dalam proses pemikiran. Field ini hanya dikembalikan untuk model penalaran.

text_tokens integer (Opsional)

Jumlah token dalam teks output.

prompt_tokens_details object

Klasifikasi rinci token input.

Properti

audio_tokens integer

Parameter ini saat ini tetap null.

cached_tokens integer

Jumlah token yang mengenai cache. Untuk informasi selengkapnya tentang Context Cache, lihat Context cache.

text_tokens integer

Jumlah token teks input.

image_tokens integer

Jumlah token gambar input.

video_tokens integer

Jumlah token untuk file video atau daftar gambar input.

cache_creation object

Informasi pembuatan cache eksplisit.

Properti

ephemeral_5m_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_creation_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_type string

Saat Anda menggunakan cache eksplisit, nilai parameter adalah ephemeral. Jika tidak, parameter ini tidak ada.

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

Objek potongan respons Chat (keluaran streaming)

idstring

Pengenal unik untuk pemanggilan ini. Setiap objek potongan memiliki ID yang sama.

choicesarray

Array konten yang dihasilkan model, yang dapat berisi satu atau lebih objek. Jika parameter include_usage diatur ke true, choices adalah array kosong dalam potongan terakhir.

Properti

delta object

Objek inkremental permintaan.

Properti

content string

Konten pesan inkremental.

reasoning_content string

Konten rantai-pikiran inkremental.

function_call object

Nilai ini default ke null. Untuk informasi selengkapnya, lihat parameter tool_calls.

audioobject

Balasan yang dihasilkan saat Anda menggunakan model Qwen-Omni.

Properti

data string

Data audio Base64-encoded inkremental.

expires_at integer

Timestamp saat permintaan dibuat.

refusal object

Parameter ini saat ini tetap null.

role string

Peran objek pesan inkremental. Memiliki nilai hanya pada potongan pertama.

tool_calls array

Informasi tentang alat dan parameter inputnya yang diputuskan model untuk dipanggil.

Properti

index integer

Indeks pemanggilan alat ini dalam array tool_calls.

id string

Pengenal unik untuk pemanggilan alat ini.

function object

Informasi tentang alat yang dipanggil.

Properti

arguments string

Parameter input inkremental. arguments dari semua potongan digabungkan untuk membentuk set parameter input lengkap.

Karena respons model bahasa besar bersifat acak, informasi parameter output mungkin tidak sesuai dengan signature fungsi. Anda harus memvalidasi parameter sebelum memanggil fungsi.

name string

Nama alat. Memiliki nilai hanya pada potongan pertama.

type string

Jenis alat. Saat ini, hanya function yang didukung.

finish_reason string

Alasan mengapa model berhenti menghasilkan. Nilainya dapat berupa salah satu dari berikut:

  • stop: Model berhenti menghasilkan karena memicu parameter stop dalam input atau berhenti secara alami.
  • Nilainya adalah null hingga generasi selesai.
  • length: Model berhenti menghasilkan karena panjang generasi terlalu panjang.
  • tool_calls: Model berhenti menghasilkan karena alat perlu dipanggil.

index integer

Indeks respons saat ini dalam array choices. Saat parameter input n lebih besar dari 1, Anda dapat menggunakan parameter ini untuk menggabungkan konten lengkap yang sesuai dengan respons berbeda.

logprobsobject

Informasi probabilitas objek saat ini.

Properti

content array

Array token dengan informasi log probabilitas.

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah token saat ini. Ini membantu saat Anda memproses emoji dan karakter Tionghoa.

logprob float

Log probabilitas token saat ini. Nilai null menunjukkan probabilitas yang sangat rendah.

top_logprobs array

Token paling mungkin pada posisi token saat ini dan log probabilitasnya. Jumlah elemen konsisten dengan parameter input top_logprobs.

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah token saat ini. Ini membantu saat Anda memproses emoji dan karakter Tionghoa.

logprob float

Log probabilitas token saat ini. Nilai null menunjukkan probabilitas yang sangat rendah.

createdinteger

Timestamp saat permintaan ini dibuat. Setiap potongan memiliki timestamp yang sama.

modelstring

Model yang digunakan untuk permintaan ini.

object string

Nilainya selalu chat.completion.chunk.

service_tier string

Parameter ini saat ini tetap null.

system_fingerprintstring

Parameter ini saat ini tetap null.

usage object

Token yang dikonsumsi oleh permintaan ini. Ditampilkan hanya dalam potongan terakhir saat include_usage diatur ke true.

Properti

completion_tokens integer

Jumlah token dalam output model.

prompt_tokens integer

Jumlah token input.

total_tokens integer

Jumlah total token, yang merupakan jumlah dari prompt_tokens dan completion_tokens.

completion_tokens_details object (Opsional)

Informasi rinci tentang token output. Field ini hanya dikembalikan oleh beberapa model.

Properti

audio_tokensinteger (Opsional)

Jumlah token audio output. Field ini hanya dikembalikan untuk model output audio.

reasoning_tokens integer (Opsional)

Jumlah token dalam proses pemikiran. Field ini hanya dikembalikan untuk model penalaran.

text_tokensinteger (Opsional)

Jumlah token teks output.

prompt_tokens_details object

Klasifikasi rinci token input.

Properti

audio_tokens integer

Jumlah token audio input.

Jumlah token audio dalam file video dikembalikan dalam parameter ini.

text_tokens integer

Jumlah token teks input.

video_tokens integer

Jumlah token untuk video input, yang dapat berupa daftar gambar atau file video.

image_tokens integer

Jumlah token gambar input.

cached_tokens integer

Jumlah token yang mengenai cache. Untuk informasi selengkapnya tentang Context Cache, lihat Context cache.

cache_creation object

Informasi pembuatan cache eksplisit.

Properti

ephemeral_5m_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_creation_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_type string

Jenis cache. Nilainya tetap ephemeral.

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

Kode error

Jika pemanggilan model gagal dan pesan error dikembalikan, lihat Kode error untuk menyelesaikan masalah.