Skip to main content
Pemahaman visual

Penalaran visual

Model penalaran visual menghasilkan proses berpikirnya sebelum memberikan jawaban. Gunakan model ini untuk tugas visual kompleks seperti soal matematika, analisis grafik, atau pemahaman video.

Showcase

Komponen di atas hanya untuk keperluan demonstrasi dan tidak mengirim permintaan yang sebenarnya.

Model yang didukung

  • Qwen3.8
    • Model hybrid-thinking: qwen3.8-max, qwen3.8-flash
  • Qwen3.7
    • Model hybrid-thinking: qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.7-max-2026-06-08, qwen3.7-flash, qwen3.7-flash-2026-07-15
  • Qwen3.6
    • Model hybrid-thinking: qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.6-flash, qwen3.6-flash-2026-04-16, qwen3.6-35b-a3b
  • Qwen3.5
    • Model hybrid-thinking: qwen3.5-plus, qwen3.5-plus-2026-02-15, qwen3.5-flash, qwen3.5-flash-2026-02-23, qwen3.5-397b-a17b, qwen3.5-122b-a10b, qwen3.5-27b, qwen3.5-35b-a3b
  • Qwen3-VL
    • Model hybrid-thinking: qwen3-vl-plus, qwen3-vl-plus-2025-12-19, qwen3-vl-plus-2025-09-23, qwen3-vl-flash, qwen3-vl-flash-2025-10-15
    • Model thinking-only: qwen3-vl-235b-a22b-thinking, qwen3-vl-32b-thinking, qwen3-vl-30b-a3b-thinking, qwen3-vl-8b-thinking
  • QVQ
    • Model thinking-only: qvq-max series, qvq-plus series
  • Kimi
    • Model hybrid-thinking: kimi-k2.6, kimi-k2.5

Panduan penggunaan

  • Proses berpikir: Model Studio menyediakan dua jenis model penalaran visual: hybrid-thinking dan thinking-only.
    • Model hybrid-thinking: Kendalikan proses berpikir dengan parameter enable_thinking:
      • Diatur ke true: menghasilkan proses berpikir terlebih dahulu, lalu respons akhir (default untuk seri Qwen3.5 dan seterusnya).
      • Diatur ke false: langsung menghasilkan respons (default untuk seri qwen3-vl-plus, qwen3-vl-flash).
    • Model thinking-only: Model ini selalu menghasilkan proses berpikir sebelum memberikan respons, dan perilaku ini tidak dapat dinonaktifkan.
  • Metode output: Gunakan streaming untuk mencegah timeout akibat proses berpikir yang panjang.
    • Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, kimi-k2.6, kimi-k2.5, dan stepfun/step-3.7-flash mendukung metode streaming dan non-streaming.
    • Seri QVQ hanya mendukung keluaran streaming.
  • Rekomendasi prompt sistem:
    • Konversasi single-turn/sederhana: Jangan atur System Message. Berikan instruksi (seperti peran, format) melalui User Message untuk hasil inferensi terbaik.
    • Aplikasi kompleks (agen, pemanggilan tool): Gunakan System Message untuk menentukan peran model, kemampuan, dan kerangka perilaku.

Mulai

Prasyarat Contoh berikut memanggil qvq-max untuk menyelesaikan soal matematika dari gambar. Contoh ini menggunakan streaming untuk mencetak proses berpikir dan respons akhir secara terpisah.
  • Kompatibel dengan OpenAI
  • DashScope
  • Python
  • Node.js
  • HTTP
from openai import OpenAI
import os

# Inisialisasi klien OpenAI
client = OpenAI(
    # Kunci API berbeda berdasarkan wilayah. Untuk mendapatkannya, lihat https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
    # Jika belum dikonfigurasi, ganti dengan: api_key="sk-xxx"
    api_key = os.getenv("DASHSCOPE_API_KEY"),
    # Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL berbeda berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

reasoning_content = ""  # Menyimpan proses berpikir lengkap
answer_content = ""     # Menyimpan respons lengkap
is_answering = False   # Memeriksa apakah proses berpikir telah selesai dan respons dimulai

# Buat permintaan chat completion
completion = client.chat.completions.create(
    model="qvq-max",  # Contoh menggunakan qvq-max. Ganti dengan nama model lain sesuai kebutuhan.
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"
                    },
                },
                {"type": "text", "text": "How do I solve this problem?"},
            ],
        },
    ],
    stream=True,
    # Hapus komentar berikut untuk mengembalikan penggunaan token pada chunk terakhir
    # stream_options={
    #     "include_usage": True
    # }
)

print("\n" + "=" * 20 + "Thinking process" + "=" * 20 + "\n")

for chunk in completion:
    # Jika chunk.choices kosong, cetak penggunaan
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
    else:
        delta = chunk.choices[0].delta
        # Cetak proses berpikir
        if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
            print(delta.reasoning_content, end='', flush=True)
            reasoning_content += delta.reasoning_content
        else:
            # Mulai merespons
            if delta.content != "" and is_answering is False:
                print("\n" + "=" * 20 + "Full response" + "=" * 20 + "\n")
                is_answering = True
            # Cetak proses respons
            print(delta.content, end='', flush=True)
            answer_content += delta.content

# print("=" * 20 + "Full thinking process" + "=" * 20 + "\n")
# print(reasoning_content)
# print("=" * 20 + "Full response" + "=" * 20 + "\n")
# print(answer_content)

Kemampuan inti

Mengaktifkan atau menonaktifkan proses berpikir

Untuk skenario yang memerlukan proses berpikir detail (pemecahan masalah, analisis laporan), aktifkan mode berpikir menggunakan parameter enable_thinking seperti ditunjukkan di bawah.
  • Kompatibel dengan OpenAI
  • DashScope
enable_thinking dan thinking_budget adalah parameter non-standar OpenAI. Metode pengiriman parameter berbeda berdasarkan bahasa:
  • Python SDK: Anda harus mengirimkannya melalui dictionary extra_body.
  • Node.js SDK: Anda dapat mengirimkannya langsung sebagai parameter tingkat atas.
import os
from openai import OpenAI

client = OpenAI(
    # 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"),
    # Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL berbeda berdasarkan wilayah.
    # Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

reasoning_content = ""  # Menyimpan proses berpikir lengkap
answer_content = ""     # Menyimpan respons lengkap
is_answering = False   # Memeriksa apakah proses berpikir telah selesai dan respons dimulai
enable_thinking = True
# Buat permintaan chat completion
completion = client.chat.completions.create(
    model="qwen3.5-plus",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"
                    },
                },
                {"type": "text", "text": "How do I solve this problem?"},
            ],
        },
    ],
    stream=True,
    # Parameter enable_thinking mengaktifkan proses berpikir. Parameter thinking_budget menetapkan jumlah maksimum token untuk proses penalaran.
    # Untuk qwen3.5-plus, qwen3-vl-plus, dan qwen3-vl-flash, Anda dapat menggunakan enable_thinking untuk mengaktifkan atau menonaktifkan berpikir (qwen3.5-plus diaktifkan secara default). Untuk model dengan akhiran 'thinking', seperti qwen3-vl-235b-a22b-thinking, enable_thinking hanya dapat diatur ke true. Parameter ini tidak berlaku untuk model Qwen-VL lainnya.
    extra_body={
        'enable_thinking': enable_thinking
        },

    # Hapus komentar berikut untuk mengembalikan penggunaan token pada chunk terakhir
    # stream_options={
    #     "include_usage": True
    # }
)

if enable_thinking:
    print("\n" + "=" * 20 + "Thinking process" + "=" * 20 + "\n")

for chunk in completion:
    # Jika chunk.choices kosong, cetak penggunaan
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
    else:
        delta = chunk.choices[0].delta
        # Cetak proses berpikir
        if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
            print(delta.reasoning_content, end='', flush=True)
            reasoning_content += delta.reasoning_content
        else:
            # Mulai merespons
            if delta.content != "" and is_answering is False:
                print("\n" + "=" * 20 + "Full response" + "=" * 20 + "\n")
                is_answering = True
            # Cetak proses respons
            print(delta.content, end='', flush=True)
            answer_content += delta.content

# print("=" * 20 + "Full thinking process" + "=" * 20 + "\n")
# print(reasoning_content)
# print("=" * 20 + "Full response" + "=" * 20 + "\n")
# print(answer_content)

Batasi panjang proses berpikir

Gunakan parameter thinking_budget untuk membatasi panjang token proses berpikir. Jika melebihi batas, konten akan dipotong dan model segera menghasilkan jawaban akhir. Nilai default adalah panjang maksimum rantai-pikiran model. Untuk informasi lebih lanjut, lihat Daftar model.
Parameter thinking_budget didukung oleh Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL (mode berpikir), kimi-k2.5 (mode berpikir), dan kimi-k2.6 (mode berpikir).
  • Kompatibel dengan OpenAI
  • DashScope
thinking_budget adalah parameter non-standar OpenAI. Saat menggunakan OpenAI Python SDK, kirimkan melalui extra_body.
import os
from openai import OpenAI

client = OpenAI(
    # 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"),
    # Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL berbeda berdasarkan wilayah.
    # Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
)

reasoning_content = ""  # Menyimpan proses berpikir lengkap
answer_content = ""     # Menyimpan respons lengkap
is_answering = False   # Memeriksa apakah proses berpikir telah selesai dan respons dimulai
enable_thinking = True
# Buat permintaan chat completion
completion = client.chat.completions.create(
    model="qwen3.5-plus",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"
                    },
                },
                {"type": "text", "text": "How do I solve this problem?"},
            ],
        },
    ],
    stream=True,
    # Parameter enable_thinking mengaktifkan proses berpikir. Parameter thinking_budget menetapkan jumlah maksimum token untuk proses penalaran.
    # Untuk qwen3.5-plus, qwen3-vl-plus, dan qwen3-vl-flash, Anda dapat menggunakan enable_thinking untuk mengaktifkan atau menonaktifkan berpikir (qwen3.5-plus diaktifkan secara default). Untuk model dengan akhiran 'thinking', seperti qwen3-vl-235b-a22b-thinking, enable_thinking hanya dapat diatur ke true. Parameter ini tidak berlaku untuk model Qwen-VL lainnya.
    extra_body={
        'enable_thinking': enable_thinking,
        "thinking_budget": 81920},

    # Hapus komentar berikut untuk mengembalikan penggunaan token pada chunk terakhir
    # stream_options={
    #     "include_usage": True
    # }
)

if enable_thinking:
    print("\n" + "=" * 20 + "Thinking process" + "=" * 20 + "\n")

for chunk in completion:
    # Jika chunk.choices kosong, cetak penggunaan
    if not chunk.choices:
        print("\nUsage:")
        print(chunk.usage)
    else:
        delta = chunk.choices[0].delta
        # Cetak proses berpikir
        if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
            print(delta.reasoning_content, end='', flush=True)
            reasoning_content += delta.reasoning_content
        else:
            # Mulai merespons
            if delta.content != "" and is_answering is False:
                print("\n" + "=" * 20 + "Full response" + "=" * 20 + "\n")
                is_answering = True
            # Cetak proses respons
            print(delta.content, end='', flush=True)
            answer_content += delta.content

# print("=" * 20 + "Full thinking process" + "=" * 20 + "\n")
# print(reasoning_content)
# print("=" * 20 + "Full response" + "=" * 20 + "\n")
# print(answer_content)

Contoh lainnya

Model penalaran visual mendukung semua fitur pemahaman visual untuk skenario kompleks seperti:

Tagihan

Total biaya = (Token input × Harga per token input) + (Token output × Harga per token output).
  • Proses berpikir (reasoning_content) dikenakan biaya sebagai token output. Jika tidak ada output berpikir, harga mode non-berpikir berlaku.
  • Untuk perhitungan token gambar/video, lihat Pemahaman gambar dan video.

Referensi API

Untuk parameter input dan output, lihat Generasi Teks.

Kode error

Jika pemanggilan model gagal dan mengembalikan pesan error, lihat Kode error untuk penyelesaian.
Rencana Token (Team Edition)
Model playground
Statistik dan Pemantauan
Asset Center
Dukungan layanan