Model pemikiran mendalam melakukan penalaran sebelum memberikan respons, sehingga meningkatkan akurasi pada tugas-tugas kompleks seperti penalaran logis dan matematika.
Contoh-contoh ini menggunakan API Chat Completion yang kompatibel dengan OpenAI dan API DashScope. Untuk respons API, lihat Pemikiran mendalam.
Penggunaan
Model Studio mendukung pemikiran mendalam dalam dua mode:
-
Mode pemikiran hibrida: Gunakan parameter
enable_thinkinguntuk beralih antara mode berpikir dan tidak berpikir secara per permintaan:- Atur ke
true— model melakukan penalaran sebelum merespons. - Atur ke
false— model merespons langsung, melewati langkah penalaran.
Kompatibel dengan OpenAI
# Impor dependensi dan buat klien... completion = client.chat.completions.create( model="qwen3.8-max", # Pilih model messages=[{"role": "user", "content": "Siapa kamu"}], # Karena enable_thinking bukan parameter standar OpenAI, lewatkan dalam extra_body. extra_body={"enable_thinking":True}, # Aktifkan keluaran streaming. stream=True, # Konfigurasikan aliran agar menyertakan informasi konsumsi token dalam paket data terakhir. stream_options={ "include_usage": True } )DashScope
API DashScope untuk seri Qwen3.5 menggunakan antarmuka multimodal. Contoh berikut mengembalikan
url error. Untuk penggunaan yang benar, lihat Aktifkan atau nonaktifkan mode berpikir.# Impor dependensi... response = MultiModalConversation.call( # Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda, contoh: api_key = "sk-xxx", api_key=os.getenv("DASHSCOPE_API_KEY"), # Anda dapat menggunakan model pemikiran mendalam lainnya sesuai kebutuhan. model="qwen3.8-max", messages=messages, enable_thinking=True, stream=True, incremental_output=True ) - Atur ke
-
Mode hanya berpikir: Model selalu melakukan penalaran sebelum merespons — perilaku ini tidak dapat dinonaktifkan. Format permintaan sama dengan mode pemikiran hibrida; tidak diperlukan parameter
enable_thinking.
API mengembalikan proses penalaran dalam bidang reasoning_content dan jawaban dalam bidang content. Karena penalaran menambah latensi, semua contoh menggunakan streaming secara default (disarankan agar Anda dapat melihat proses penalaran secara real time). Model pemikiran komersial juga mendukung keluaran non-streaming (sinkron); lihat FAQ di bawah untuk penggunaan dan pertimbangannya. Beberapa model (seperti qwen3-235b-a22b dan qwen3-32b sumber terbuka) hanya mendukung streaming, dan panggilan non-streaming akan mengembalikan error.
Model yang didukung
Qwen3.8
Seri Qwen3.8 Max (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.8-max
Seri Qwen3.8 Flash (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.8-flash
Seri sumber terbuka Qwen3.8 (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.8-2.4t-a95b
Qwen3.7
Seri Qwen3.7 Max (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.7-max, qwen3.7-max-us, qwen3.7-max-2026-05-20, qwen3.7-max-2026-06-08
Seri Qwen3.7 Max (hanya mode berpikir): qwen3.7-max-preview, qwen3.7-max-2026-05-17
Seri Qwen3.7 Plus (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.7-plus, qwen3.7-plus-us, qwen3.7-plus-2026-05-26
Seri Qwen3.7 Plus (mode berpikir hibrida, berpikir diaktifkan secara default): qwen3.7-flash, qwen3.7-flash-2026-07-15
Qwen3.6
Seri Qwen3.6 Max (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.6-max-preview
Seri Qwen3.6 Plus (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.6-plus, qwen3.6-plus-2026-04-02
Seri Qwen3.6 Flash (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.6-flash, qwen3.6-flash-2026-04-16
Qwen3.6 sumber terbuka: qwen3.6-35b-a3b
Qwen3.5
-
Komersial
- Seri Qwen3.5 Plus (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.5-plus, qwen3.5-plus-2026-02-15
- Seri Qwen3.5 Flash (mode pemikiran hibrida, pemikiran diaktifkan secara default): qwen3.5-flash, qwen3.5-flash-2026-02-23
-
Sumber terbuka
- Mode pemikiran hibrida, pemikiran diaktifkan secara default: qwen3.5-397b-a17b, qwen3.5-122b-a10b, qwen3.5-27b, qwen3.5-35b-a3b
Qwen3
-
Komersial
- Seri Qwen Max (mode pemikiran hibrida, pemikiran dinonaktifkan secara default): qwen3-max, qwen3-max-2026-01-23, qwen3-max-preview
- Seri Qwen Plus (mode pemikiran hibrida, pemikiran dinonaktifkan secara default): qwen-plus, qwen-plus-latest, qwen-plus-2025-04-28 dan versi snapshot berikutnya
- Seri Qwen Flash (mode pemikiran hibrida, pemikiran dinonaktifkan secara default): qwen-flash, qwen-flash-2025-07-28 dan versi snapshot berikutnya
- Seri Qwen Turbo (mode pemikiran hibrida, pemikiran dinonaktifkan secara default): qwen-turbo dan versi snapshot berikutnya
-
Sumber terbuka
- Mode pemikiran hibrida, pemikiran diaktifkan secara default: qwen3-235b-a22b, qwen3-32b, qwen3-30b-a3b, qwen3-14b, qwen3-8b
- Hanya mode berpikir: qwen3-next-80b-a3b-thinking, qwen3-235b-a22b-thinking-2507, qwen3-30b-a3b-thinking-2507
QwQ (berbasis Qwen2.5)
Hanya mode berpikir: qwq-plus
DeepSeek
-
Di-deploy di Alibaba Cloud Model Studio
- Mode pemikiran hibrida, pemikiran dinonaktifkan secara default: deepseek-v4-pro, deepseek-v4-flash, deepseek-v3.2, deepseek-v3.2-exp, deepseek-v3.1
- Hanya mode berpikir: deepseek-r1, deepseek-r1-0528, model distilled deepseek-r1
-
Di-deploy di SiliconFlow
- Mode pemikiran hibrida, pemikiran dinonaktifkan secara default: siliconflow/deepseek-v3.2, siliconflow/deepseek-v3.1-terminus
- Hanya mode berpikir: siliconflow/deepseek-r1-0528
-
Di-deploy di Kuaishou Vanchin
- Mode pemikiran hibrida, pemikiran dinonaktifkan secara default: vanchin/deepseek-v3.2-think, vanchin/deepseek-v3.1-terminus
- Hanya mode berpikir: vanchin/deepseek-r1
GLM
Mode pemikiran hibrida, pemikiran diaktifkan secara default: glm-5.2, glm-5.2-us, glm-5.2-fast-preview, glm-5.1, glm-5, glm-4.7, glm-4.6, glm-4.5, glm-4.5-air
Kimi
-
Di-deploy di Alibaba Cloud Model Studio
- Mode pemikiran hibrida, pemikiran dinonaktifkan secara default: kimi-k2.6, kimi-k2.5
- Hanya mode berpikir: kimi-k2.7-code, kimi-k2-thinking
-
Di-deploy di Moonshot AI
- Mode pemikiran hibrida, pemikiran diaktifkan secara default: kimi/kimi-k2.6, kimi/kimi-k2.5
- Hanya mode berpikir: kimi/kimi-k2.7-code-highspeed, kimi/kimi-k2.7-code
MiniMax
-
Di-deploy di Alibaba Cloud Model Studio
- Hanya mode berpikir: MiniMax-M2.5, MiniMax-M2.1
Nama model, ukuran jendela konteks, harga, dan versi snapshot tersedia di Daftar Model. Batas laju dijelaskan di Pembatasan Laju.
Mulai
Dapatkan Kunci API dan tetapkan sebagai variabel lingkungan. Jika Anda menggunakan SDK, instal SDK OpenAI atau DashScope (SDK DashScope Java versi 2.19.4 atau lebih baru diperlukan).
Contoh berikut memanggil qwen3.8-max dalam mode berpikir dengan keluaran streaming.
Kompatibel dengan OpenAI
Python
Kode contoh
from openai import OpenAI
import os
# Inisialisasi klien OpenAI.
client = OpenAI(
# Kunci API bervariasi berdasarkan wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# Jika variabel lingkungan tidak dikonfigurasi, berikan Kunci API Model Studio Anda secara langsung: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Konfigurasi bervariasi berdasarkan wilayah. Ubah base_url sesuai wilayah Anda.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "Siapa kamu"}]
completion = client.chat.completions.create(
model="qwen3.8-max", # Anda dapat menggantinya dengan model pemikiran mendalam lainnya sesuai kebutuhan.
messages=messages,
extra_body={"enable_thinking": True},
stream=True,
stream_options={
"include_usage": True
},
)
reasoning_content = "" # Proses berpikir lengkap
answer_content = "" # Respons lengkap
is_answering = False # Melacak apakah fase respons telah dimulai
print("\n" + "=" * 20 + "Proses berpikir" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\nUsage:")
print(chunk.usage)
continue
delta = chunk.choices[0].delta
# Kumpulkan hanya konten penalaran.
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
# Saat konten diterima, mulai merespons.
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Respons lengkap" + "=" * 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content
Respons
====================Proses berpikir====================
Kueri pengguna "Siapa kamu?" memerlukan respons yang akurat dan ramah. Jawaban harus terlebih dahulu menetapkan identitas saya sebagai Qwen, yang dikembangkan oleh Tongyi Lab di Alibaba Cloud. Kemudian akan menguraikan kemampuan utama seperti menjawab pertanyaan, generasi teks, dan penalaran logis. Bahasa harus sederhana dan nada bersahabat. Untuk mendorong interaksi, saya akan mengundang pengguna untuk mengajukan lebih banyak pertanyaan. Terakhir, saya akan memeriksa bahwa semua detail penting ada, termasuk nama saya (Qwen) dan pengembang, untuk memberikan jawaban yang komprehensif.
====================Respons lengkap====================
Halo! Saya Qwen, model bahasa besar yang dikembangkan oleh Tongyi Lab di Alibaba Group. Saya dapat menjawab pertanyaan, menghasilkan teks, melakukan penalaran logis, menulis kode, dan lainnya, untuk memberikan informasi dan layanan berkualitas tinggi kepada Anda. Anda dapat memanggil saya Qwen. Bagaimana saya bisa membantu Anda?
Node.js
Kode contoh
import OpenAI from "openai";
import process from 'process';
// Inisialisasi klien OpenAI.
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY, // Baca dari variabel lingkungan.
// Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah AS (Virginia), ubah URL dasar menjadi https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1. URL dasar bervariasi berdasarkan wilayah. Perbarui sesuai wilayah deployment Anda.
baseURL: 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1'
});
let reasoningContent = '';
let answerContent = '';
let isAnswering = false;
async function main() {
try {
const messages = [{ role: 'user', content: 'Siapa kamu' }];
const stream = await openai.chat.completions.create({
model: 'qwen-plus',
messages,
stream: true,
enable_thinking: true
});
console.log('\n' + '='.repeat(20) + 'Proses berpikir' + '='.repeat(20) + '\n');
for await (const chunk of stream) {
if (!chunk.choices?.length) {
console.log('\nUsage:');
console.log(chunk.usage);
continue;
}
const delta = chunk.choices[0].delta;
// Kumpulkan hanya konten penalaran.
if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
if (!isAnswering) {
process.stdout.write(delta.reasoning_content);
}
reasoningContent += delta.reasoning_content;
}
// Saat konten diterima, mulai merespons.
if (delta.content !== undefined && delta.content) {
if (!isAnswering) {
console.log('\n' + '='.repeat(20) + 'Respons lengkap' + '='.repeat(20) + '\n');
isAnswering = true;
}
process.stdout.write(delta.content);
answerContent += delta.content;
}
}
} catch (error) {
console.error('Error:', error);
}
}
main();
Respons
====================Proses berpikir====================
Kueri langsung pengguna "Siapa kamu?" memerlukan respons yang ringkas dan jelas. Jawaban akan menyatakan identitas saya sebagai Qwen, model bahasa besar dari Alibaba Cloud. Akan disebutkan fungsi utama seperti menjawab pertanyaan, generasi teks, dan penalaran logis, serta sorot dukungan multibahasa (Cina, Inggris). Untuk tetap ringkas, kasus penggunaan akan disebutkan secara singkat, jika sama sekali. Nada akan ramah, dan respons akan diakhiri dengan undangan untuk pertanyaan lebih lanjut. Terakhir, saya akan memeriksa untuk memastikan akurasi tanpa menyertakan detail yang tidak perlu seperti nomor versi.
====================Respons lengkap====================
Saya Qwen, model bahasa besar yang dikembangkan oleh Tongyi Lab di Alibaba Group. Saya dapat melakukan berbagai tugas, termasuk menjawab pertanyaan, menghasilkan teks, penalaran logis, dan pengkodean, serta mendukung berbagai bahasa, termasuk Cina dan Inggris. Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk bertanya kapan saja!
HTTP
Kode contoh
curl
# ======= Penting =======
# URL berikut untuk wilayah Singapura. Untuk wilayah Tiongkok (Beijing), ganti URL dengan: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions
# Untuk wilayah AS (Virginia), ganti dengan: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ===
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": "user",
"content": "Siapa kamu"
}
],
"stream": true,
"stream_options": {
"include_usage": true
},
"enable_thinking": true
}'
Respons
data: {"choices":[{"delta":{"content":null,"role":"assistant","reasoning_content":""},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1745485391,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-e2edaf2c-8aaf-9e54-90e2-b21dd5045503"}
.....
data: {"choices":[{"finish_reason":"stop","delta":{"content":"","reasoning_content":null},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1745485391,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-e2edaf2c-8aaf-9e54-90e2-b21dd5045503"}
data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":10,"completion_tokens":360,"total_tokens":370},"created":1745485391,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-e2edaf2c-8aaf-9e54-90e2-b21dd5045503"}
data: [DONE]
DashScope
Karena API DashScope untuk seri Qwen3.5 menggunakan antarmuka multimodal, contoh berikut mengembalikan
url error. Untuk penggunaan yang benar, lihat Aktifkan atau nonaktifkan mode berpikir.
Python
Kode contoh
import os
from dashscope import MultiModalConversation
import dashscope
# Konfigurasi bervariasi berdasarkan wilayah. Ubah nilai ini sesuai wilayah Anda.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1"
# Inisialisasi parameter permintaan
messages = [{"role": "user", "content": [{"text": "Siapa kamu?"}]}]
completion = MultiModalConversation.call(
# Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=messages,
enable_thinking=True,
stream=True,
incremental_output=True,
)
# Proses berpikir lengkap
reasoning_content = ""
# Respons lengkap
answer_content = ""
# Melacak apakah fase respons telah dimulai.
is_answering = False
print("=" * 20 + "Proses berpikir" + "=" * 20)
for chunk in completion:
# Jika konten berpikir dan respons kosong, abaikan chunk tersebut.
content = chunk.output.choices[0].message.content
reasoning = chunk.output.choices[0].message.reasoning_content
if not content and reasoning == "":
pass
else:
# Jika chunk saat ini merupakan bagian dari proses berpikir.
if reasoning != "" and not content:
print(reasoning, end="", flush=True)
reasoning_content += reasoning
# Jika chunk saat ini merupakan bagian dari respons.
elif content:
if not is_answering:
print("\n" + "=" * 20 + "Respons lengkap" + "=" * 20)
is_answering = True
print(content[0]["text"], end="", flush=True)
answer_content += content[0]["text"]
# Untuk mencetak proses berpikir lengkap dan respons lengkap, hapus komentar kode berikut.
# print("=" * 20 + "Proses berpikir lengkap" + "=" * 20 + "\n")
# print(f"{reasoning_content}")
# print("=" * 20 + "Respons lengkap" + "=" * 20 + "\n")
# print(f"{answer_content}")
Respons
====================Proses berpikir====================
Untuk menjawab kueri "Siapa kamu?", respons harus menyatakan identitas saya sebagai Qwen, model bahasa besar dari Alibaba Cloud. Kemudian akan menjelaskan tujuan saya sebagai asisten yang membantu dengan menguraikan fungsi utama seperti menjawab pertanyaan, generasi teks, dan penalaran logis. Respons akan mempertahankan nada percakapan, menghindari jargon. Untuk mendorong keterlibatan lebih lanjut, akan diakhiri dengan pertanyaan terbuka. Terakhir, saya akan memeriksa kejelasan, kepadatan, dan keseimbangan antara nada ramah dan profesional.
====================Respons lengkap====================
Halo! Saya Qwen, model bahasa skala besar yang dikembangkan oleh Alibaba Cloud. Saya dapat menjawab pertanyaan, menghasilkan teks, melakukan penalaran logis, menulis kode, dan lainnya, untuk memberikan bantuan dan dukungan. Apakah Anda memiliki pertanyaan tentang kehidupan sehari-hari atau topik profesional, saya akan melakukan yang terbaik untuk membantu. Adakah yang bisa saya bantu?
Java
Kode contoh
// Versi SDK DashScope harus 2.19.4 atau lebih baru.
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import io.reactivex.Flowable;
import java.lang.System;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// URL dasar berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Virginia, Anda harus mengubah URL dasar menjadi https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1.
// Konfigurasi bervariasi berdasarkan wilayah. Ubah konfigurasi sesuai wilayah aktual Anda.
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static StringBuilder reasoningContent = new StringBuilder();
private static StringBuilder finalContent = new StringBuilder();
private static boolean isFirstPrint = true;
private static void handleMultiModalConversationResult(MultiModalConversationResult message) {
String reasoning = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
List<Map<String, Object>> contentList = (List<Map<String, Object>>) message.getOutput().getChoices().get(0).getMessage().getContent();
String content = (contentList != null && !contentList.isEmpty()) ? (String) contentList.get(0).get("text") : "";
if (!reasoning.isEmpty()) {
reasoningContent.append(reasoning);
if (isFirstPrint) {
System.out.println("====================Proses Berpikir====================");
isFirstPrint = false;
}
System.out.print(reasoning);
}
if (!content.isEmpty()) {
finalContent.append(content);
if (!isFirstPrint) {
System.out.println("\n====================Respons Lengkap====================");
isFirstPrint = true;
}
System.out.print(content);
}
}
private static MultiModalConversationParam buildMultiModalConversationParam(MultiModalMessage userMsg) {
return MultiModalConversationParam.builder()
// Kunci API bervariasi berdasarkan wilayah. Untuk mendapatkan Kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Alibaba Cloud Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen3.8-max")
.enableThinking(true)
.incrementalOutput(true)
.messages(Arrays.asList(userMsg))
.build();
}
public static void streamCallWithMessage(MultiModalConversation conv, MultiModalMessage userMsg)
throws NoApiKeyException, ApiException, InputRequiredException, UploadFileException {
MultiModalConversationParam param = buildMultiModalConversationParam(userMsg);
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(message -> handleMultiModalConversationResult(message));
}
public static void main(String[] args) {
try {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage userMsg = MultiModalMessage.builder().role(Role.USER.getValue()).content(Arrays.asList(Collections.singletonMap("text", "Siapa kamu?"))).build();
streamCallWithMessage(conv, userMsg);
// Cetak hasil akhir.
// if (reasoningContent.length() > 0) {
// System.out.println("\n====================Respons Lengkap====================");
// System.out.println(finalContent.toString());
// }
} catch (ApiException | NoApiKeyException | InputRequiredException | UploadFileException e) {
logger.error("Terjadi pengecualian: {}", e.getMessage());
}
System.exit(0);
}
}
Respons
====================Proses berpikir====================
Respons terhadap "Siapa kamu?" harus didasarkan pada identitas yang telah ditentukan sebagai Qwen, model bahasa besar dari Alibaba Cloud. Jawaban akan bersifat percakapan, ringkas, dan mudah dipahami. Pertama akan menyatakan identitas saya, kemudian menjelaskan fungsi saya, termasuk pembuatan teks, penalaran logis, pengkodean, dan dukungan multibahasa. Nada akan ramah, dan respons akan diakhiri dengan undangan bagi pengguna untuk meminta bantuan, untuk mendorong interaksi lebih lanjut.
====================Respons lengkap====================
Halo! Saya Qwen, model bahasa besar dari Alibaba Group. Saya dapat menjawab pertanyaan; membuat teks seperti cerita, dokumen resmi, email, dan skrip; melakukan penalaran logis; menulis kode; mengungkapkan pendapat; dan bahkan bermain game. Saya mahir dalam berbagai bahasa, termasuk namun tidak terbatas pada Cina, Inggris, Jerman, Prancis, dan Spanyol. Adakah yang bisa saya bantu?
HTTP
Kode contoh
curl
# ======= Penting =======
# Kunci API bervariasi berdasarkan wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# Berikut adalah URL untuk wilayah Singapura. Untuk wilayah Tiongkok (Beijing), ganti URL dengan: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# Untuk wilayah AS (Virginia), ganti URL dengan: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# === Hapus komentar ini sebelum eksekusi ===
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen3.8-max",
"input":{
"messages":[
{
"role": "user",
"content": [{"text": "Siapa kamu?"}]
}
]
},
"parameters":{
"enable_thinking": true,
"incremental_output": true,
"result_format": "message"
}
}'
Respons
id:1
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"Hmm","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":14,"input_tokens":11,"output_tokens":3},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:2
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":",","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":15,"input_tokens":11,"output_tokens":4},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:3
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"user","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":16,"input_tokens":11,"output_tokens":5},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:4
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"asks","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":17,"input_tokens":11,"output_tokens":6},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:5
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"“","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":18,"input_tokens":11,"output_tokens":7},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
......
id:358
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"help","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":373,"input_tokens":11,"output_tokens":362},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:359
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":374,"input_tokens":11,"output_tokens":363},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:360
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"Please feel free","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":375,"input_tokens":11,"output_tokens":364},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:361
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"to","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":376,"input_tokens":11,"output_tokens":365},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:362
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"let me know","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":377,"input_tokens":11,"output_tokens":366},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:363
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"!","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":378,"input_tokens":11,"output_tokens":367},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:364
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"","role":"assistant"},"finish_reason":"stop"}]},"usage":{"total_tokens":378,"input_tokens":11,"output_tokens":367},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
Kemampuan inti
Beralih antara mode berpikir dan tidak berpikir
Mode berpikir meningkatkan kualitas respons tetapi menambah latensi dan biaya. Pada model pemikiran hibrida, aktifkan/nonaktifkan mode ini per permintaan berdasarkan kompleksitas kueri:
- Atur
enable_thinkingkefalseuntuk kueri sederhana — percakapan santai, tanya jawab langsung. - Atur
enable_thinkingketrueuntuk penalaran kompleks — masalah logika, generasi kode, atau matematika.
Kompatibel dengan OpenAI
Pentingenable_thinking bukan parameter standar OpenAI. Di SDK Python OpenAI, lewatkan melalui extra_body. Di SDK Node.js, lewatkan sebagai parameter tingkat atas.
Python
Kode contoh
from openai import OpenAI
import os
# Inisialisasi klien OpenAI.
client = OpenAI(
# Jika variabel lingkungan tidak dikonfigurasi, ganti nilai dengan Kunci API Model Studio Anda: api_key="sk-xxx"
# Kunci API berbeda berdasarkan wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key=os.getenv("DASHSCOPE_API_KEY"),
# URL berikut untuk wilayah Singapura. Saat memanggil, ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "Siapa kamu?"}]
completion = client.chat.completions.create(
model="qwen3.8-max",
messages=messages,
# Atur enable_thinking di extra_body untuk mengaktifkan proses penalaran.
extra_body={"enable_thinking": True},
stream=True,
stream_options={
"include_usage": True
},
)
reasoning_content = "" # Proses penalaran lengkap
answer_content = "" # Respons lengkap
is_answering = False # Menunjukkan apakah fase respons telah dimulai
print("\n" + "=" * 20 + "Proses penalaran" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\n" + "=" * 20 + "Penggunaan token" + "=" * 20 + "\n")
print(chunk.usage)
continue
delta = chunk.choices[0].delta
# Kumpulkan hanya konten penalaran.
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
# Saat konten diterima, mulai respons.
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Respons lengkap" + "=" * 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content
Respons
====================Proses penalaran====================
Pengguna bertanya "Siapa kamu?". Saya perlu menentukan apa yang ingin mereka ketahui. Mereka mungkin berinteraksi dengan saya untuk pertama kalinya atau ingin mengonfirmasi identitas saya. Saya harus memperkenalkan diri sebagai Qwen, yang dikembangkan oleh Tongyi Lab. Kemudian, saya harus menjelaskan kemampuan saya, seperti menjawab pertanyaan, membuat teks, dan pengkodean, sehingga pengguna memahami bagaimana saya dapat membantu mereka. Saya juga harus menyebutkan dukungan multibahasa saya sehingga pengguna internasional tahu mereka dapat berkomunikasi dalam berbagai bahasa. Terakhir, saya harus mempertahankan nada ramah dan mengundang mereka untuk mengajukan pertanyaan untuk mendorong interaksi lebih lanjut. Penjelasan harus jelas dan sederhana, menghindari jargon teknis. Pengguna kemungkinan menginginkan gambaran cepat tentang kemampuan saya, jadi saya akan fokus pada fungsi dan aplikasi saya. Saya juga harus mempertimbangkan apakah ada informasi yang hilang, seperti menyebutkan Alibaba Group atau detail teknis lebih lanjut. Namun, pengguna mungkin hanya membutuhkan informasi dasar. Saya akan memastikan responsnya ramah dan profesional, dan mendorong mereka untuk melanjutkan percakapan.
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar yang dikembangkan oleh Tongyi Lab. Saya dapat membantu Anda menjawab pertanyaan, membuat teks, kode, dan mengungkapkan pendapat. Saya mendukung komunikasi dalam berbagai bahasa. Bagaimana saya bisa membantu Anda?
====================Penggunaan token====================
CompletionUsage(completion_tokens=221, prompt_tokens=10, total_tokens=231, completion_tokens_details=CompletionTokensDetails(accepted_prediction_tokens=None, audio_tokens=None, reasoning_tokens=172, rejected_prediction_tokens=None), prompt_tokens_details=PromptTokensDetails(audio_tokens=None, cached_tokens=0))
Node.js
Kode contoh
import OpenAI from "openai";
import process from 'process';
// Inisialisasi klien OpenAI.
const openai = new OpenAI({
// Jika variabel lingkungan tidak dikonfigurasi, ganti nilainya dengan kunci API Model Studio Anda: apiKey: "sk-xxx"
apiKey: process.env.DASHSCOPE_API_KEY,
// Konfigurasi bervariasi menurut wilayah. Ubah ini berdasarkan wilayah Anda yang sebenarnya.
baseURL: 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1'
});
let reasoningContent = ''; // Proses penalaran lengkap
let answerContent = ''; // Tanggapan lengkap
let isAnswering = false; // Menunjukkan jika fase tanggapan telah dimulai
async function main() {
try {
const messages = [{ role: 'user', content: 'Who are you?' }];
const stream = await openai.chat.completions.create({
model: 'qwen-plus',
messages,
// Di SDK Node.js, parameter non-standar seperti enable_thinking diteruskan sebagai properti tingkat atas dan tidak diperlukan di extra_body.
enable_thinking: true,
stream: true,
stream_options: {
include_usage: true
},
});
console.log('\n' + '='.repeat(20) + 'Reasoning process' + '='.repeat(20) + '\n');
for await (const chunk of stream) {
if (!chunk.choices?.length) {
console.log('\n' + '='.repeat(20) + 'Token usage' + '='.repeat(20) + '\n');
console.log(chunk.usage);
continue;
}
const delta = chunk.choices[0].delta;
// Kumpulkan hanya konten penalaran.
if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
if (!isAnswering) {
process.stdout.write(delta.reasoning_content);
}
reasoningContent += delta.reasoning_content;
}
// Saat konten diterima, mulai tanggapan.
if (delta.content !== undefined && delta.content) {
if (!isAnswering) {
console.log('\n' + '='.repeat(20) + 'Full response' + '='.repeat(20) + '\n');
isAnswering = true;
}
process.stdout.write(delta.content);
answerContent += delta.content;
}
}
} catch (error) {
console.error('Error:', error);
}
}
main();
Respons
====================Proses penalaran====================
Pengguna bertanya "Siapa kamu?". Saya perlu menentukan apa yang ingin mereka ketahui. Mereka mungkin berinteraksi dengan saya untuk pertama kalinya atau ingin mengonfirmasi identitas saya. Saya harus memperkenalkan diri sebagai Qwen, dan menyebutkan nama Inggris saya juga Qwen. Kemudian, saya akan menyatakan bahwa saya adalah model bahasa skala besar yang dikembangkan secara independen oleh Tongyi Lab di Alibaba Group. Selanjutnya, saya harus mencantumkan kemampuan saya, seperti menjawab pertanyaan, membuat teks, pengkodean, dan mengungkapkan pendapat, sehingga pengguna memahami tujuan saya. Saya juga harus menyebutkan dukungan multibahasa saya, yang akan berguna bagi pengguna internasional. Terakhir, saya akan mengundang mereka untuk mengajukan pertanyaan dengan sikap ramah dan terbuka. Saya harus menggunakan bahasa yang sederhana dan mudah dipahami serta menghindari jargon teknis berlebihan. Pengguna mungkin membutuhkan bantuan atau hanya ingin tahu, jadi respons harus menyambut dan mendorong interaksi lebih lanjut. Saya juga harus mempertimbangkan apakah pengguna memiliki kebutuhan yang lebih dalam, seperti menguji kemampuan saya atau mencari bantuan spesifik, tetapi respons awal akan fokus pada informasi dasar dan panduan. Saya akan menjaga nada percakapan dan menggunakan kalimat sederhana untuk komunikasi yang efektif.
====================Respons lengkap====================
Halo! Saya Qwen. Saya adalah model bahasa skala besar yang dikembangkan secara independen oleh Tongyi Lab di Alibaba Group. Saya dapat membantu Anda menjawab pertanyaan, membuat teks seperti cerita, dokumen resmi, email, dan skrip, melakukan penalaran logis, kode, dan bahkan mengungkapkan pendapat dan bermain game. Saya mendukung berbagai bahasa, termasuk namun tidak terbatas pada Cina, Inggris, Jerman, Prancis, dan Spanyol.
Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk bertanya!
====================Penggunaan token====================
{
prompt_tokens: 10,
completion_tokens: 288,
total_tokens: 298,
completion_tokens_details: { reasoning_tokens: 188 },
prompt_tokens_details: { cached_tokens: 0 }
}
HTTP
Kode contoh
curl
# ======= PENTING =======
# Kunci API berbeda berdasarkan wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# URL dasar bervariasi berdasarkan wilayah. Untuk informasi lebih lanjut, lihat https://www.alibabacloud.com/help/en/model-studio/regions/
# === Hapus komentar ini sebelum eksekusi ===
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": "user",
"content": "Siapa kamu?"
}
],
"stream": true,
"stream_options": {
"include_usage": true
},
"enable_thinking": true
}'
DashScope
API DashScope untuk seri Qwen3.5 menggunakan antarmuka multimodal. Contoh berikut mengembalikan
url error. Untuk penggunaan yang benar, lihat Aktifkan atau nonaktifkan mode berpikir.
Python
Kode contoh
import os
from dashscope import MultiModalConversation
import dashscope
# Konfigurasi bervariasi berdasarkan wilayah. Ubah ini sesuai kebutuhan.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/"
# Inisialisasi parameter permintaan.
messages = [{"role": "user", "content": [{"text": "Siapa kamu?"}]}]
completion = MultiModalConversation.call(
# Jika Anda belum mengatur variabel lingkungan, ganti ini dengan Kunci API Model Studio Anda: api_key="sk-xxx"
# Kunci API bersifat spesifik wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/regions
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=messages,
enable_thinking=True, # Aktifkan proses berpikir.
stream=True, # Aktifkan keluaran streaming.
incremental_output=True, # Aktifkan keluaran inkremental.
)
reasoning_content = "" # Proses berpikir lengkap
answer_content = "" # Respons lengkap
is_answering = False # Menunjukkan apakah model berada dalam fase menjawab.
print("\n" + "=" * 20 + "Proses berpikir" + "=" * 20 + "\n")
for chunk in completion:
message = chunk.output.choices[0].message
# Kumpulkan hanya konten berpikir.
if message.reasoning_content:
if not is_answering:
print(message.reasoning_content, end="", flush=True)
reasoning_content += message.reasoning_content
# Saat konten diterima, mulai membangun respons.
if message.content:
if not is_answering:
print("\n" + "=" * 20 + "Respons lengkap" + "=" * 20 + "\n")
is_answering = True
print(message.content[0]["text"], end="", flush=True)
answer_content += message.content[0]["text"]
print("\n" + "=" * 20 + "Penggunaan token" + "=" * 20 + "\n")
print(chunk.usage)
# Setelah loop, variabel reasoning_content dan answer_content berisi konten lengkap.
# Anda dapat melakukan pemrosesan lanjutan di sini sesuai kebutuhan.
# print(f"\n\nProses berpikir lengkap:\n{reasoning_content}")
# print(f"\nRespons lengkap:\n{answer_content}")
Respons
====================Proses berpikir====================
Oke, pengguna bertanya "Siapa kamu?". Saya perlu mencari tahu apa yang ingin mereka ketahui. Mereka mungkin baru mengenal saya atau hanya ingin mengonfirmasi identitas saya. Pertama, saya harus memperkenalkan diri sebagai Qwen dan menyatakan bahwa saya adalah model bahasa skala besar dari Tongyi Lab. Kemudian, saya harus menjelaskan kemampuan saya, seperti menjawab pertanyaan, menulis teks, dan pengkodean, sehingga pengguna tahu apa yang bisa saya lakukan. Saya juga harus menyebutkan dukungan multibahasa saya untuk pengguna internasional. Terakhir, saya akan bersikap ramah dan mengundang mereka untuk mengajukan lebih banyak pertanyaan untuk mendorong interaksi. Penting untuk menggunakan bahasa sederhana dan menghindari jargon teknis. Pengguna mungkin memiliki kebutuhan lain, seperti menguji kemampuan saya atau mendapatkan bantuan, jadi memberikan contoh spesifik seperti menulis cerita, dokumen resmi, atau email akan membantu. Saya juga perlu memastikan responsnya terstruktur dengan baik. Saya dapat mencantumkan fungsi saya, tetapi alur alami mungkin lebih baik daripada poin-poin. Saya harus juga mengklarifikasi bahwa saya adalah asisten AI tanpa kesadaran pribadi dan jawaban saya didasarkan pada data pelatihan untuk mencegah kesalahpahaman. Saya harus memeriksa apakah saya melewatkan detail penting, seperti kemampuan multimodal atau pembaruan terbaru, tetapi mungkin tidak perlu membahas terlalu detail untuk respons pertama. Singkatnya, jawaban harus komprehensif namun ringkas, ramah, dan membantu, membuat pengguna merasa dipahami dan didukung.
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar yang dikembangkan oleh Tongyi Lab dari Alibaba Group. Saya dapat membantu Anda dengan hal-hal berikut:
1. **Menjawab pertanyaan**: Saya dapat mencoba menjawab pertanyaan akademis, pengetahuan umum, atau pertanyaan spesifik domain Anda.
2. **Membuat teks**: Saya dapat membantu Anda menulis cerita, dokumen resmi, email, skrip, dan lainnya.
3. **Penalaran logis**: Saya dapat membantu Anda dengan penalaran logis dan pemecahan masalah.
4. **Pemrograman**: Saya dapat memahami dan menghasilkan kode dalam berbagai bahasa pemrograman.
5. **Dukungan multibahasa**: Saya mendukung berbagai bahasa, termasuk namun tidak terbatas pada Cina, Inggris, Jerman, Prancis, dan Spanyol.
Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk memberi tahu saya!
====================Penggunaan token====================
{"input_tokens": 11, "output_tokens": 405, "total_tokens": 416, "output_tokens_details": {"reasoning_tokens": 256}, "prompt_tokens_details": {"cached_tokens": 0}}
Java
Kode contoh
// Memerlukan SDK DashScope v2.19.4 atau lebih baru.
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.Constants;
import com.alibaba.dashscope.exception.UploadFileException;
import io.reactivex.Flowable;
import java.lang.System;
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class Main {
static {
// URL API HTTP dasar bervariasi berdasarkan wilayah. Ubah sesuai wilayah Anda.
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static StringBuilder reasoningContent = new StringBuilder();
private static StringBuilder finalContent = new StringBuilder();
private static boolean isFirstPrint = true;
private static void handleMultiModalConversationResult(MultiModalConversationResult message) {
String reasoning = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
List<Map<String, Object>> contentList = (List<Map<String, Object>>) message.getOutput().getChoices().get(0).getMessage().getContent();
String content = (contentList != null && !contentList.isEmpty()) ? (String) contentList.get(0).get("text") : "";
if (!reasoning.isEmpty()) {
reasoningContent.append(reasoning);
if (isFirstPrint) {
System.out.println("====================Proses berpikir====================");
isFirstPrint = false;
}
System.out.print(reasoning);
}
if (!content.isEmpty()) {
finalContent.append(content);
if (!isFirstPrint) {
System.out.println("\n====================Respons lengkap====================");
isFirstPrint = true;
}
System.out.print(content);
}
}
private static MultiModalConversationParam buildMultiModalConversationParam(MultiModalMessage userMsg) {
return MultiModalConversationParam.builder()
// Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen3.8-max")
.enableThinking(true)
.incrementalOutput(true)
.messages(Arrays.asList(userMsg))
.build();
}
public static void streamCallWithMessage(MultiModalConversation conv, MultiModalMessage userMsg)
throws NoApiKeyException, ApiException, InputRequiredException, UploadFileException {
MultiModalConversationParam param = buildMultiModalConversationParam(userMsg);
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(message -> handleMultiModalConversationResult(message));
}
public static void main(String[] args) {
try {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage userMsg = MultiModalMessage.builder().role(Role.USER.getValue()).content(Arrays.asList(Collections.singletonMap("text", "Siapa kamu?"))).build();
streamCallWithMessage(conv, userMsg);
// Cetak hasil akhir.
// if (reasoningContent.length() > 0) {
// System.out.println("\n====================Respons lengkap====================");
// System.out.println(finalContent.toString());
// }
} catch (ApiException | NoApiKeyException | InputRequiredException | UploadFileException e) {
logger.error("Terjadi pengecualian: {}", e.getMessage());
}
System.exit(0);
}
}
Respons
====================Proses berpikir====================
Oke, pengguna bertanya "Siapa kamu?". Saya perlu mencari tahu apa yang ingin mereka ketahui. Mereka mungkin ingin mengetahui identitas saya atau hanya menguji respons saya. Pertama, saya harus dengan jelas menyatakan bahwa saya adalah Qwen, model bahasa skala besar dari Alibaba Group. Kemudian, saya harus memperkenalkan kemampuan saya secara singkat, seperti menjawab pertanyaan, menulis teks, dan pengkodean, sehingga pengguna memahami apa yang bisa saya lakukan. Saya juga harus menyebutkan bahwa saya mendukung berbagai bahasa sehingga pengguna internasional tahu mereka dapat berkomunikasi dengan saya dalam berbagai bahasa. Terakhir, saya akan bersikap ramah dan mengundang mereka untuk mengajukan pertanyaan untuk membuat mereka merasa nyaman dan bersedia berinteraksi lebih lanjut. Jawaban tidak boleh terlalu panjang tetapi harus komprehensif. Pengguna mungkin memiliki pertanyaan lanjutan tentang detail teknis atau kasus penggunaan saya, tetapi jawaban awal harus sederhana dan jelas. Saya akan memastikan tidak menggunakan jargon teknis sehingga semua pengguna dapat memahami. Saya akan memeriksa apakah ada informasi penting yang hilang, seperti dukungan multibahasa dan contoh spesifik fungsi saya. Oke, ini seharusnya mencakup kebutuhan pengguna.
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar dari Alibaba Group. Saya dapat menjawab pertanyaan, membuat teks (seperti cerita, dokumen resmi, email, dan skrip), melakukan penalaran logis, kode, mengungkapkan pendapat, dan bermain game. Saya juga mendukung komunikasi multibahasa, termasuk namun tidak terbatas pada Cina, Inggris, Jerman, Prancis, dan Spanyol. Jika Anda memiliki pertanyaan atau membutuhkan bantuan, jangan ragu untuk memberi tahu saya!
HTTP
Kode contoh
curl
# ======= PENTING =======
# Kunci API bersifat spesifik wilayah. Untuk mendapatkan Kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
# URL dasar bervariasi berdasarkan wilayah. Ubah sesuai kebutuhan.
# === Hapus komentar ini sebelum menjalankan ===
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen3.8-max",
"input":{
"messages":[
{
"role": "user",
"content": [{"text": "Siapa kamu?"}]
}
]
},
"parameters":{
"enable_thinking": true,
"incremental_output": true,
"result_format": "message"
}
}'
Respons
id:1
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"Hmm","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":14,"input_tokens":11,"output_tokens":3},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:2
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":",","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":15,"input_tokens":11,"output_tokens":4},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:3
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"user","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":16,"input_tokens":11,"output_tokens":5},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:4
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":" asks","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":17,"input_tokens":11,"output_tokens":6},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:5
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":" \"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":18,"input_tokens":11,"output_tokens":7},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
......
id:358
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"help","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":373,"input_tokens":11,"output_tokens":362},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:359
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":",","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":374,"input_tokens":11,"output_tokens":363},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:360
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" feel free","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":375,"input_tokens":11,"output_tokens":364},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:361
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" to","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":376,"input_tokens":11,"output_tokens":365},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:362
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":" let me know","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":377,"input_tokens":11,"output_tokens":366},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:363
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"!","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":378,"input_tokens":11,"output_tokens":367},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
id:364
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"","role":"assistant"},"finish_reason":"stop"}]},"usage":{"total_tokens":378,"input_tokens":11,"output_tokens":367},"request_id":"25d58c29-c47b-9e8d-a0f1-d6c309ec58b1"}
Untuk model pemikiran hibrida sumber terbuka Qwen3, bersama dengan qwen-plus-2025-04-28 dan model-model berikutnya, Anda juga dapat mengontrol mode berpikir dengan sufiks prompt. Ketika enable_thinking adalah true, tambahkan /no_think ke prompt untuk melewati penalaran pada giliran tersebut, atau tambahkan /think untuk mengaktifkannya kembali. Model selalu mengikuti instruksi /think atau /no_think terbaru.
Batasi panjang proses berpikir
Jejak penalaran meningkatkan latensi dan biaya token. Gunakan thinking_budget untuk membatasi token penalaran. Saat batas tercapai, model berhenti melakukan penalaran dan langsung merespons. Ini berlaku untuk model Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen3, GLM dan Kimi.
thinking_budgetsecara default menggunakan panjang maksimum rantai-pikiran model. Periksa nilai default untuk setiap model di halaman konsolnya.
Coba pemikiran mendalam di konsol
- Masuk ke konsol Model Studio.
- Di panel navigasi sebelah kiri, pilih Playground > Text models untuk membuka pusat pengalaman model.
- Model Qwen3.7-Max ditampilkan secara default. Anda juga dapat mengklik nama model untuk memilih model seri Qwen3 lainnya dari daftar drop-down.
- Klik tombol Deep thinking di bagian bawah kotak input untuk mengaktifkan mode penalaran dan melihat proses berpikir model.
- Beralih ke tab Model debugging. Di panel konfigurasi, atur parameter
thinking_budgetuntuk mengontrol jumlah maksimum token yang dihasilkan untuk rantai pikiran. Nilainya berkisar dari 1 hingga 32768, dengan default 4000. Untuk model lainnya, kunjungi pasar model Model Studio.
Kompatibel dengan OpenAI
Python
Kode contoh
from openai import OpenAI
import os
# Inisialisasi klien OpenAI.
client = OpenAI(
# Jika variabel lingkungan tidak dikonfigurasi, ganti "sk-xxx" dengan Kunci API Model Studio Anda.
# Kunci API bersifat spesifik wilayah. Untuk mendapatkan Kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key.
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Konfigurasi bervariasi berdasarkan wilayah. Ubah base_url sesuai wilayah Anda.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "Siapa kamu"}]
completion = client.chat.completions.create(
model="qwen3.8-max",
messages=messages,
# Parameter enable_thinking mengaktifkan proses berpikir, dan thinking_budget mengatur batas tokennya.
extra_body={
"enable_thinking": True,
"thinking_budget": 50
},
stream=True,
stream_options={
"include_usage": True
},
)
reasoning_content = "" # Proses berpikir lengkap
answer_content = "" # Respons lengkap
is_answering = False # Melacak apakah fase respons telah dimulai
print("\n" + "=" * 20 + "Proses berpikir" + "=" * 20 + "\n")
for chunk in completion:
if not chunk.choices:
print("\nUsage:")
print(chunk.usage)
continue
delta = chunk.choices[0].delta
# Kumpulkan hanya konten berpikir.
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
# Saat konten diterima, fase respons dimulai.
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Respons lengkap" + "=" * 20 + "\n")
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content
Respons
====================Proses berpikir====================
Oke, pengguna bertanya, "Siapa kamu?" Saya perlu memberikan respons yang jelas dan ramah. Pertama, saya harus menyatakan identitas saya sebagai Qwen, yang dikembangkan oleh Tongyi Lab di Alibaba Group. Selanjutnya, saya perlu menjelaskan fungsi utama saya, seperti menjawab
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar yang dikembangkan oleh Tongyi Lab di Alibaba Group. Saya dapat menjawab pertanyaan, membuat teks, melakukan penalaran logis, dan menulis kode.
Node.js
Kode contoh
import OpenAI from "openai";
import process from 'process';
// Inisialisasi klien OpenAI.
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY, // Baca dari variabel lingkungan.
// Konfigurasi bervariasi berdasarkan wilayah. Ubah baseURL sesuai dengan wilayah Anda.
baseURL: 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1'
});
let reasoningContent = '';
let answerContent = '';
let isAnswering = false;
async function main() {
try {
const messages = [{ role: 'user', content: 'Who are you' }];
const stream = await openai.chat.completions.create({
model: 'qwen-plus',
messages,
stream: true,
// Parameter enable_thinking mengaktifkan proses berpikir, dan thinking_budget menetapkan batas tokennya.
enable_thinking: true,
thinking_budget: 50
});
console.log('\n' + '='.repeat(20) + 'Thinking process' + '='.repeat(20) + '\n');
for await (const chunk of stream) {
if (!chunk.choices?.length) {
console.log('\nUsage:');
console.log(chunk.usage);
continue;
}
const delta = chunk.choices[0].delta;
// Kumpulkan hanya konten pemikiran.
if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
if (!isAnswering) {
process.stdout.write(delta.reasoning_content);
}
reasoningContent += delta.reasoning_content;
}
// Saat konten diterima, fase tanggapan dimulai.
if (delta.content !== undefined && delta.content) {
if (!isAnswering) {
console.log('\n' + '='.repeat(20) + 'Complete response' + '='.repeat(20) + '\n');
isAnswering = true;
}
process.stdout.write(delta.content);
answerContent += delta.content;
}
}
} catch (error) {
console.error('Error:', error);
}
}
main();
Respons
====================Proses berpikir====================
Oke, pengguna bertanya, "Siapa kamu?" Saya perlu memberikan respons yang jelas dan akurat. Pertama, saya harus menyatakan identitas saya sebagai Qwen, yang dikembangkan oleh Tongyi Lab di Alibaba Group. Selanjutnya, saya harus menjelaskan fungsi utama saya, seperti menjawab pertanyaan
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar yang dikembangkan oleh Tongyi Lab di Alibaba Group. Saya dapat menjawab pertanyaan, membuat teks, melakukan penalaran logis, dan menulis kode.
HTTP
Kode contoh
curl
# ======= Penting =======
# Berikut adalah URL dasar untuk wilayah Singapura. Untuk model di wilayah Tiongkok (Beijing), ganti URL dengan: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions
# Untuk model di wilayah AS (Virginia), ganti URL dengan: https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum eksekusi ===
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": "user",
"content": "Siapa kamu"
}
],
"stream": true,
"stream_options": {
"include_usage": true
},
"enable_thinking": true,
"thinking_budget": 50
}'
Respons
data: {"choices":[{"delta":{"content":null,"role":"assistant","reasoning_content":""},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1745485391,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-e2edaf2c-8aaf-9e54-90e2-b21dd5045503"}
.....
data: {"choices":[{"finish_reason":"stop","delta":{"content":"","reasoning_content":null},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1745485391,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-e2edaf2c-8aaf-9e54-90e2-b21dd5045503"}
data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":10,"completion_tokens":360,"total_tokens":370},"created":1745485391,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-e2edaf2c-8aaf-9e54-90e2-b21dd5045503"}
data: [DONE]
DashScope
API DashScope untuk seri Qwen3.5 menggunakan antarmuka multimodal. Contoh berikut mengembalikan
url error. Untuk penggunaan yang benar, lihat Aktifkan atau nonaktifkan mode berpikir.
Python
Kode contoh
import os
from dashscope import MultiModalConversation
import dashscope
# URL berikut untuk wilayah Singapura. Saat memanggil, ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/"
messages = [{"role": "user", "content": [{"text": "Siapa kamu?"}]}]
completion = MultiModalConversation.call(
# Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key = "sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=messages,
enable_thinking=True,
# Mengatur batas token untuk proses berpikir.
thinking_budget=50,
stream=True,
incremental_output=True,
)
# Menyimpan proses berpikir lengkap.
reasoning_content = ""
# Menyimpan respons lengkap.
answer_content = ""
# Melacak apakah fase respons telah dimulai.
is_answering = False
print("=" * 20 + "Proses berpikir" + "=" * 20)
for chunk in completion:
# Abaikan chunk di mana konten berpikir dan konten respons kosong.
content = chunk.output.choices[0].message.content
reasoning = chunk.output.choices[0].message.reasoning_content
if not content and reasoning == "":
pass
else:
# Jika chunk saat ini berisi konten berpikir.
if reasoning != "" and not content:
print(reasoning, end="", flush=True)
reasoning_content += reasoning
# Jika chunk saat ini berisi konten respons.
elif content:
if not is_answering:
print("\n" + "=" * 20 + "Respons lengkap" + "=" * 20)
is_answering = True
print(content[0]["text"], end="", flush=True)
answer_content += content[0]["text"]
# Untuk mencetak proses berpikir lengkap dan respons, hapus komentar dan jalankan kode berikut.
# print("=" * 20 + "Proses berpikir lengkap" + "=" * 20 + "\n")
# print(f"{reasoning_content}")
# print("=" * 20 + "Respons lengkap" + "=" * 20 + "\n")
# print(f"{answer_content}")
Respons
====================Proses berpikir====================
Oke, pengguna bertanya, "Siapa kamu?" Saya perlu memberikan respons yang jelas dan ramah. Pertama, saya harus memperkenalkan diri sebagai Qwen, yang dikembangkan oleh Tongyi Lab di Alibaba Group. Selanjutnya, saya harus menjelaskan fungsi utama saya, seperti
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar yang dikembangkan oleh Tongyi Lab di Alibaba Group. Saya dapat menjawab pertanyaan, membuat teks, melakukan penalaran logis, dan menulis kode.
Java
Kode contoh
// Versi SDK DashScope harus 2.19.4 atau lebih baru.
import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import io.reactivex.Flowable;
import com.alibaba.dashscope.exception.UploadFileException;
import java.lang.System;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// URL API HTTP dasar bervariasi berdasarkan wilayah. Ubah sesuai wilayah Anda.
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static StringBuilder reasoningContent = new StringBuilder();
private static StringBuilder finalContent = new StringBuilder();
private static boolean isFirstPrint = true;
private static void handleMultiModalConversationResult(MultiModalConversationResult message) {
String reasoning = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
List<Map<String, Object>> contentList = (List<Map<String, Object>>) message.getOutput().getChoices().get(0).getMessage().getContent();
String content = (contentList != null && !contentList.isEmpty()) ? (String) contentList.get(0).get("text") : "";
if (!reasoning.isEmpty()) {
reasoningContent.append(reasoning);
if (isFirstPrint) {
System.out.println("====================Proses berpikir====================");
isFirstPrint = false;
}
System.out.print(reasoning);
}
if (!content.isEmpty()) {
finalContent.append(content);
if (!isFirstPrint) {
System.out.println("\n====================Respons lengkap====================");
isFirstPrint = true;
}
System.out.print(content);
}
}
private static MultiModalConversationParam buildMultiModalConversationParam(MultiModalMessage userMsg) {
return MultiModalConversationParam.builder()
// Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen3.8-max")
.enableThinking(true)
.thinkingBudget(50)
.incrementalOutput(true)
.messages(Arrays.asList(userMsg))
.build();
}
public static void streamCallWithMessage(MultiModalConversation conv, MultiModalMessage userMsg)
throws NoApiKeyException, ApiException, InputRequiredException, UploadFileException {
MultiModalConversationParam param = buildMultiModalConversationParam(userMsg);
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(message -> handleMultiModalConversationResult(message));
}
public static void main(String[] args) {
try {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage userMsg = MultiModalMessage.builder().role(Role.USER.getValue()).content(Arrays.asList(Collections.singletonMap("text", "Siapa kamu?"))).build();
streamCallWithMessage(conv, userMsg);
// Cetak hasil akhir.
// if (reasoningContent.length() > 0) {
// System.out.println("\n====================Respons lengkap====================");
// System.out.println(finalContent.toString());
// }
} catch (ApiException | NoApiKeyException | InputRequiredException | UploadFileException e) {
logger.error("Terjadi pengecualian: {}", e.getMessage());
}
System.exit(0);
}
}
Respons
====================Proses berpikir====================
Oke, pengguna bertanya, "Siapa kamu?" Saya perlu memberikan respons yang jelas dan ramah. Pertama, saya harus memperkenalkan diri sebagai Qwen, yang dikembangkan oleh Tongyi Lab di Alibaba Group. Selanjutnya, saya harus menjelaskan fungsi utama saya, seperti
====================Respons lengkap====================
Saya Qwen, model bahasa skala besar yang dikembangkan oleh Tongyi Lab di Alibaba Group. Saya dapat menjawab pertanyaan, membuat teks, melakukan penalaran logis, dan menulis kode.
HTTP
Kode contoh
curl
# ======= Penting =======
# Kunci API bersifat spesifik wilayah. Untuk mendapatkan Kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# URL endpoint bervariasi berdasarkan wilayah. Ubah sesuai wilayah Anda.
# === Hapus komentar ini sebelum eksekusi ===
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen3.8-max",
"input":{
"messages":[
{
"role": "user",
"content": [{"text": "Siapa kamu?"}]
}
]
},
"parameters":{
"enable_thinking": true,
"thinking_budget": 50,
"incremental_output": true,
"result_format": "message"
}
}'
Respons
id:1
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"Okay","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":14,"output_tokens":3,"input_tokens":11,"output_tokens_details":{"reasoning_tokens":1}},"request_id":"2ce91085-3602-9c32-9c8b-fe3d583a2c38"}
id:2
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":",","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":15,"output_tokens":4,"input_tokens":11,"output_tokens_details":{"reasoning_tokens":2}},"request_id":"2ce91085-3602-9c32-9c8b-fe3d583a2c38"}
......
id:133
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"!","reasoning_content":"","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":149,"output_tokens":138,"input_tokens":11,"output_tokens_details":{"reasoning_tokens":50}},"request_id":"2ce91085-3602-9c32-9c8b-fe3d583a2c38"}
id:134
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"","role":"assistant"},"finish_reason":"stop"}]},"usage":{"total_tokens":149,"output_tokens":138,"input_tokens":11,"output_tokens_details":{"reasoning_tokens":50}},"request_id":"2ce91085-3602-9c32-9c8b-fe3d583a2c38"}
Teruskan proses berpikir
Secara default, model mengabaikan reasoning_content dalam riwayat messages. Atur preserve_thinking ke true untuk meneruskan penalaran sebelumnya ke giliran berikutnya. reasoning_content dari pesan asisten sebelumnya kemudian ditambahkan ke input model.
PentingParameter preserve_thinking hanya didukung untuk qwen3.8-max, qwen3.8-flash, qwen3.7-max, qwen3.7-max-us, qwen3.7-max-2026-05-20, qwen3.7-max-2026-06-08, qwen3.7-max-preview, qwen3.7-max-2026-05-17, qwen3.7-plus, qwen3.7-plus-us, qwen3.7-plus-2026-05-26, qwen3.6-max-preview, qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.7-flash, qwen3.7-flash-2026-07-15, kimi-k2.7-code (di-deploy di Alibaba Cloud Model Studio), kimi-k2.6 (di-deploy di Alibaba Cloud Model Studio), kimi/kimi-k3 (di-deploy di Moonshot AI), kimi/kimi-k2.7-code-highspeed (di-deploy di Moonshot AI), kimi/kimi-k2.7-code (di-deploy di Moonshot AI), dan kimi/kimi-k2.6 (di-deploy di Moonshot AI).
Mengaktifkan parameter ini ketika pesan riwayat tidak memiliki
reasoning_contenttidak menyebabkan error.
Ketika diaktifkan,
reasoning_contentdari riwayat percakapan dihitung sebagai token input dan penagihan.
Kompatibel dengan OpenAI
Catatanpreserve_thinking bukan parameter standar OpenAI. Saat Anda menggunakan SDK Python, lewatkan parameter ini di extra_body.
Python
Kode contoh
from openai import OpenAI
import os
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Konfigurasi bervariasi berdasarkan wilayah. Ubah ini sesuai wilayah aktual Anda.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
# Giliran pertama percakapan
messages = [
{"role": "user", "content": "Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi."}
]
first_reasoning = ""
first_content = ""
is_answering = False
completion = client.chat.completions.create(
model="qwen3.8-max",
messages=messages,
extra_body={"enable_thinking": True},
stream=True,
stream_options={"include_usage": True},
)
print("=" * 20 + "Proses berpikir giliran pertama" + "=" * 20)
for chunk in completion:
if not chunk.choices:
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
first_reasoning += delta.reasoning_content
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Respons giliran pertama" + "=" * 20)
is_answering = True
print(delta.content, end="", flush=True)
first_content += delta.content
# Giliran kedua: Teruskan proses berpikir dan tanyakan mengapa model mengecualikan Kafka
messages = [
{"role": "user", "content": "Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi."},
{
"role": "assistant",
"content": first_content,
"reasoning_content": first_reasoning,
},
{"role": "user", "content": "Mengapa Anda mengecualikan Kafka dalam perbandingan Anda?"},
]
reasoning_content = ""
answer_content = ""
is_answering = False
# Teruskan preserve_thinking melalui extra_body
completion = client.chat.completions.create(
model="qwen3.8-max",
messages=messages,
extra_body={
"enable_thinking": True,
"preserve_thinking": True,
},
stream=True,
stream_options={"include_usage": True},
)
print("\n" + "=" * 20 + "Proses berpikir giliran kedua" + "=" * 20)
for chunk in completion:
if not chunk.choices:
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
reasoning_content += delta.reasoning_content
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Respons giliran kedua" + "=" * 20)
is_answering = True
print(delta.content, end="", flush=True)
answer_content += delta.content
Respons
====================Proses berpikir giliran pertama====================
Pengguna membutuhkan antrian pesan untuk sistem E-dagang dengan puluhan juta pesan harian. Saya akan membandingkan solusi utama berdasarkan dimensi seperti throughput, keandalan, pesan tertunda, dan dukungan transaksi...
RocketMQ: Divalidasi dalam skenario E-dagang Alibaba, mendukung secara native pesan transaksional dan pesan tertunda, serta menyediakan pengurutan tingkat partisi yang ketat...
Kafka: Throughput sangat tinggi, tetapi kurang dukungan native untuk pesan transaksional dan pesan tertunda, memerlukan mekanisme kompensasi kustom...
RabbitMQ: Latensi rendah, tetapi skalabilitas kluster terbatas, dengan TPS puncak dalam puluhan ribu...
====================Respons giliran pertama====================
Mempertimbangkan kebutuhan inti skenario E-dagang (pesan transaksional, pesan tertunda, pengurutan, dan penanganan puncak), saya merekomendasikan Apache RocketMQ. Jika tim Anda sudah memiliki ekosistem Kafka atau memerlukan analitik real-time yang kuat, Kafka juga merupakan opsi yang layak.
====================Proses berpikir giliran kedua====================
Pengguna bertanya mengapa Kafka dikecualikan. Meninjau proses berpikir historis saya, saya tidak mengecualikan Kafka; saya memberinya peringkat 4 bintang. Saya akan merujuk pada perbandingan terperinci sebelumnya untuk menjelaskan...
Pada giliran terakhir, saya membandingkan perbedaan antara RocketMQ dan Kafka mengenai pesan transaksional, pesan tertunda, dan pengurutan. Kerugian utama Kafka adalah memerlukan desain arsitektural tambahan untuk mengkompensasi semantik khusus E-dagang...
====================Respons giliran kedua====================
Saya tidak mengecualikan Kafka. Kafka unggul dalam throughput dan ekosistem. Alasan RocketMQ mendapat peringkat sedikit lebih tinggi adalah kecocokannya yang lebih baik secara out-of-the-box untuk alur kerja inti E-dagang. RocketMQ mendukung secara native pesan transaksional dan pesan tertunda, sedangkan Kafka memerlukan implementasi sendiri melalui pola arsitektural seperti Pola Outbox. Jika tim Anda sudah memiliki ekosistem Kafka, ia sepenuhnya mampu menangani skenario dengan puluhan juta pesan.
Node.js
Kode contoh
import OpenAI from "openai";
import process from 'process';
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
// Konfigurasi bervariasi berdasarkan wilayah. Ubah ini sesuai wilayah aktual Anda.
baseURL: 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1'
});
async function main() {
// Giliran pertama percakapan
let firstReasoning = '';
let firstContent = '';
let isAnswering = false;
const stream1 = await openai.chat.completions.create({
model: 'qwen3.7-plus',
messages: [{ role: 'user', content: 'Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi.' }],
stream: true,
enable_thinking: true
});
console.log('='.repeat(20) + 'Proses berpikir giliran pertama' + '='.repeat(20));
for await (const chunk of stream1) {
if (!chunk.choices?.length) continue;
const delta = chunk.choices[0].delta;
if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
firstReasoning += delta.reasoning_content;
if (!isAnswering) process.stdout.write(delta.reasoning_content);
}
if (delta.content !== undefined && delta.content) {
if (!isAnswering) {
console.log('\n' + '='.repeat(20) + 'Respons giliran pertama' + '='.repeat(20));
isAnswering = true;
}
process.stdout.write(delta.content);
firstContent += delta.content;
}
}
// Giliran kedua: Teruskan proses berpikir
let reasoningContent = '';
let answerContent = '';
isAnswering = false;
const stream2 = await openai.chat.completions.create({
model: 'qwen3.7-plus',
messages: [
{ role: 'user', content: 'Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi.' },
{
role: 'assistant',
content: firstContent,
reasoning_content: firstReasoning
},
{ role: 'user', content: 'Mengapa Anda mengecualikan Kafka dalam perbandingan Anda?' }
],
stream: true,
enable_thinking: true,
// Teruskan preserve_thinking sebagai parameter tingkat atas
preserve_thinking: true
});
console.log('\n' + '='.repeat(20) + 'Proses berpikir giliran kedua' + '='.repeat(20));
for await (const chunk of stream2) {
if (!chunk.choices?.length) continue;
const delta = chunk.choices[0].delta;
if (delta.reasoning_content !== undefined && delta.reasoning_content !== null) {
if (!isAnswering) process.stdout.write(delta.reasoning_content);
reasoningContent += delta.reasoning_content;
}
if (delta.content !== undefined && delta.content) {
if (!isAnswering) {
console.log('\n' + '='.repeat(20) + 'Respons giliran kedua' + '='.repeat(20));
isAnswering = true;
}
process.stdout.write(delta.content);
answerContent += delta.content;
}
}
}
main();
Respons
====================Proses berpikir giliran pertama====================
Pengguna membutuhkan antrian pesan untuk sistem E-dagang dengan puluhan juta pesan harian. Saya akan membandingkan solusi utama berdasarkan dimensi seperti throughput, keandalan, pesan tertunda, dan dukungan transaksi...
====================Respons giliran pertama====================
Mempertimbangkan kebutuhan inti skenario E-dagang, saya merekomendasikan Apache RocketMQ. Jika tim Anda sudah memiliki ekosistem Kafka, Kafka juga merupakan opsi yang layak.
====================Proses berpikir giliran kedua====================
Pengguna bertanya mengapa Kafka dikecualikan. Merujuk pada proses berpikir saya sebelumnya, saya tidak mengecualikan Kafka...
====================Respons giliran kedua====================
Saya tidak mengecualikan Kafka. Kafka unggul dalam throughput dan ekosistem. Alasan RocketMQ mendapat peringkat sedikit lebih tinggi adalah kecocokannya yang lebih baik secara out-of-the-box untuk alur kerja inti E-dagang.
HTTP
Kode contoh
curl
# URL dasar bervariasi berdasarkan wilayah. Ubah sesuai wilayah aktual Anda.
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": "user",
"content": "Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi."
},
{
"role": "assistant",
"content": "Mempertimbangkan kebutuhan inti skenario E-dagang, saya merekomendasikan Apache RocketMQ.",
"reasoning_content": "Pengguna membutuhkan antrian pesan untuk sistem E-dagang dengan puluhan juta pesan harian. RocketMQ mendukung secara native pesan transaksional dan pesan tertunda, menjadikannya lebih cocok untuk skenario E-dagang. Kafka memiliki throughput sangat tinggi tetapi memerlukan mekanisme kompensasi kustom."
},
{
"role": "user",
"content": "Mengapa Anda mengecualikan Kafka dalam perbandingan Anda?"
}
],
"stream": true,
"stream_options": {
"include_usage": true
},
"enable_thinking": true,
"preserve_thinking": true
}'
Respons
data: {"choices":[{"delta":{"content":null,"role":"assistant","reasoning_content":""},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1743523200,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-example-001"}
.....
data: {"choices":[{"finish_reason":"stop","delta":{"content":"","reasoning_content":null},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1743523200,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-example-001"}
data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":3463,"completion_tokens":2387,"total_tokens":5850},"created":1743523200,"system_fingerprint":null,"model":"qwen3.8-max","id":"chatcmpl-example-001"}
data: [DONE]
DashScope
CatatanSDK Java saat ini tidak mendukung parameter preserve_thinking. Saat Anda melakukan panggilan HTTP, letakkan parameter preserve_thinking di objek parameters.
Python
Kode contoh
import os
from dashscope import MultiModalConversation
import dashscope
# URL berikut untuk wilayah Singapura. Saat memanggil, ganti WorkspaceId dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
dashscope.base_http_api_url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/"
# Giliran pertama percakapan
messages = [
{"role": "user", "content": [{"text": "Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi."}]}
]
first_reasoning = ""
first_content = ""
is_answering = False
completion = MultiModalConversation.call(
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=messages,
enable_thinking=True,
stream=True,
incremental_output=True,
)
print("=" * 20 + "Proses berpikir giliran pertama" + "=" * 20)
for chunk in completion:
content = chunk.output.choices[0].message.content
reasoning = chunk.output.choices[0].message.reasoning_content
if not content and reasoning == "":
pass
else:
if reasoning != "" and not content:
print(reasoning, end="", flush=True)
first_reasoning += reasoning
elif content:
if not is_answering:
print("\n" + "=" * 20 + "Respons giliran pertama" + "=" * 20)
is_answering = True
print(content[0]["text"], end="", flush=True)
first_content += content[0]["text"]
# Giliran kedua: Teruskan proses berpikir
messages = [
{"role": "user", "content": [{"text": "Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi."}]},
{
"role": "assistant",
"content": [{"text": first_content}],
"reasoning_content": first_reasoning,
},
{"role": "user", "content": [{"text": "Mengapa Anda mengecualikan Kafka dalam perbandingan Anda?"}]},
]
reasoning_content = ""
answer_content = ""
is_answering = False
completion = MultiModalConversation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=messages,
enable_thinking=True,
# Teruskan proses berpikir
preserve_thinking=True,
stream=True,
incremental_output=True,
)
print("\n" + "=" * 20 + "Proses berpikir giliran kedua" + "=" * 20)
for chunk in completion:
content = chunk.output.choices[0].message.content
reasoning = chunk.output.choices[0].message.reasoning_content
if not content and reasoning == "":
pass
else:
if reasoning != "" and not content:
print(reasoning, end="", flush=True)
reasoning_content += reasoning
elif content:
if not is_answering:
print("\n" + "=" * 20 + "Respons giliran kedua" + "=" * 20)
is_answering = True
print(content[0]["text"], end="", flush=True)
answer_content += content[0]["text"]
): print(chunk.output.choices[0].message.reasoning_content, end="", flush=True) reasoning_content += chunk.output.choices[0].message.reasoning_content elif chunk.output.choices[0].message.content != "": if not is_answering: print("\n" + "=" * 20 + "Respons giliran kedua" + "=" * 20) is_answering = True print(chunk.output.choices[0].message.content, end="", flush=True) answer_content += chunk.output.choices[0].message.content
Respons
====================Proses berpikir giliran pertama====================
Pengguna membutuhkan antrian pesan untuk sistem E-dagang dengan puluhan juta pesan harian. Saya akan membandingkan solusi utama berdasarkan dimensi seperti throughput, keandalan, pesan tertunda, dan dukungan transaksi...
====================Respons giliran pertama====================
Mempertimbangkan kebutuhan inti skenario E-dagang, saya merekomendasikan Apache RocketMQ. Jika tim Anda sudah memiliki ekosistem Kafka, Kafka juga merupakan opsi yang layak.
====================Proses berpikir giliran kedua====================
Pengguna bertanya mengapa Kafka dikecualikan. Merujuk pada proses berpikir saya sebelumnya, saya tidak mengecualikan Kafka...
====================Respons giliran kedua====================
Saya tidak mengecualikan Kafka. Kafka unggul dalam throughput dan ekosistem. Alasan RocketMQ mendapat peringkat sedikit lebih tinggi adalah kecocokannya yang lebih baik secara out-of-the-box untuk alur kerja inti E-dagang.
HTTP
Kode contoh
curl
# URL dasar bervariasi berdasarkan wilayah. Ubah sesuai wilayah aktual Anda.
curl -X POST "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen3.8-max",
"input":{
"messages":[
{
"role": "user",
"content": [{"text": "Saya perlu memilih antrian pesan untuk sistem E-dagang yang menangani puluhan juta pesan per hari. Mohon berikan rekomendasi."}]
},
{
"role": "assistant",
"content": [{"text": "Mempertimbangkan kebutuhan inti skenario E-dagang, saya merekomendasikan Apache RocketMQ."}],
"reasoning_content": "Pengguna membutuhkan antrian pesan untuk sistem E-dagang dengan puluhan juta pesan harian. RocketMQ mendukung secara native pesan transaksional dan pesan tertunda, menjadikannya lebih cocok untuk skenario E-dagang. Kafka memiliki throughput sangat tinggi tetapi memerlukan mekanisme kompensasi kustom."
},
{
"role": "user",
"content": [{"text": "Mengapa Anda mengecualikan Kafka dalam perbandingan Anda?"}]
}
]
},
"parameters":{
"enable_thinking": true,
"preserve_thinking": true,
"incremental_output": true,
"result_format": "message"
}
}'
Respons
id:1
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"user"},"role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":3466,"output_tokens":3,"input_tokens":3463,"output_tokens_details":{"reasoning_tokens":1}},"request_id":"example-request-001"}
id:2
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"follow-up"},"role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":3467,"output_tokens":4,"input_tokens":3463,"output_tokens_details":{"reasoning_tokens":2}},"request_id":"example-request-001"}
......
id:200
event:result
:HTTP_STATUS/200
data:{"output":{"choices":[{"message":{"content":"","reasoning_content":"","role":"assistant"},"finish_reason":"stop"}]},"usage":{"total_tokens":5850,"output_tokens":2387,"input_tokens":3463,"output_tokens_details":{"reasoning_tokens":1347}},"request_id":"example-request-001"}
Fitur lainnya
Penagihan
-
Konten berpikir ditagih per token output.
-
Beberapa model pemikiran hibrida menerapkan harga yang berbeda untuk mode berpikir dan non-berpikir.
Jika model mode berpikir tidak menghasilkan output penalaran, harga mode tidak berpikir berlaku.
FAQ
T: Bagaimana cara menonaktifkan mode berpikir?
Ini tergantung pada jenis model:
- Untuk model pemikiran hibrida, seperti qwen-plus dan deepseek-v3.2-exp, atur
enable_thinkingkefalse. - Untuk model hanya berpikir, seperti qwen3-235b-a22b-thinking-2507 dan deepseek-r1, mode berpikir tidak dapat dinonaktifkan.
T: Mengapa qwen3.7-plus lambat merespons, dan bagaimana cara mengatasinya?
qwen3.7-plus adalah model pemikiran hibrida dengan mode berpikir diaktifkan secara default. Proses berpikir menghasilkan banyak token penalaran — lebih dari 60% dari total token output dalam pengukuran — sehingga latensi total satu panggilan jauh lebih tinggi dibandingkan mode tidak berpikir. Kecepatan generasi token itu sendiri normal, sekitar 52 hingga 54 token/detik. Latensi total yang lebih lama berasal dari jumlah token yang dihasilkan proses berpikir, bukan dari model yang lebih lambat atau gangguan jaringan.
Untuk mengatasi latensi, ikuti langkah-langkah berikut:
- Periksa apakah mode berpikir diaktifkan. Mode ini diaktifkan secara default untuk qwen3.7-plus. Jika respons mengembalikan bidang
reasoning_content, mode berpikir aktif. - Tinjau
completion_tokensdanreasoning_tokensdalam statistik penggunaan respons. Proporsi tinggireasoning_tokensberarti latensi total yang lama adalah perilaku yang diharapkan dari mode berpikir. - Jika Anda tidak memerlukan proses berpikir, atur
enable_thinkingkefalsedalam permintaan untuk menonaktifkan mode berpikir. Ini sangat mengurangi token output dan menurunkan latensi total sebesar 60% hingga 75% dalam pengukuran. - Jika Anda ingin mempertahankan kemampuan penalaran, gunakan keluaran streaming. Anda menerima token pertama lebih cepat dan dapat melihat proses berpikir secara real time alih-alih menunggu respons lengkap.
Statistik penggunaan menunjukkan latensi total satu panggilan, termasuk waktu yang dihabiskan untuk menghasilkan token penalaran. Ini bukan latensi generasi token individual.
T: Bagaimana cara memanggil model berpikir dalam mode non-streaming (sinkron)?
Contoh dalam topik ini menggunakan streaming secara default (disarankan agar Anda dapat melihat proses berpikir secara real time dan menghindari penantian lama). Model berpikir komersial (seperti qwen-plus, qwen3-max, dan qwen-flash) juga mendukung keluaran non-streaming (sinkron), mengembalikan penalaran dan jawaban lengkap dalam satu respons.
Saat Anda mengubah contoh dari streaming ke non-streaming, perbarui juga kode penguraian respons: panggilan non-streaming mengembalikan objek respons lengkap (
completion). Jangan iterasi denganfor chunk in completionseperti pada contoh streaming (ini menimbulkan'tuple' object has no attribute 'choices'). Sebagai gantinya, bacacompletion.choices[0].message.reasoning_content(penalaran) dancompletion.choices[0].message.content(jawaban) secara langsung. Juga, saatstream=False, jangan atur parameterstream_options.
Contoh berikut memanggil qwen3.8-max dalam mode berpikir tanpa streaming, menggunakan antarmuka kompatibel OpenAI:
from openai import OpenAI
import os
client = OpenAI(
# Kunci API berbeda berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
# Jika variabel lingkungan tidak dikonfigurasi, ganti baris di bawah ini dengan Kunci API Model Studio Anda: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Berikut adalah konfigurasi untuk wilayah Singapura. Ganti WorkspaceId dengan ID ruang kerja asli Anda; konfigurasi berbeda berdasarkan wilayah.
base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen3.8-max", # Ganti dengan model berpikir yang mendukung keluaran non-streaming
messages=[{"role": "user", "content": "Siapa kamu?"}],
extra_body={"enable_thinking": True},
stream=False, # Keluaran non-streaming (sinkron); jangan atur stream_options saat stream=False
)
# Panggilan non-streaming mengembalikan objek respons lengkap. Baca pesan secara langsung; jangan iterasi.
message = completion.choices[0].message
print("=" * 20 + "Penalaran" + "=" * 20 + "\n")
print(getattr(message, "reasoning_content", "") or "")
print("\n" + "=" * 20 + "Jawaban" + "=" * 20 + "\n")
print(message.content)
Beberapa model (seperti qwen3-235b-a22b dan qwen3-32b sumber terbuka) hanya mendukung streaming. Panggilan non-streaming mengembalikan error
parameter.enable_thinking only support stream call; gunakan streaming untuk model-model ini.
T: Bagaimana cara membeli token setelah kuota gratis saya habis?
Isi ulang akun Anda di pusat Biaya dan Pengeluaran. Akun Anda harus tidak memiliki pembayaran tertunda untuk memanggil model.
Setelah kuota gratis habis, panggilan ditagih per menit. Lihat pengeluaran di Detail Tagihan.
T: Bisakah saya mengunggah gambar atau dokumen sebagai input?
Model-model ini hanya menerima teks. Qwen3-VL dan QVQ mendukung pemikiran mendalam pada gambar .
T: Bagaimana cara melihat konsumsi token dan jumlah panggilan?
Satu jam setelah Anda memanggil model, buka halaman Pemantauan (Singapura atau Beijing). Atur kondisi kueri, seperti rentang waktu dan ruang kerja. Kemudian, di area Model, temukan model target dan klik Monitor di kolom Aksi untuk melihat statistik panggilan model. Untuk informasi lebih lanjut, lihat dokumen Pemantauan.
Data diperbarui setiap jam. Selama periode puncak, mungkin terjadi latensi tingkat jam.

T: Apa yang harus saya lakukan jika prompt panjang gagal menghasilkan respons atau timeout?
Jika panggilan dengan prompt panjang gagal atau timeout, biasanya mode berpikir (enable_thinking=true) diaktifkan. Mode berpikir meningkatkan waktu pemrosesan, yang dapat memotong respons atau menyebabkan permintaan timeout saat prompt panjang.
Solusi:
- Nonaktifkan mode berpikir: atur
enable_thinkingkefalse. Waktu pemrosesan dapat turun dari sekitar 50 detik menjadi sekitar 30 detik. - Aktifkan keluaran streaming: atur
streamketrueuntuk menghindari batas timeout mode non-streaming. - Tingkatkan timeout: untuk tetap mengaktifkan mode berpikir, atur timeout klien ke 180 detik atau lebih lama.
T: Klien pihak ketiga saya terputus setelah tag berpikir dikeluarkan. Apa yang harus saya lakukan?
Ini adalah masalah sisi klien, bukan pembatasan platform pada eksposur proses berpikir. Model Studio menggunakan parameter enable_thinking untuk mengaktifkan/nonaktifkan mode berpikir, dan bidang reasoning_content dalam respons berisi proses berpikir lengkap, sehingga model mengembalikan konten berpikir seperti yang diharapkan. Pemutusan biasanya disebabkan oleh kondisi jaringan klien yang tidak stabil atau masalah kompatibilitas versi klien.
Langkah pemecahan masalah:
- Periksa stabilitas koneksi jaringan klien.
- Perbarui klien ke versi terbaru.
- Tinjau log klien untuk mengorelasikan stempel waktu pemutusan dengan output tag berpikir.
Anda juga dapat memanggil model langsung melalui API DashScope untuk memverifikasi bahwa kemampuan berpikir berfungsi seperti yang diharapkan.
Referensi API
Untuk parameter input dan respons, lihat Generasi Teks.
Kode error
Jika panggilan gagal, lihat Kode error.