文档中心
 
全部产品
Search
  • 文档中心
  • Alibaba Cloud Model Studio
  • Panduan Pengguna (model)
  • Model multimodal
  • Penalaran visual

搜索本产品

  • 搜索本产品
  • 全部产品

    Alibaba Cloud Model Studio:Penalaran visual

    文档中心

    Alibaba Cloud Model Studio:Penalaran visual

    更新时间:Nov 11, 2025

    Model penalaran visual pertama-tama menghasilkan proses pemikirannya, lalu memberikan jawaban. Pendekatan ini menjadikannya cocok untuk tugas analisis visual kompleks, seperti menyelesaikan soal matematika, menganalisis data grafik, atau memahami video yang rumit.

    Contoh

    QVQ Logo
    Penalaran visual
    Komponen di atas hanya untuk tujuan demonstrasi dan tidak mengirim permintaan nyata.

    Model yang didukung

    Qwen3-VL

    • Model hybrid-thinking: seri qwen3-vl-plus, seri qwen3-vl-flash

    • 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: seri qvq-max, seri qvq-plus

    Cara menggunakan

    • Proses pemikiran: Alibaba Cloud Model Studio menyediakan dua jenis model penalaran visual: hybrid-thinking dan thinking-only.

      • Model hybrid-thinking: Anda dapat mengontrol perilaku pemikirannya menggunakan parameter enable_thinking:

        • Atur ke true untuk mengaktifkan pemikiran. Model akan terlebih dahulu menghasilkan proses pemikirannya lalu memberikan tanggapan akhir.

        • Atur ke false untuk menonaktifkan pemikiran. Model akan langsung menghasilkan tanggapan.

      • Model thinking-only: Model ini selalu berpikir sebelum memberikan tanggapan, dan perilaku ini tidak dapat dinonaktifkan.

    • Metode keluaran: Model penalaran visual mencakup proses pemikiran yang mendetail. Untuk menghindari timeout akibat tanggapan yang panjang, gunakan keluaran streaming.

      • Seri Qwen3-VL mendukung metode streaming dan non-streaming.

      • Seri QVQ hanya mendukung keluaran streaming.

    • Rekomendasi Prompt Sistem:

      • Untuk percakapan satu giliran atau sederhana: Untuk hasil inferensi terbaik, jangan atur System Message. Berikan instruksi, seperti pengaturan peran model dan persyaratan format keluaran, melalui User Message.

      • Untuk aplikasi kompleks seperti membangun agen atau mengimplementasikan pemanggilan alat: Gunakan System Message untuk menentukan peran, kemampuan, dan kerangka perilaku model guna memastikan stabilitas dan keandalan.

    Memulai

    Prasyarat

    • Anda telah mendapatkan kunci API dan mengonfigurasi kunci API sebagai variabel lingkungan.

    • Jika Anda memanggil model menggunakan SDK, Anda harus menginstal versi terbaru SDK. SDK DashScope Python harus versi 1.24.6 atau lebih baru, dan SDK DashScope Java harus versi 2.21.10 atau lebih baru.

    Contoh berikut menunjukkan cara memanggil model qvq-max untuk menyelesaikan soal matematika dalam citra dan mencetak proses pemikiran serta tanggapan akhir secara terpisah menggunakan keluaran streaming.

    Kompatibel dengan OpenAI

    Python

    from openai import OpenAI
    import os
    
    # Inisialisasi klien OpenAI
    client = OpenAI(
        # Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan kunci API untuk wilayah tersebut. Untuk mendapatkannya, lihat https://bailian.console.alibabacloud.com/?tab=model#/api-key
        # Jika variabel lingkungan belum dikonfigurasi, ganti ini dengan Kunci API Model Studio Anda: api_key="sk-xxx"
        api_key = os.getenv("DASHSCOPE_API_KEY"),
        # Jika Anda menggunakan model di wilayah China (Beijing), ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
        base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
    )
    
    reasoning_content = ""  # Menyimpan seluruh proses pemikiran
    answer_content = ""     # Menyimpan seluruh tanggapan
    is_answering = False   # Memeriksa apakah proses pemikiran telah selesai dan tanggapan telah dimulai
    
    # Buat permintaan chat completion
    completion = client.chat.completions.create(
        model="qvq-max",  # Contoh ini menggunakan qvq-max. Anda dapat menggantinya 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": "Bagaimana cara menyelesaikan soal ini?"},
                ],
            },
        ],
        stream=True,
        # Hapus komentar berikut untuk mengembalikan penggunaan token pada chunk terakhir
        # stream_options={
        #     "include_usage": True
        # }
    )
    
    print("\n" + "=" * 20 + "Proses pemikiran" + "=" * 20 + "\n")
    
    for chunk in completion:
        # Jika chunk.choices kosong, cetak penggunaan
        if not chunk.choices:
            print("\nPenggunaan:")
            print(chunk.usage)
        else:
            delta = chunk.choices[0].delta
            # Cetak proses pemikiran
            if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
                print(delta.reasoning_content, end='', flush=True)
                reasoning_content += delta.reasoning_content
            else:
                # Mulai memberikan tanggapan
                if delta.content != "" and is_answering is False:
                    print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
                    is_answering = True
                # Cetak proses tanggapan
                print(delta.content, end='', flush=True)
                answer_content += delta.content
    
    # print("=" * 20 + "Proses pemikiran lengkap" + "=" * 20 + "\n")
    # print(reasoning_content)
    # print("=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
    # print(answer_content)

    Node.js

    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. Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan kunci API untuk wilayah tersebut. Untuk mendapatkannya, lihat https://bailian.console.alibabacloud.com/?tab=model#/api-key
        // Jika Anda menggunakan model di wilayah China (Beijing), ganti baseURL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
        baseURL: 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1'
    });
    
    let reasoningContent = '';
    let answerContent = '';
    let isAnswering = false;
    
    let 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: "Selesaikan soal ini" },
        ]
    }]
    
    async function main() {
        try {
            const stream = await openai.chat.completions.create({
                model: 'qvq-max',
                messages: messages,
                stream: true
            });
    
            console.log('\n' + '='.repeat(20) + 'Proses pemikiran' + '='.repeat(20) + '\n');
    
            for await (const chunk of stream) {
                if (!chunk.choices?.length) {
                    console.log('\nPenggunaan:');
                    console.log(chunk.usage);
                    continue;
                }
    
                const delta = chunk.choices[0].delta;
    
                // Tangani proses pemikiran
                if (delta.reasoning_content) {
                    process.stdout.write(delta.reasoning_content);
                    reasoningContent += delta.reasoning_content;
                }
                // Tangani tanggapan resmi
                else if (delta.content) {
                    if (!isAnswering) {
                        console.log('\n' + '='.repeat(20) + 'Tanggapan lengkap' + '='.repeat(20) + '\n');
                        isAnswering = true;
                    }
                    process.stdout.write(delta.content);
                    answerContent += delta.content;
                }
            }
        } catch (error) {
            console.error('Error:', error);
        }
    }
    
    main();

    Klik untuk melihat proses pemikiran dan tanggapan lengkap

    ====================Proses pemikiran====================
    
    Oke, saya perlu menyelesaikan soal ini tentang luas permukaan dan volume prisma segi empat dan kubus. Pertama, saya perlu memeriksa soal dengan cermat untuk memastikan saya memahami persyaratan masing-masing bagian.
    
    Soal meminta menghitung luas permukaan dan volume dua bangun secara terpisah. Bangun pertama adalah prisma segi empat, dan yang kedua adalah kubus. Satuan semuanya dalam sentimeter, dan setiap soal bernilai 6 poin, total 12 poin. Ini tampak seperti soal pekerjaan rumah matematika, mungkin dari geometri sekolah dasar atau menengah.
    
    Pertama, saya perlu mengingat rumus luas permukaan dan volume prisma segi empat dan kubus. Untuk prisma segi empat, rumus luas permukaan adalah: \( 2(ab + bc + ac) \), dengan a, b, dan c masing-masing adalah panjang, lebar, dan tinggi. Volumenya adalah \( abc \). Untuk kubus, karena semua sisi sama panjang, luas permukaannya adalah \( 6a^2 \), dan volumenya adalah \( a^3 \).
    
    Sekarang, mari kita lihat bangun pertama, prisma segi empat dengan dimensi panjang 4 cm, lebar 3 cm, dan tinggi 2 cm. Saya perlu menghitung luas permukaannya terlebih dahulu. Masukkan nilai ke dalam rumus:
    
    Luas Permukaan = \( 2(4×3 + 3×2 + 4×2) \)
            = \( 2(12 + 6 + 8) \)
            = \( 2×26 \)
            = 52 cm²
    
    Selanjutnya adalah volume, masukkan lagi nilainya:
    
    Volume = \( 4×3×2 \)
          = 24 cm³
    
    Kemudian, untuk bangun kedua, kubus dengan panjang sisi 3 cm. Luas permukaannya dihitung sebagai berikut:
    
    Luas Permukaan = \( 6×3^2 \)
            = \( 6×9 \)
            = 54 cm²
    
    Dan volumenya adalah:
    
    Volume = \( 3^3 \)
          = 27 cm³
    
    Namun, saya perlu memeriksa kemungkinan kesalahan. Misalnya, dalam menghitung luas permukaan prisma segi empat, apakah saya salah menghitung luas salah satu sisi? Atau apakah saya melakukan kesalahan perkalian?
    
    Misalnya, tiga sisi berbeda dari prisma segi empat adalah 4×3, 3×2, dan 4×2. Luas sisi-sisi tersebut adalah 12, 6, dan 8. Menjumlahkannya menghasilkan 26, dan mengalikannya dengan 2 menghasilkan 52, yang seharusnya benar. Untuk volume, 4×3=12, lalu dikalikan 2 menjadi 24, juga benar.
    
    Untuk kubus, setiap sisi adalah 3×3=9, dan dengan enam sisi, totalnya 54. Volumenya adalah 3×3×3=27, juga benar.
    
    Jadi jawaban akhirnya seharusnya:
    
    1. Luas permukaan prisma segi empat adalah 52 sentimeter persegi, dan volumenya adalah 24 sentimeter kubik.
    2. Luas permukaan kubus adalah 54 sentimeter persegi, dan volumenya adalah 27 sentimeter kubik.
    
    Namun, saya perlu memastikan tidak ada informasi tersembunyi atau jebakan dalam gambar soal. Misalnya, terkadang soal mungkin menyertakan garis putus-putus atau area yang diarsir, tetapi dalam kasus ini, prisma segi empat dan kubus dalam gambar tampak standar, tanpa tanda khusus. Oleh karena itu, saya yakin perhitungan saya benar.
    
    ====================Tanggapan lengkap====================
    
    ### Solusi:
    
    **1. Prisma Segi Empat (panjang 4 cm, lebar 3 cm, tinggi 2 cm)**
    - **Luas Permukaan**:
      \[
      2 \times (4 \times 3 + 3 \times 2 + 4 \times 2) = 2 \times (12 + 6 + 8) = 2 \times 26 = 52 \, \text{cm}^2
      \]
    - **Volume**:
      \[
      4 \times 3 \times 2 = 24 \, \text{cm}^3
      \]
    
    **2. Kubus (panjang sisi 3 cm)**
    - **Luas Permukaan**:
      \[
      6 \times 3^2 = 6 \times 9 = 54 \, \text{cm}^2
      \]
    - **Volume**:
      \[
      3^3 = 27 \, \text{cm}^3
      \]
    
    **Jawaban:**
    1. Luas permukaan prisma segi empat adalah \(52 \, \text{cm}^2\), dan volumenya adalah \(24 \, \text{cm}^3\).
    2. Luas permukaan kubus adalah \(54 \, \text{cm}^2\), dan volumenya adalah \(27 \, \text{cm}^3\).
    

    HTTP

    # ======= PENTING =======
    # Jika Anda menggunakan model di wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
    # Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan kunci API untuk wilayah tersebut. Untuk mendapatkannya, lihat https://bailian.console.alibabacloud.com/?tab=model#/api-key
    # === Hapus komentar ini sebelum eksekusi ===
    
    curl --location 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{
        "model": "qvq-max",
        "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": "Selesaikan soal ini"
            }
          ]
        }
      ],
        "stream":true,
        "stream_options":{"include_usage":true}
    }'

    Klik untuk melihat proses pemikiran dan tanggapan lengkap

    data: {"choices":[{"delta":{"content":null,"role":"assistant","reasoning_content":""},"index":0,"logprobs":null,"finish_reason":null}],"object":"chat.completion.chunk","usage":null,"created":1742983020,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-ab4f3963-2c2a-9291-bda2-65d5b325f435"}
    
    data: {"choices":[{"finish_reason":null,"delta":{"content":null,"reasoning_content":"Oke"},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983020,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-ab4f3963-2c2a-9291-bda2-65d5b325f435"}
    
    data: {"choices":[{"delta":{"content":null,"reasoning_content":","},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983020,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-ab4f3963-2c2a-9291-bda2-65d5b325f435"}
    
    data: {"choices":[{"delta":{"content":null,"reasoning_content":" saya"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983020,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-ab4f3963-2c2a-9291-bda2-65d5b325f435"}
    
    data: {"choices":[{"delta":{"content":null,"reasoning_content":" perlu"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983020,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-ab4f3963-2c2a-9291-bda2-65d5b325f435"}
    
    data: {"choices":[{"delta":{"content":null,"reasoning_content":" menyelesaikan"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983020,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-ab4f3963-2c2a-9291-bda2-65d5b325f435"}
    .....
    data: {"choices":[{"delta":{"content":"kubik"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983095,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-23d30959-42b4-9f24-b7ab-1bb0f72ce265"}
    
    data: {"choices":[{"delta":{"content":" sentimeter"},"finish_reason":null,"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983095,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-23d30959-42b4-9f24-b7ab-1bb0f72ce265"}
    
    data: {"choices":[{"finish_reason":"stop","delta":{"content":"","reasoning_content":null},"index":0,"logprobs":null}],"object":"chat.completion.chunk","usage":null,"created":1742983095,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-23d30959-42b4-9f24-b7ab-1bb0f72ce265"}
    
    data: {"choices":[],"object":"chat.completion.chunk","usage":{"prompt_tokens":544,"completion_tokens":590,"total_tokens":1134,"completion_tokens_details":{"text_tokens":590},"prompt_tokens_details":{"text_tokens":24,"image_tokens":520}},"created":1742983095,"system_fingerprint":null,"model":"qvq-max","id":"chatcmpl-23d30959-42b4-9f24-b7ab-1bb0f72ce265"}
    
    data: [DONE]

    DashScope

    Catatan

    Saat memanggil model QVQ menggunakan DashScope:

    • Parameter incremental_output secara default bernilai true dan tidak dapat diatur ke false. Hanya keluaran streaming inkremental yang didukung.

    • Parameter result_format secara default bernilai "message" dan tidak dapat diatur ke "text".

    Python

    import os
    import dashscope
    from dashscope import MultiModalConversation
    # Jika Anda menggunakan model di wilayah China (Beijing), ganti base_http_api_url dengan: https://dashscope.aliyuncs.com/api/v1
    dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
    messages = [
        {
            "role": "user",
            "content": [
                {"image": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"},
                {"text": "Bagaimana cara menyelesaikan soal ini?"}
            ]
        }
    ]
    
    response = MultiModalConversation.call(
        # Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan kunci API untuk wilayah tersebut. Untuk mendapatkannya, lihat https://bailian.console.alibabacloud.com/?tab=model#/api-key
        # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx",
        api_key=os.getenv('DASHSCOPE_API_KEY'),
        model="qvq-max",  # Contoh ini menggunakan qvq-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan.
        messages=messages,
        stream=True,
    )
    
    # Menyimpan seluruh proses pemikiran
    reasoning_content = ""
    # Menyimpan seluruh tanggapan
    answer_content = ""
    # Memeriksa apakah proses pemikiran telah selesai dan tanggapan telah dimulai
    is_answering = False
    
    print("=" * 20 + "Proses pemikiran" + "=" * 20)
    
    for chunk in response:
        # Jika baik proses pemikiran maupun tanggapan kosong, abaikan
        message = chunk.output.choices[0].message
        reasoning_content_chunk = message.get("reasoning_content", None)
        if (chunk.output.choices[0].message.content == [] and
            reasoning_content_chunk == ""):
            pass
        else:
            # Jika saat ini sedang dalam proses pemikiran
            if reasoning_content_chunk != None and chunk.output.choices[0].message.content == []:
                print(chunk.output.choices[0].message.reasoning_content, end="")
                reasoning_content += chunk.output.choices[0].message.reasoning_content
            # Jika saat ini sedang memberikan tanggapan
            elif chunk.output.choices[0].message.content != []:
                if not is_answering:
                    print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20)
                    is_answering = True
                print(chunk.output.choices[0].message.content[0]["text"], end="")
                answer_content += chunk.output.choices[0].message.content[0]["text"]
    
    # Untuk mencetak proses pemikiran dan tanggapan lengkap, hapus komentar dan jalankan kode berikut
    # print("=" * 20 + "Proses pemikiran lengkap" + "=" * 20 + "\n")
    # print(f"{reasoning_content}")
    # print("=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
    # print(f"{answer_content}")

    Klik untuk melihat proses pemikiran dan tanggapan lengkap

    ====================Proses pemikiran====================
    Oke, saya perlu menyelesaikan soal ini tentang luas permukaan dan volume prisma segi empat dan kubus. Pertama, saya perlu memeriksa soal dengan cermat untuk memastikan saya memahami persyaratan masing-masing bagian.
    
    Soal meminta menghitung luas permukaan dan volume dua bangun secara terpisah. Bangun pertama adalah prisma segi empat, dan yang kedua adalah kubus. Satuan semuanya dalam sentimeter, dan setiap soal bernilai 6 poin, total 12 poin. Ini tampak seperti soal pekerjaan rumah matematika, mungkin dari geometri sekolah dasar atau menengah.
    
    Pertama, saya perlu mengingat rumus luas permukaan dan volume prisma segi empat dan kubus. Untuk prisma segi empat, rumus luas permukaan adalah: \( Luas = 2(ab + bc + ac) \), dengan a, b, dan c masing-masing adalah panjang, lebar, dan tinggi. Volumenya adalah: \( Volume = abc \). Untuk kubus, karena semua sisi sama panjang, luas permukaannya adalah: \( Luas = 6a^2 \), dan volumenya adalah: \( Volume = a^3 \).
    
    Sekarang, mari kita lihat bangun pertama, prisma segi empat dengan dimensi panjang 4 cm, lebar 3 cm, dan tinggi 2 cm. Saya perlu memastikan bahwa nilai-nilai ini sesuai dengan variabel dalam rumus. Biasanya, tiga dimensi prisma segi empat dapat diberi nama secara arbitrer, tetapi untuk kenyamanan, kita dapat menganggap sisi terpanjang sebagai panjang, yang menengah sebagai lebar, dan yang terpendek sebagai tinggi. Namun, dalam kasus ini, soal telah dengan jelas memberi label panjang setiap sisi, sehingga saya dapat menggunakannya secara langsung.
    
    Selanjutnya, saya akan menghitung luas permukaan prisma segi empat pertama. Masukkan nilai ke dalam rumus:
    
    \( Luas = 2(4×3 + 3×2 + 4×2) \)
    
    Pertama, hitung setiap suku di dalam tanda kurung:
    
    \( 4×3 = 12 \)
    \( 3×2 = 6 \)
    \( 4×2 = 8 \)
    
    Kemudian, jumlahkan hasil-hasil tersebut:
    
    \( 12 + 6 + 8 = 26 \)
    
    Dan kalikan dengan 2:
    
    \( 2 × 26 = 52 \)
    
    Jadi, luas permukaan prisma segi empat pertama adalah 52 sentimeter persegi.
    
    Selanjutnya, hitung volumenya:
    
    \( Volume = 4 × 3 × 2 = 24 \)
    
    Jadi, volumenya adalah 24 sentimeter kubik.
    
    Sekarang, mari kita lihat bangun kedua, kubus dengan semua sisi sepanjang 3 cm. Oleh karena itu, perhitungan luas permukaannya adalah:
    
    \( Luas = 6 × 3^2 = 6 × 9 = 54 \)
    
    Dan volumenya adalah:
    
    \( Volume = 3^3 = 27 \)
    
    Jadi, luas permukaan kubus adalah 54 sentimeter persegi, dan volumenya adalah 27 sentimeter kubik.
    
    Saat melakukan perhitungan, saya perlu memperhatikan konsistensi satuan. Satuan yang diberikan dalam soal adalah sentimeter, sehingga hasil akhir harus dalam sentimeter persegi dan sentimeter kubik. Juga, saya perlu memastikan tidak ada kesalahan perhitungan, seperti urutan perkalian dan penjumlahan, terutama saat menghitung luas permukaan prisma segi empat, di mana mudah untuk melewatkan suatu suku atau melakukan kesalahan perhitungan.
    
    Selain itu, saya akan memeriksa kemungkinan kesalahpahaman lainnya, seperti apakah panjang, lebar, dan tinggi diidentifikasi dengan benar. Tetapi dalam soal ini, karena panjang setiap sisi telah diberi label dengan jelas, hal ini seharusnya tidak menjadi masalah. Juga, untuk kubus, semua sisi sama panjang, sehingga tidak ada kompleksitas dari sisi yang berbeda panjang.
    
    Secara ringkas, luas permukaan prisma segi empat pertama adalah 52 sentimeter persegi, dan volumenya adalah 24 sentimeter kubik. Luas permukaan kubus kedua adalah 54 sentimeter persegi, dan volumenya adalah 27 sentimeter kubik.
    
    ====================Tanggapan lengkap====================
    ### Solusi:
    
    **1. Prisma Segi Empat (panjang 4 cm, lebar 3 cm, tinggi 2 cm)**
    
    - **Luas Permukaan**:
      \[
      Luas = 2(ab + bc + ac) = 2(4×3 + 3×2 + 4×2) = 2(12 + 6 + 8) = 2×26 = 52 \, \text{cm}^2
      \]
    
    - **Volume**:
      \[
      Volume = abc = 4×3×2 = 24 \, \text{cm}^3
      \]
    
    **2. Kubus (panjang sisi 3 cm)**
    
    - **Luas Permukaan**:
      \[
      Luas = 6a^2 = 6×3^2 = 6×9 = 54 \, \text{cm}^2
      \]
    
    - **Volume**:
      \[
      Volume = a^3 = 3^3 = 27 \, \text{cm}^3
      \]
    
    **Jawaban:**
    1. Luas permukaan prisma segi empat adalah \(52 \, \text{cm}^2\), dan volumenya adalah \(24 \, \text{cm}^3\).
    2. Luas permukaan kubus adalah \(54 \, \text{cm}^2\), dan volumenya adalah \(27 \, \text{cm}^3\).
    

    Java

    // Versi SDK DashScope >= 2.19.0
    import java.util.*;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import io.reactivex.Flowable;
    
    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.exception.UploadFileException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import java.lang.System;
    import com.alibaba.dashscope.utils.Constants;
    
    public class Main {
        static {
            // Jika Anda menggunakan model di wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
            Constants.baseHttpApiUrl="https://dashscope-intl.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 handleGenerationResult(MultiModalConversationResult message) {
            String re = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
            String reasoning = Objects.isNull(re)?"":re; // Nilai default
    
            List<Map<String, Object>> content = message.getOutput().getChoices().get(0).getMessage().getContent();
            if (!reasoning.isEmpty()) {
                reasoningContent.append(reasoning);
                if (isFirstPrint) {
                    System.out.println("====================Proses pemikiran====================");
                    isFirstPrint = false;
                }
                System.out.print(reasoning);
            }
    
            if (Objects.nonNull(content) && !content.isEmpty()) {
                Object text = content.get(0).get("text");
                finalContent.append(content.get(0).get("text"));
                if (!isFirstPrint) {
                    System.out.println("\n====================Tanggapan lengkap====================");
                    isFirstPrint = true;
                }
                System.out.print(text);
            }
        }
        public static MultiModalConversationParam buildMultiModalConversationParam(MultiModalMessage Msg)  {
            return MultiModalConversationParam.builder()
                    // Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan kunci API untuk wilayah tersebut. Untuk mendapatkannya, lihat https://bailian.console.alibabacloud.com/?tab=model#/api-key
                    // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    // Contoh ini menggunakan qvq-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan.
                    .model("qvq-max")
                    .messages(Arrays.asList(Msg))
                    .incrementalOutput(true)
                    .build();
        }
    
        public static void streamCallWithMessage(MultiModalConversation conv, MultiModalMessage Msg)
                throws NoApiKeyException, ApiException, InputRequiredException, UploadFileException {
            MultiModalConversationParam param = buildMultiModalConversationParam(Msg);
            Flowable<MultiModalConversationResult> result = conv.streamCall(param);
            result.blockingForEach(message -> {
                handleGenerationResult(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("image", "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"),
                                Collections.singletonMap("text", "Selesaikan soal ini")))
                        .build();
                streamCallWithMessage(conv, userMsg);
    //             Cetak hasil akhir
    //            if (reasoningContent.length() > 0) {
    //                System.out.println("\n====================Tanggapan lengkap====================");
    //                System.out.println(finalContent.toString());
    //            }
            } catch (ApiException | NoApiKeyException | UploadFileException | InputRequiredException e) {
                logger.error("Terjadi pengecualian: {}", e.getMessage());
            }
            System.exit(0);
        }
    }

    Klik untuk melihat proses pemikiran dan tanggapan lengkap

    ====================Proses pemikiran====================
    Hmm, saya perlu menyelesaikan soal ini, yaitu menghitung luas permukaan dan volume dua bangun. Pertama, saya perlu memeriksa dengan cermat citra yang disediakan dalam soal. Bangun pertama adalah prisma segi empat, dan yang kedua adalah kubus. Soal meminta menghitung luas permukaan dan volumenya secara terpisah, dengan satuan dalam sentimeter.
    
    Mari kita lihat bangun pertama, prisma segi empat. Dimensinya seharusnya panjang, lebar, dan tinggi. Menurut label pada citra, panjangnya 4 cm, lebarnya 3 cm, dan tingginya 2 cm. Benar? Saya ingat rumus luas permukaan prisma segi empat adalah 2 kali (panjang × lebar + panjang × tinggi + lebar × tinggi). Dan volumenya adalah panjang kali lebar kali tinggi. Biar saya periksa lagi apakah rumusnya benar. Ya, luas permukaan memang jumlah luas keenam sisinya, dan karena sisi yang berhadapan memiliki luas yang sama, rumus ini benar.
    
    Jadi, dengan memasukkan nilainya, luas permukaan seharusnya 2×(4×3 + 4×2 + 3×2). Pertama, hitung suku-suku di dalam tanda kurung: 4×3=12, 4×2=8, 3×2=6. Menjumlahkannya menghasilkan 12+8+6=26. Lalu mengalikannya dengan 2 menghasilkan 52 sentimeter persegi. Untuk volumenya, 4×3×2=24 sentimeter kubik. Bagian ini seharusnya benar.
    
    Selanjutnya adalah bangun kedua, kubus. Semua sisi panjangnya 3 cm. Luas permukaan kubus adalah 6 kali kuadrat panjang sisinya, karena memiliki enam sisi persegi yang identik. Volumenya adalah pangkat tiga panjang sisinya. Jadi luas permukaannya seharusnya 6×3²=6×9=54 sentimeter persegi. Volumenya adalah 3³=27 sentimeter kubik. Saya perlu memperhatikan satuan di sini. Soal menyatakan satuan adalah cm, jadi hasilnya harus ditulis dalam sentimeter persegi dan sentimeter kubik.
    
    Namun, saya harus memeriksa kembali apakah saya membuat kesalahan. Misalnya, apakah sisi-sisi prisma segi empat diidentifikasi dengan benar? Dalam citra, panjang prisma segi empat memang tampak lebih panjang daripada lebarnya, jadi panjang 4, lebar 3, dan tinggi 2. Untuk kubus, ketiga dimensinya 3, yang tidak masalah. Apakah saya melakukan kesalahan perhitungan? Misalnya, dalam perhitungan luas permukaan prisma segi empat, apakah hasil perkaliannya benar, dan apakah penjumlahannya benar? Misalnya, 4×3=12, 4×2=8, 3×2=6, dijumlahkan menjadi 26, dan dikalikan 2 menjadi 52, yang benar. Volume 4×3×2=24 juga benar. Untuk kubus, luas permukaan 6×9=54 dan volume 27 juga benar.
    
    Satu hal yang perlu diperhatikan adalah satuan. Soal dengan jelas menyatakan satuan adalah cm, jadi saya harus menambahkan simbol satuan yang benar pada jawaban. Juga, soal menyatakan bahwa setiap soal bernilai 6 poin, total 12 poin, tetapi hanya ada dua soal, jadi masing-masing bernilai 6 poin. Ini tidak memengaruhi proses perhitungan, tetapi mengingatkan untuk tidak melewatkan langkah atau satuan apa pun.
    
    Secara ringkas, luas permukaan bangun pertama adalah 52 sentimeter persegi, dan volumenya adalah 24 sentimeter kubik; luas permukaan bangun kedua adalah 54 sentimeter persegi, dan volumenya adalah 27 sentimeter kubik. Itu saja.
    
    ====================Tanggapan lengkap====================
    **Jawaban:**
    
    1. **Prisma Segi Empat**  
       - **Luas Permukaan**: \(2 \times (4 \times 3 + 4 \times 2 + 3 \times 2) = 2 \times 26 = 52\) sentimeter persegi  
       - **Volume**: \(4 \times 3 \times 2 = 24\) sentimeter kubik  
    
    2. **Kubus**  
       - **Luas Permukaan**: \(6 \times 3^2 = 6 \times 9 = 54\) sentimeter persegi  
       - **Volume**: \(3^3 = 27\) sentimeter kubik  
    
    **Penjelasan:**  
    - Luas permukaan prisma segi empat diperoleh dengan menghitung total luas keenam sisinya, dan volumenya adalah hasil kali panjang, lebar, dan tingginya.  
    - Luas permukaan kubus adalah jumlah luas keenam sisi persegi yang identik, dan volumenya adalah pangkat tiga panjang sisinya.  
    - Semua satuan dalam sentimeter, sesuai yang diminta soal.

    HTTP

    curl

    # ======= PENTING =======
    # Jika Anda menggunakan model di wilayah China (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation 
    # Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan kunci API untuk wilayah tersebut. Untuk mendapatkannya, lihat https://bailian.console.alibabacloud.com/?tab=model#/api-key
    # === Hapus komentar ini sebelum eksekusi ===
    
    curl -X POST https://dashscope-intl.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": "qvq-max",
        "input":{
            "messages":[
                {
                    "role": "user",
                    "content": [
                        {"image": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"},
                        {"text": "Selesaikan soal ini"}
                    ]
                }
            ]
        }
    }'

    Klik untuk melihat proses pemikiran dan tanggapan lengkap

    id:1
    event:result
    :HTTP_STATUS/200
    data:{"output":{"choices":[{"message":{"content":[],"reasoning_content":"Oke","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":547,"input_tokens_details":{"image_tokens":520,"text_tokens":24},"output_tokens":3,"input_tokens":544,"output_tokens_details":{"text_tokens":3},"image_tokens":520},"request_id":"f361ae45-fbef-9387-9f35-1269780e0864"}
    
    id:2
    event:result
    :HTTP_STATUS/200
    data:{"output":{"choices":[{"message":{"content":[],"reasoning_content":",","role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":548,"input_tokens_details":{"image_tokens":520,"text_tokens":24},"output_tokens":4,"input_tokens":544,"output_tokens_details":{"text_tokens":4},"image_tokens":520},"request_id":"f361ae45-fbef-9387-9f35-1269780e0864"}
    
    id:3
    event:result
    :HTTP_STATUS/200
    data:{"output":{"choices":[{"message":{"content":[],"reasoning_content":" saya"},"finish_reason":"null"}]},"usage":{"total_tokens":549,"input_tokens_details":{"image_tokens":520,"text_tokens":24},"output_tokens":5,"input_tokens":544,"output_tokens_details":{"text_tokens":5},"image_tokens":520},"request_id":"f361ae45-fbef-9387-9f35-1269780e0864"}
    .....
    id:566
    event:result
    :HTTP_STATUS/200
    data:{"output":{"choices":[{"message":{"content":[{"text":"kubik"}],"role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":1132,"input_tokens_details":{"image_tokens":520,"text_tokens":24},"output_tokens":588,"input_tokens":544,"output_tokens_details":{"text_tokens":588},"image_tokens":520},"request_id":"758b0356-653b-98ac-b4d3-f812437ba1ec"}
    
    id:567
    event:result
    :HTTP_STATUS/200
    data:{"output":{"choices":[{"message":{"content":[{"text":" sentimeter"}],"role":"assistant"},"finish_reason":"null"}]},"usage":{"total_tokens":1133,"input_tokens_details":{"image_tokens":520,"text_tokens":24},"output_tokens":589,"input_tokens":544,"output_tokens_details":{"text_tokens":589},"image_tokens":520},"request_id":"758b0356-653b-98ac-b4d3-f812437ba1ec"}
    
    id:568
    event:result
    :HTTP_STATUS/200
    data:{"output":{"choices":[{"message":{"content":[],"role":"assistant"},"finish_reason":"stop"}]},"usage":{"total_tokens":1134,"input_tokens_details":{"image_tokens":520,"text_tokens":24},"output_tokens":590,"input_tokens":544,"output_tokens_details":{"text_tokens":590},"image_tokens":520},"request_id":"758b0356-653b-98ac-b4d3-f812437ba1ec"}

    Kemampuan inti

    Mengaktifkan atau menonaktifkan proses pemikiran

    Untuk skenario yang memerlukan proses penalaran mendetail, seperti menyelesaikan soal atau menganalisis laporan, Anda dapat mengaktifkan proses pemikiran menggunakan parameter enable_thinking. Contoh berikut menunjukkan cara mengaktifkan proses pemikiran.

    Penting

    Parameter enable_thinking hanya didukung oleh model seri qwen3-vl-plus dan qwen3-vl-flash.

    Kompatibel dengan OpenAI

    Parameter enable_thinking dan thinking_budget bukan parameter standar OpenAI. Metode untuk meneruskannya bervariasi di SDK untuk bahasa pemrograman berbeda:

    • SDK Python: Anda harus meneruskannya melalui kamus extra_body.

    • SDK Node.js: Anda dapat meneruskannya langsung sebagai parameter tingkat atas.

    import os
    from openai import OpenAI
    
    client = OpenAI(
        # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
        base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
    )
    
    reasoning_content = ""  # Menyimpan seluruh proses pemikiran
    answer_content = ""     # Menyimpan seluruh tanggapan
    is_answering = False   # Memeriksa apakah proses pemikiran telah selesai dan tanggapan telah dimulai
    enable_thinking = True
    # Buat permintaan chat completion
    completion = client.chat.completions.create(
        model="qwen3-vl-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": "Bagaimana cara menyelesaikan soal ini?"},
                ],
            },
        ],
        stream=True,
        # Parameter enable_thinking mengaktifkan proses pemikiran.
        # Untuk qwen3-vl-plus dan qwen3-vl-flash, Anda dapat menggunakan enable_thinking untuk mengaktifkan atau menonaktifkan pemikiran. 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 + "Proses pemikiran" + "=" * 20 + "\n")
    
    for chunk in completion:
        # Jika chunk.choices kosong, cetak penggunaan
        if not chunk.choices:
            print("\nPenggunaan:")
            print(chunk.usage)
        else:
            delta = chunk.choices[0].delta
            # Cetak proses pemikiran
            if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
                print(delta.reasoning_content, end='', flush=True)
                reasoning_content += delta.reasoning_content
            else:
                # Mulai memberikan tanggapan
                if delta.content != "" and is_answering is False:
                    print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
                    is_answering = True
                # Cetak proses tanggapan
                print(delta.content, end='', flush=True)
                answer_content += delta.content
    
    # print("=" * 20 + "Proses pemikiran lengkap" + "=" * 20 + "\n")
    # print(reasoning_content)
    # print("=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
    # print(answer_content)
    import OpenAI from "openai";
    
    // Inisialisasi klien OpenAI
    const openai = new OpenAI({
      // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
      // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx"
      apiKey: process.env.DASHSCOPE_API_KEY,
      // Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/compatible-mode/v1
      baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
    });
    
    let reasoningContent = '';
    let answerContent = '';
    let isAnswering = false;
    let enableThinking = true;
    
    let 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: "Selesaikan soal ini" },
        ]
    }]
    
    async function main() {
        try {
            const stream = await openai.chat.completions.create({
                model: 'qwen3-vl-plus',
                messages: messages,
                stream: true,
              // Catatan: Di SDK Node.js, parameter non-standar seperti enableThinking diteruskan sebagai properti tingkat atas dan tidak perlu dimasukkan ke dalam extra_body.
              enable_thinking: enableThinking
    
            });
    
            if (enableThinking){console.log('\n' + '='.repeat(20) + 'Proses pemikiran' + '='.repeat(20) + '\n');}
    
            for await (const chunk of stream) {
                if (!chunk.choices?.length) {
                    console.log('\nPenggunaan:');
                    console.log(chunk.usage);
                    continue;
                }
    
                const delta = chunk.choices[0].delta;
    
                // Tangani proses pemikiran
                if (delta.reasoning_content) {
                    process.stdout.write(delta.reasoning_content);
                    reasoningContent += delta.reasoning_content;
                }
                // Tangani tanggapan resmi
                else if (delta.content) {
                    if (!isAnswering) {
                        console.log('\n' + '='.repeat(20) + 'Tanggapan lengkap' + '='.repeat(20) + '\n');
                        isAnswering = true;
                    }
                    process.stdout.write(delta.content);
                    answerContent += delta.content;
                }
            }
        } catch (error) {
            console.error('Error:', error);
        }
    }
    
    main();
    # ======= PENTING =======
    # Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # === Hapus komentar ini sebelum eksekusi ===
    
    curl --location 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{
        "model": "qwen3-vl-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": "Selesaikan soal ini"
            }
          ]
        }
      ],
        "stream":true,
        "stream_options":{"include_usage":true},
        "enable_thinking": true
    }'

    DashScope

    import os
    import dashscope
    from dashscope import MultiModalConversation
    
    # Jika Anda menggunakan model di wilayah Singapura, hapus komentar baris berikut
    # dashscope.base_http_api_url = "https://dashscope-intl.aliyuncs.com/api/v1"
    
    enable_thinking=True
    
    messages = [
        {
            "role": "user",
            "content": [
                {"image": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"},
                {"text": "Bagaimana cara menyelesaikan soal ini?"}
            ]
        }
    ]
    
    response = MultiModalConversation.call(
        # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx",
        # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
        api_key=os.getenv('DASHSCOPE_API_KEY'),
        model="qwen3-vl-plus",  
        messages=messages,
        stream=True,
        # Parameter enable_thinking mengaktifkan proses pemikiran.
        # Untuk qwen3-vl-plus dan qwen3-vl-flash, Anda dapat menggunakan enable_thinking untuk mengaktifkan atau menonaktifkan pemikiran. 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.
        enable_thinking=enable_thinking
    
    )
    
    # Menyimpan seluruh proses pemikiran
    reasoning_content = ""
    # Menyimpan seluruh tanggapan
    answer_content = ""
    # Memeriksa apakah proses pemikiran telah selesai dan tanggapan telah dimulai
    is_answering = False
    
    if enable_thinking:
        print("=" * 20 + "Proses pemikiran" + "=" * 20)
    
    for chunk in response:
        # Jika baik proses pemikiran maupun tanggapan kosong, abaikan
        message = chunk.output.choices[0].message
        reasoning_content_chunk = message.get("reasoning_content", None)
        if (chunk.output.choices[0].message.content == [] and
            reasoning_content_chunk == ""):
            pass
        else:
            # Jika saat ini sedang dalam proses pemikiran
            if reasoning_content_chunk != None and chunk.output.choices[0].message.content == []:
                print(chunk.output.choices[0].message.reasoning_content, end="")
                reasoning_content += chunk.output.choices[0].message.reasoning_content
            # Jika saat ini sedang memberikan tanggapan
            elif chunk.output.choices[0].message.content != []:
                if not is_answering:
                    print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20)
                    is_answering = True
                print(chunk.output.choices[0].message.content[0]["text"], end="")
                answer_content += chunk.output.choices[0].message.content[0]["text"]
    
    # Untuk mencetak proses pemikiran dan tanggapan lengkap, hapus komentar dan jalankan kode berikut
    # print("=" * 20 + "Proses pemikiran lengkap" + "=" * 20 + "\n")
    # print(f"{reasoning_content}")
    # print("=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
    # print(f"{answer_content}")
    // Versi SDK DashScope >= 2.21.10
    import java.util.*;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import io.reactivex.Flowable;
    
    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.exception.UploadFileException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import java.lang.System;
    import com.alibaba.dashscope.utils.Constants;
    
    public class Main {
    
        static {Constants.baseHttpApiUrl="https://dashscope-intl.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 handleGenerationResult(MultiModalConversationResult message) {
            String re = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
            String reasoning = Objects.isNull(re)?"":re; // Nilai default
    
            List<Map<String, Object>> content = message.getOutput().getChoices().get(0).getMessage().getContent();
            if (!reasoning.isEmpty()) {
                reasoningContent.append(reasoning);
                if (isFirstPrint) {
                    System.out.println("====================Proses pemikiran====================");
                    isFirstPrint = false;
                }
                System.out.print(reasoning);
            }
    
            if (Objects.nonNull(content) && !content.isEmpty()) {
                Object text = content.get(0).get("text");
                finalContent.append(content.get(0).get("text"));
                if (!isFirstPrint) {
                    System.out.println("\n====================Tanggapan lengkap====================");
                    isFirstPrint = true;
                }
                System.out.print(text);
            }
        }
        public static MultiModalConversationParam buildMultiModalConversationParam(MultiModalMessage Msg)  {
            return MultiModalConversationParam.builder()
                    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                    // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model("qwen3-vl-plus")
                    .messages(Arrays.asList(Msg))
                    .enableThinking(true)
                    .incrementalOutput(true)
                    .build();
        }
    
        public static void streamCallWithMessage(MultiModalConversation conv, MultiModalMessage Msg)
                throws NoApiKeyException, ApiException, InputRequiredException, UploadFileException {
            MultiModalConversationParam param = buildMultiModalConversationParam(Msg);
            Flowable<MultiModalConversationResult> result = conv.streamCall(param);
            result.blockingForEach(message -> {
                handleGenerationResult(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("image", "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"),
                                Collections.singletonMap("text", "Selesaikan soal ini")))
                        .build();
                streamCallWithMessage(conv, userMsg);
    //             Cetak hasil akhir
    //            if (reasoningContent.length() > 0) {
    //                System.out.println("\n====================Tanggapan lengkap====================");
    //                System.out.println(finalContent.toString());
    //            }
            } catch (ApiException | NoApiKeyException | UploadFileException | InputRequiredException e) {
                logger.error("Terjadi pengecualian: {}", e.getMessage());
            }
            System.exit(0);
        }
    }
    # ======= PENTING =======
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
    # === Hapus komentar ini sebelum eksekusi ===
    
    curl -X POST https://dashscope-intl.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-vl-plus",
        "input":{
            "messages":[
                {
                    "role": "user",
                    "content": [
                        {"image": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"},
                        {"text": "Selesaikan soal ini"}
                    ]
                }
            ]
        },
        "parameters":{
            "enable_thinking": true,
            "incremental_output": true
        }
    }'

    Batasi panjang proses pemikiran

    Untuk mencegah model penalaran visual menghasilkan proses pemikiran yang terlalu panjang, Anda dapat menggunakan parameter thinking_budget untuk membatasi jumlah maksimum token yang dihasilkan untuk proses pemikiran. Jika proses pemikiran melebihi batas ini, kontennya akan dipotong, dan model segera mulai menghasilkan jawaban akhir. Nilai default thinking_budget adalah panjang maksimum rantai-pikiran model. Untuk informasi lebih lanjut, lihat Daftar model.

    Penting

    Parameter thinking_budget hanya didukung oleh Qwen3-VL (mode berpikir).

    Kompatibel dengan OpenAI

    Parameter thinking_budget bukan parameter standar OpenAI. Jika Anda menggunakan SDK Python OpenAI, Anda harus meneruskannya melalui extra_body.

    import os
    from openai import OpenAI
    
    client = OpenAI(
        # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        # Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
        base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
    )
    
    reasoning_content = ""  # Menyimpan seluruh proses pemikiran
    answer_content = ""     # Menyimpan seluruh tanggapan
    is_answering = False   # Memeriksa apakah proses pemikiran telah selesai dan tanggapan telah dimulai
    enable_thinking = True
    # Buat permintaan chat completion
    completion = client.chat.completions.create(
        model="qwen3-vl-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": "Bagaimana cara menyelesaikan soal ini?"},
                ],
            },
        ],
        stream=True,
        # Parameter enable_thinking mengaktifkan proses pemikiran. Parameter thinking_budget menetapkan jumlah maksimum token untuk proses penalaran.
        # Untuk qwen3-vl-plus dan qwen3-vl-flash, Anda dapat menggunakan enable_thinking untuk mengaktifkan atau menonaktifkan pemikiran. 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 + "Proses pemikiran" + "=" * 20 + "\n")
    
    for chunk in completion:
        # Jika chunk.choices kosong, cetak penggunaan
        if not chunk.choices:
            print("\nPenggunaan:")
            print(chunk.usage)
        else:
            delta = chunk.choices[0].delta
            # Cetak proses pemikiran
            if hasattr(delta, 'reasoning_content') and delta.reasoning_content != None:
                print(delta.reasoning_content, end='', flush=True)
                reasoning_content += delta.reasoning_content
            else:
                # Mulai memberikan tanggapan
                if delta.content != "" and is_answering is False:
                    print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
                    is_answering = True
                # Cetak proses tanggapan
                print(delta.content, end='', flush=True)
                answer_content += delta.content
    
    # print("=" * 20 + "Proses pemikiran lengkap" + "=" * 20 + "\n")
    # print(reasoning_content)
    # print("=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
    # print(answer_content)
    import OpenAI from "openai";
    
    // Inisialisasi klien OpenAI
    const openai = new OpenAI({
      // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
      // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx"
      apiKey: process.env.DASHSCOPE_API_KEY,
      // Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/compatible-mode/v1
      baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
    });
    
    let reasoningContent = '';
    let answerContent = '';
    let isAnswering = false;
    let enableThinking = true;
    
    let 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: "Selesaikan soal ini" },
        ]
    }]
    
    async function main() {
        try {
            const stream = await openai.chat.completions.create({
                model: 'qwen3-vl-plus',
                messages: messages,
                stream: true,
              // Catatan: Di SDK Node.js, parameter non-standar seperti enableThinking diteruskan sebagai properti tingkat atas dan tidak perlu dimasukkan ke dalam extra_body.
              enable_thinking: enableThinking,
              thinking_budget: 81920
    
            });
    
            if (enableThinking){console.log('\n' + '='.repeat(20) + 'Proses pemikiran' + '='.repeat(20) + '\n');}
    
            for await (const chunk of stream) {
                if (!chunk.choices?.length) {
                    console.log('\nPenggunaan:');
                    console.log(chunk.usage);
                    continue;
                }
    
                const delta = chunk.choices[0].delta;
    
                // Tangani proses pemikiran
                if (delta.reasoning_content) {
                    process.stdout.write(delta.reasoning_content);
                    reasoningContent += delta.reasoning_content;
                }
                // Tangani tanggapan resmi
                else if (delta.content) {
                    if (!isAnswering) {
                        console.log('\n' + '='.repeat(20) + 'Tanggapan lengkap' + '='.repeat(20) + '\n');
                        isAnswering = true;
                    }
                    process.stdout.write(delta.content);
                    answerContent += delta.content;
                }
            }
        } catch (error) {
            console.error('Error:', error);
        }
    }
    
    main();
    # ======= PENTING =======
    # Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # === Hapus komentar ini sebelum eksekusi ===
    
    curl --location 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions' \
    --header "Authorization: Bearer $DASHSCOPE_API_KEY" \
    --header 'Content-Type: application/json' \
    --data '{
        "model": "qwen3-vl-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": "Selesaikan soal ini"
            }
          ]
        }
      ],
        "stream":true,
        "stream_options":{"include_usage":true},
        "enable_thinking": true,
        "thinking_budget": 81920
    }'

    DashScope

    import os
    import dashscope
    from dashscope import MultiModalConversation
    
    # Jika Anda menggunakan model di wilayah Singapura, hapus komentar baris berikut
    # dashscope.base_http_api_url = "https://dashscope-intl.aliyuncs.com/api/v1"
    enable_thinking=True
    messages = [
        {
            "role": "user",
            "content": [
                {"image": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"},
                {"text": "Bagaimana cara menyelesaikan soal ini?"}
            ]
        }
    ]
    
    response = MultiModalConversation.call(
        # Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx",
        # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
        api_key=os.getenv('DASHSCOPE_API_KEY'),
        model="qwen3-vl-plus",  
        messages=messages,
        stream=True,
        # Parameter enable_thinking mengaktifkan proses pemikiran.
        # Untuk qwen3-vl-plus dan qwen3-vl-flash, Anda dapat menggunakan enable_thinking untuk mengaktifkan atau menonaktifkan pemikiran. 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.
        enable_thinking=enable_thinking,
        # Parameter thinking_budget menetapkan jumlah maksimum token untuk proses penalaran.
        thinking_budget=81920,
    
    )
    
    # Menyimpan seluruh proses pemikiran
    reasoning_content = ""
    # Menyimpan seluruh tanggapan
    answer_content = ""
    # Memeriksa apakah proses pemikiran telah selesai dan tanggapan telah dimulai
    is_answering = False
    
    if enable_thinking:
        print("=" * 20 + "Proses pemikiran" + "=" * 20)
    
    for chunk in response:
        # Jika baik proses pemikiran maupun tanggapan kosong, abaikan
        message = chunk.output.choices[0].message
        reasoning_content_chunk = message.get("reasoning_content", None)
        if (chunk.output.choices[0].message.content == [] and
            reasoning_content_chunk == ""):
            pass
        else:
            # Jika saat ini sedang dalam proses pemikiran
            if reasoning_content_chunk != None and chunk.output.choices[0].message.content == []:
                print(chunk.output.choices[0].message.reasoning_content, end="")
                reasoning_content += chunk.output.choices[0].message.reasoning_content
            # Jika saat ini sedang memberikan tanggapan
            elif chunk.output.choices[0].message.content != []:
                if not is_answering:
                    print("\n" + "=" * 20 + "Tanggapan lengkap" + "=" * 20)
                    is_answering = True
                print(chunk.output.choices[0].message.content[0]["text"], end="")
                answer_content += chunk.output.choices[0].message.content[0]["text"]
    
    # Untuk mencetak proses pemikiran dan tanggapan lengkap, hapus komentar dan jalankan kode berikut
    # print("=" * 20 + "Proses pemikiran lengkap" + "=" * 20 + "\n")
    # print(f"{reasoning_content}")
    # print("=" * 20 + "Tanggapan lengkap" + "=" * 20 + "\n")
    # print(f"{answer_content}")
    // Versi SDK DashScope >= 2.21.10
    import java.util.*;
    
    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;
    
    import com.alibaba.dashscope.common.Role;
    import com.alibaba.dashscope.exception.ApiException;
    import com.alibaba.dashscope.exception.NoApiKeyException;
    import io.reactivex.Flowable;
    
    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.exception.UploadFileException;
    import com.alibaba.dashscope.exception.InputRequiredException;
    import java.lang.System;
    import com.alibaba.dashscope.utils.Constants;
    
    public class Main {
    
        static {Constants.baseHttpApiUrl="https://dashscope-intl.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 handleGenerationResult(MultiModalConversationResult message) {
            String re = message.getOutput().getChoices().get(0).getMessage().getReasoningContent();
            String reasoning = Objects.isNull(re)?"":re; // Nilai default
    
            List<Map<String, Object>> content = message.getOutput().getChoices().get(0).getMessage().getContent();
            if (!reasoning.isEmpty()) {
                reasoningContent.append(reasoning);
                if (isFirstPrint) {
                    System.out.println("====================Proses pemikiran====================");
                    isFirstPrint = false;
                }
                System.out.print(reasoning);
            }
    
            if (Objects.nonNull(content) && !content.isEmpty()) {
                Object text = content.get(0).get("text");
                finalContent.append(content.get(0).get("text"));
                if (!isFirstPrint) {
                    System.out.println("\n====================Tanggapan lengkap====================");
                    isFirstPrint = true;
                }
                System.out.print(text);
            }
        }
        public static MultiModalConversationParam buildMultiModalConversationParam(MultiModalMessage Msg)  {
            return MultiModalConversationParam.builder()
                    // Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Model Studio Anda: .apiKey("sk-xxx")
                    // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
                    .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                    .model("qwen3-vl-plus")
                    .messages(Arrays.asList(Msg))
                    .enableThinking(true)
                    .thinkingBudget(81920)
                    .incrementalOutput(true)
                    .build();
        }
    
        public static void streamCallWithMessage(MultiModalConversation conv, MultiModalMessage Msg)
                throws NoApiKeyException, ApiException, InputRequiredException, UploadFileException {
            MultiModalConversationParam param = buildMultiModalConversationParam(Msg);
            Flowable<MultiModalConversationResult> result = conv.streamCall(param);
            result.blockingForEach(message -> {
                handleGenerationResult(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("image", "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"),
                                Collections.singletonMap("text", "Selesaikan soal ini")))
                        .build();
                streamCallWithMessage(conv, userMsg);
    //             Cetak hasil akhir
    //            if (reasoningContent.length() > 0) {
    //                System.out.println("\n====================Tanggapan lengkap====================");
    //                System.out.println(finalContent.toString());
    //            }
            } catch (ApiException | NoApiKeyException | UploadFileException | InputRequiredException e) {
                logger.error("Terjadi pengecualian: {}", e.getMessage());
            }
            System.exit(0);
        }
    }
    # ======= PENTING =======
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Berikut adalah URL dasar untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
    # === Hapus komentar ini sebelum eksekusi ===
    
    curl -X POST https://dashscope-intl.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-vl-plus",
        "input":{
            "messages":[
                {
                    "role": "user",
                    "content": [
                        {"image": "https://img.alicdn.com/imgextra/i1/O1CN01gDEY8M1W114Hi3XcN_!!6000000002727-0-tps-1024-406.jpg"},
                        {"text": "Selesaikan soal ini"}
                    ]
                }
            ]
        },
        "parameters":{
            "enable_thinking": true,
            "incremental_output": true,
            "thinking_budget": 81920
        }
    }'

    Contoh penggunaan lainnya

    Selain kemampuan penalarannya, model penalaran visual juga memiliki semua fitur model pemahaman visual. Anda dapat menggabungkan fitur-fitur ini untuk menangani skenario yang lebih kompleks:

    • Pemahaman beberapa citra

    • Pemahaman video

    • Aktifkan mode resolusi tinggi

    • Teruskan file lokal (encoding Base64 atau path file)

    Informasi penagihan

    Total biaya = (Token input × Harga per token input) + (Token output × Harga per token output).

    • Proses pemikiran (reasoning_content) merupakan bagian dari konten output dan ditagih sebagai token output. Jika model dalam mode berpikir tidak menghasilkan proses pemikiran, penagihannya mengikuti harga mode non-berpikir.

    • Untuk informasi tentang cara menghitung token untuk citra atau video, lihat Pemahaman visual.

    Referensi API

    Untuk informasi tentang parameter input dan output model penalaran visual, lihat Qwen.

    Kode error

    Jika pemanggilan gagal, lihat Pesan error untuk pemecahan masalah.

    谢谢!我们已经收到了您的反馈。