All Products
Search
Document Center

Alibaba Cloud Model Studio:Mode parsial

Last Updated:Feb 25, 2026

Dalam skenario seperti penyelesaian kode dan kelanjutan teks, Anda mungkin perlu menghasilkan konten baru yang dimulai dari fragmen teks yang sudah ada (awalan). Mode Parsial memberikan kendali presisi atas proses ini dengan memastikan output model terhubung secara mulus dengan awalan, sehingga meningkatkan akurasi dan kontrol.

Cara kerja

Untuk menggunakan Mode Parsial, konfigurasikan larik messages. Pada pesan terakhir dalam larik tersebut, atur role ke assistant, berikan awalan di bidang content, dan tetapkan parameter "partial": true. Format messages adalah sebagai berikut:

[
    {
        "role": "user",
        "content": "Lengkapi fungsi Fibonacci ini. Jangan tambahkan apa pun selain itu."
    },
    {
        "role": "assistant",
        "content": "def calculate_fibonacci(n):\n    if n <= 1:\n        return n\n    else:\n",
        "partial": true
    }
]

Model kemudian mulai menghasilkan teks dari awalan yang ditentukan.

Model yang didukung

  • Seri Qwen-Max

    qwen3-max, qwen3-max-2025-09-23, qwen3-max-preview (mode non-thinking), qwen-max, qwen-max-latest, qwen-max-2025-01-25, dan snapshot berikutnya

  • Qwen-Plus (mode tanpa berpikir)

    qwen3.5-plus, qwen3.5-plus-2026-02-15 dan snapshot berikutnya, qwen-plus, qwen-plus-latest, qwen-plus-2025-01-25, dan snapshot berikutnya

  • Seri Qwen-Flash (mode non-thinking)

    qwen3.5-flash, qwen3.5-flash-2026-02-23 dan snapshot berikutnya, qwen-flash, qwen-flash-2025-07-28

  • Seri Qwen-Coder

    qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-480b-a35b-instruct, qwen3-coder-30b-a3b-instruct

  • Seri Qwen-VL

    • seri qwen3-vl-plus (mode non-berpikir)

      qwen3-vl-plus, qwen3-vl-plus-2025-09-23, dan snapshot berikutnya

    • qwen3-vl-flash series (non-thinking mode)

      qwen3-vl-flash, qwen3-vl-flash-2025-10-15, dan snapshot berikutnya

    • seri qwen-vl-max

      qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-2025-04-08, dan snapshot berikutnya

    • seri qwen-vl-plus

      qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-2025-01-25, dan snapshot berikutnya

  • Seri Qwen-Turbo (mode non-berpikir)

    qwen-turbo, qwen-turbo-latest, qwen-turbo-2024-11-01, dan snapshot berikutnya

  • Seri open source Qwen

    qwen3.5-397b-a17b, qwen3.5-122b-a10b, qwen3.5-27b, qwen3.5-35b-a3b (mode non-thinking), model open source Qwen3 (mode non-thinking), model teks Qwen2.5, model open source Qwen3-VL (mode non-thinking)

Penting

Model mode thinking saat ini tidak mendukung fitur kelanjutan awalan.

Mulai

Prasyarat

Sebelum memulai, dapatkan Kunci API dan atur Kunci API sebagai Variabel lingkungan. Jika Anda memanggil layanan menggunakan SDK OpenAI atau SDK DashScope, Anda harus menginstal SDK. Jika Anda anggota sub-ruang kerja, pastikan super administrator telah memberikan akses model ke ruang kerja Anda.

Catatan

SDK Java DashScope tidak didukung.

Kode contoh

Penyelesaian kode merupakan kasus penggunaan utama Mode Parsial. Contoh berikut menunjukkan cara menggunakan model qwen3-coder-plus untuk melengkapi fungsi Python.

Kompatibel dengan OpenAI

Python

import os
from openai import OpenAI

# 1. Inisialisasi client
client = OpenAI(
    # Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # Jika Anda belum mengatur variabel lingkungan, ganti nilai di sini dengan Kunci API Anda
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    # Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
    base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",  
)
# 2. Tentukan awalan kode yang akan dilengkapi
prefix = """def calculate_fibonacci(n):
    if n <= 1:
        return n
    else:
"""

# 3. Buat permintaan Mode Parsial
# Catatan: Pesan terakhir dalam larik messages harus memiliki role "assistant" dan menyertakan "partial": True
completion = client.chat.completions.create(
    model="qwen3-coder-plus",
    messages=[
        {"role": "user", "content": "Lengkapi fungsi Fibonacci ini. Jangan tambahkan apa pun selain itu."},
        {"role": "assistant", "content": prefix, "partial": True},
    ],
)

# 4. Gabungkan secara manual awalan dan konten yang dihasilkan model
generated_code = completion.choices[0].message.content
complete_code = prefix + generated_code

print(complete_code)

Respons

def calculate_fibonacci(n):
    if n <= 1:
        return n
    else:
        return calculate_fibonacci(n-1) + calculate_fibonacci(n-2)

Node.js

import OpenAI from "openai";

const openai = new OpenAI({
    // Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan: apiKey: "sk-xxx",
    apiKey: process.env.DASHSCOPE_API_KEY,
    // Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
    baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
});

// Tentukan awalan kode yang akan dilengkapi
const prefix = `def calculate_fibonacci(n):
    if n <= 1:
        return n
    else:
`;

const completion = await openai.chat.completions.create({
    model: "qwen3-coder-plus",  // Gunakan model kode
    messages: [
        { role: "user", content: "Lengkapi fungsi Fibonacci ini. Jangan tambahkan apa pun selain itu." },
        { role: "assistant", content: prefix, partial: true }
    ],
});

// Gabungkan secara manual awalan dan konten yang dihasilkan model
const generatedCode = completion.choices[0].message.content;
const completeCode = prefix + generatedCode;

console.log(completeCode);

curl

# ======= Pemberitahuan penting =======
# Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# === Hapus komentar ini sebelum menjalankan ===

curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-coder-plus",
    "messages": [
        {
            "role": "user", 
            "content": "Lengkapi fungsi Fibonacci ini. Jangan tambahkan apa pun selain itu."
        },
        {
            "role": "assistant",
            "content": "def calculate_fibonacci(n):\n    if n <= 1:\n        return n\n    else:\n",
            "partial": true
        }
    ]
}'

Respons

{
    "choices": [
        {
            "message": {
                "content": "        return calculate_fibonacci(n-1) + calculate_fibonacci(n-2)",
                "role": "assistant"
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 48,
        "completion_tokens": 19,
        "total_tokens": 67,
        "prompt_tokens_details": {
            "cache_type": "implicit",
            "cached_tokens": 0
        }
    },
    "created": 1756800231,
    "system_fingerprint": null,
    "model": "qwen3-coder-plus",
    "id": "chatcmpl-d103b1cf-4bda-942f-92d6-d7ecabfeeccb"
}

DashScope

Python

import os
import dashscope

# Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

# Tentukan awalan kode yang akan diselesaikan
prefix = """def calculate_fibonacci(n):
    if n <= 1:
        return n
    else:
"""

messages = [
    {
        "role": "user", 
        "content": "Lengkapi fungsi Fibonacci ini. Jangan tambahkan konten lain."
    },
    {
        "role": "assistant",
        "content": prefix,
        "partial": True
    }
]

response = dashscope.Generation.call(
    # Kunci API berbeda-beda tergantung wilayah. Untuk mendapatkan kunci API, kunjungi: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    # Jika Variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx", lalu gunakan kunci API Alibaba Cloud Model Studio Anda.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model='qwen3-coder-plus',  # Gunakan model kode
    messages=messages,
    result_format='message',  
)

# Gabungkan awalan dan konten yang dihasilkan oleh model secara manual
generated_code = response.output.choices[0].message.content
complete_code = prefix + generated_code

print(complete_code)

Respons

def calculate_fibonacci(n):
    if n <= 1:
        return n
    else:
        return calculate_fibonacci(n-1) + calculate_fibonacci(n-2)

curl

# ======= Pemberitahuan penting =======
# Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation
# === Hapus komentar ini sebelum menjalankan ===

curl -X POST "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen3-coder-plus",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": "Lengkapi fungsi Fibonacci ini. Jangan tambahkan apa pun selain itu."
            },
            {
                "role": "assistant",
                "content": "def calculate_fibonacci(n):\n    if n <= 1:\n        return n\n    else:\n",
                "partial": true
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

Respons

{
    "output": {
        "choices": [
            {
                "message": {
                    "content": "        return calculate_fibonacci(n-1) + calculate_fibonacci(n-2)",
                    "role": "assistant"
                },
                "finish_reason": "stop"
            }
        ]
    },
    "usage": {
        "total_tokens": 67,
        "output_tokens": 19,
        "input_tokens": 48,
        "prompt_tokens_details": {
            "cached_tokens": 0
        }
    },
    "request_id": "c61c62e5-cf97-90bc-a4ee-50e5e117b93f"
}

Kasus penggunaan

Kirim gambar atau video

Model Qwen-VL mendukung Mode Parsial untuk permintaan yang mencakup data gambar atau video. Fitur ini berguna untuk skenario seperti menghasilkan deskripsi produk, membuat konten media sosial, menulis artikel berita, dan penulisan kreatif.

Kompatibel dengan OpenAI

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan: api_key="sk-xxx",
    # Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Untuk model Wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
    base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
)

completion = client.chat.completions.create(
    model="qwen3-vl-plus",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image_url",
                    "image_url": {
                        "url": "https://img.alicdn.com/imgextra/i3/O1CN01zFX2Bs1Q0f9pESgPC_!!6000000001914-2-tps-450-450.png"
                    },
                },
                {"type": "text", "text": "Saya ingin memposting ini di media sosial. Bantu saya menulis keterangan."},
            ],
        },
        {
            "role": "assistant",
            "content": "Hari ini saya menemukan sebuah kafe tersembunyi",
            "partial": True,
        },
    ],
)
print(completion.choices[0].message.content)

Respons

— tiramisu di sini benar-benar surga! Setiap gigitan memberikan harmoni sempurna antara kopi dan krim. Kebahagiaan murni! #FoodShare #Tiramisu #CoffeeTime

Semoga Anda menyukai keterangan ini! Beri tahu saya jika perlu perubahan.

Node.js

import OpenAI from "openai";

const openai = new OpenAI({
  // Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
  // Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan: apiKey: "sk-xxx"
  apiKey: process.env.DASHSCOPE_API_KEY,
  // Untuk model Wilayah Beijing, ganti baseURL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
  baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
});

async function main() {
    const response = await openai.chat.completions.create({
        model: "qwen3-vl-plus",  
        messages: [
            {
                role: "user",
                content: [
                    {
                        type: "image_url",
                        image_url: {
                            "url": "https://img.alicdn.com/imgextra/i3/O1CN01zFX2Bs1Q0f9pESgPC_!!6000000001914-2-tps-450-450.png"
                        }
                    },
                    {
                        type: "text",
                        text: "Saya ingin memposting ini di media sosial. Bantu saya menulis keterangan."
                    }
                ]
            },
            {
                role: "assistant",
                content: "Hari ini saya menemukan sebuah kafe tersembunyi",
                "partial": true
            }
        ]
    });
    console.log(response.choices[0].message.content);
}

main();

curl

# ======= Pemberitahuan penting =======
# Untuk model Wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
# Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === Hapus komentar ini sebelum menjalankan ===

curl -X POST 'https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions' \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
  "model": "qwen3-vl-plus",
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "image_url",
          "image_url": {
            "url": "https://img.alicdn.com/imgextra/i3/O1CN01zFX2Bs1Q0f9pESgPC_!!6000000001914-2-tps-450-450.png"
          }
        },
        {
          "type": "text",
          "text": "Saya ingin memposting ini di media sosial. Bantu saya menulis keterangan."
        }
      ]
    },
    {
      "role": "assistant",
      "content": "Hari ini saya menemukan sebuah kafe tersembunyi",
      "partial": true
    }
  ]
}'

Respons

{
    "choices": [
        {
            "message": {
                "content": "— tiramisu di sini benar-benar surga! Setiap gigitan memberikan harmoni sempurna antara kopi dan krim. Kebahagiaan murni! #FoodShare #Tiramisu #CoffeeTime\n\nSemoga Anda menyukai keterangan ini! Beri tahu saya jika perlu perubahan.",
                "role": "assistant"
            },
            "finish_reason": "stop",
            "index": 0,
            "logprobs": null
        }
    ],
    "object": "chat.completion",
    "usage": {
        "prompt_tokens": 282,
        "completion_tokens": 56,
        "total_tokens": 338,
        "prompt_tokens_details": {
            "cached_tokens": 0
        }
    },
    "created": 1756802933,
    "system_fingerprint": null,
    "model": "qwen3-vl-plus",
    "id": "chatcmpl-5780cbb7-ebae-9c63-b098-f8cc49e321f0"
}

DashScope

Python

import os
import dashscope

# Untuk model Wilayah Beijing, ganti 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/i3/O1CN01zFX2Bs1Q0f9pESgPC_!!6000000001914-2-tps-450-450.png"
            },
            {"text": "Saya ingin memposting ini di media sosial. Bantu saya menulis keterangan."},
        ],
    },
    {"role": "assistant", "content": "Hari ini saya menemukan sebuah kafe tersembunyi", "partial": True},
]

response = dashscope.MultiModalConversation.call(
    # Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan: api_key ="sk-xxx"
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    model="qwen3-vl-plus", 
    messages=messages
)

print(response.output.choices[0].message.content[0]["text"])

Respons

— tiramisu di sini benar-benar surga! Setiap gigitan memberikan harmoni sempurna antara kopi dan krim. Kebahagiaan murni! #FoodShare #Tiramisu #CoffeeTime

Semoga Anda menyukai keterangan ini! Beri tahu saya jika perlu perubahan.

curl

# ======= Pemberitahuan penting =======
# Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation
# Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
# === Hapus komentar ini sebelum menjalankan ===

curl -X POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "qwen3-vl-plus",
    "input":{
        "messages":[
            {"role": "user",
             "content": [
               {"image": "https://img.alicdn.com/imgextra/i3/O1CN01zFX2Bs1Q0f9pESgPC_!!6000000001914-2-tps-450-450.png"},
               {"text": "Saya ingin memposting ini di media sosial. Bantu saya menulis keterangan."}]
            },
            {"role": "assistant",
             "content": "Hari ini saya menemukan sebuah kafe tersembunyi",
             "partial": true
            }
        ]
    }
}'

Respons

{
    "output": {
        "choices": [
            {
                "message": {
                    "content": [
                        {
                            "text": "— tiramisu di sini benar-benar surga! Setiap gigitan memberikan harmoni sempurna antara kopi dan krim. Kebahagiaan murni! #FoodShare #Tiramisu #CoffeeTime\n\nSemoga Anda menyukai keterangan ini! Beri tahu saya jika perlu perubahan."
                        }
                    ],
                    "role": "assistant"
                },
                "finish_reason": "stop"
            }
        ]
    },
    "usage": {
        "total_tokens": 339,
        "input_tokens_details": {
            "image_tokens": 258,
            "text_tokens": 24
        },
        "output_tokens": 57,
        "input_tokens": 282,
        "output_tokens_details": {
            "text_tokens": 57
        },
        "image_tokens": 258
    },
    "request_id": "c741328c-23dc-9286-bfa7-626a4092ca09"
}

Lanjutkan dari output yang tidak lengkap

Jika nilai parameter max_tokens terlalu kecil, Large Language Model (LLM) mungkin mengembalikan konten yang tidak lengkap. Anda dapat menggunakan Mode Parsial untuk melanjutkan penghasilan dari titik tersebut dan memastikan bahwa output secara semantik lengkap.

Kompatibel dengan OpenAI

Python

import os
from openai import OpenAI

client = OpenAI(
    # Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    # Jika Anda belum mengatur variabel lingkungan, ganti nilai di sini dengan Kunci API Anda
    api_key=os.getenv("DASHSCOPE_API_KEY"), 
    # Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
    base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",  
)

def chat_completion(messages,max_tokens=None):
    response = client.chat.completions.create(
        model="qwen-plus",
        messages=messages,
        max_tokens=max_tokens
    )
    print(f"### Alasan penghasilan berhenti: {response.choices[0].finish_reason}")
    
    return response.choices[0].message.content

# Contoh penggunaan
messages = [{"role": "user", "content": "Tulis cerita fiksi ilmiah pendek"}]

# Panggilan pertama dengan max_tokens diatur ke 40
first_content = chat_completion(messages, max_tokens=40)
print(first_content)
# Tambahkan respons pertama sebagai pesan assistant dan atur partial=True
messages.append({"role": "assistant", "content": first_content, "partial": True})

# Panggilan kedua
second_content = chat_completion(messages)
print("### Konten lengkap:")
print(first_content+second_content)

Respons

Alasan length menunjukkan bahwa batas max_tokens telah tercapai. Alasan stop menunjukkan bahwa model selesai menghasilkan teks secara alami atau menemui kata berhenti yang ditentukan dalam parameter stop.

### Alasan penghasilan berhenti: length
**"Akhir dari Kenangan"**

Di masa depan yang jauh, Bumi tidak lagi layak huni bagi manusia. Atmosfer tercemar, lautan kering, dan kota-kota runtuh. Manusia bermigrasi ke planet layak huni bernama "Eden," dengan langit biru, udara segar, dan sumber daya tak terbatas.

Namun, Eden bukanlah surga sejati. Tempat ini tidak menyimpan sejarah manusia, tidak ada masa lalu, dan tidak ada kenangan.

...
**"Jika kita lupa siapa diri kita, apakah kita masih manusia?"**

— Akhir —

Node.js

import OpenAI from "openai";

const openai = new OpenAI({
    // Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    // Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan: apiKey: "sk-xxx",
    apiKey: process.env.DASHSCOPE_API_KEY,
    // Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1
    baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
});

async function chatCompletion(messages, maxTokens = null) {
    const completion = await openai.chat.completions.create({
        model: "qwen-plus",
        messages: messages,
        max_tokens: maxTokens
    });
    
    console.log(`### Alasan penghasilan berhenti: ${completion.choices[0].finish_reason}`);
    return completion.choices[0].message.content;
}

// Contoh penggunaan
async function main() {
    let messages = [{"role": "user", "content": "Tulis cerita fiksi ilmiah pendek"}];

    try {
        // Panggilan pertama dengan max_tokens diatur ke 40
        const firstContent = await chatCompletion(messages, 40);
        console.log(firstContent);
        
        // Tambahkan respons pertama sebagai pesan assistant dan atur partial=true
        messages.push({"role": "assistant", "content": firstContent, "partial": true});

        // Panggilan kedua
        const secondContent = await chatCompletion(messages);
        console.log("### Konten lengkap:");
        console.log(firstContent + secondContent);
        
    } catch (error) {
        console.error('Error eksekusi:', error);
    }
}

// Jalankan contoh
main();

DashScope

Python

Kode contoh

import os
import dashscope
# Untuk model Wilayah Beijing, ganti URL dengan: https://dashscope.aliyuncs.com/api/v1
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

def chat_completion(messages, max_tokens=None):
    response = dashscope.Generation.call(
        # Kunci API berbeda berdasarkan Wilayah. Dapatkan Kunci API Anda: https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        # Jika Anda belum mengatur variabel lingkungan, ganti baris berikut dengan: api_key="sk-xxx",
        api_key=os.getenv("DASHSCOPE_API_KEY"),
        model='qwen-plus',
        messages=messages,
        max_tokens=max_tokens,
        result_format='message',  
    )
    
    print(f"### Alasan penghasilan berhenti: {response.output.choices[0].finish_reason}")
    return response.output.choices[0].message.content

# Contoh penggunaan
messages = [{"role": "user", "content": "Tulis cerita fiksi ilmiah pendek"}]

# Panggilan pertama dengan max_tokens diatur ke 40
first_content = chat_completion(messages, max_tokens=40)
print(first_content)

# Tambahkan respons pertama sebagai pesan assistant dan atur partial=True
messages.append({"role": "assistant", "content": first_content, "partial": True})

# Panggilan kedua
second_content = chat_completion(messages)
print("### Konten lengkap:")
print(first_content + second_content)

Respons

### Alasan penghasilan berhenti: length
Judul: **"Waktu Origami"**

---

Pada tahun 2179, umat manusia akhirnya menguasai perjalanan waktu. Namun teknologi ini tidak bergantung pada mesin besar atau medan energi kompleks. Teknologi ini bergantung pada kertas.

Selembar kertas saja.

Kertas ini disebut "Waktu Origami," terbuat dari material alien yang tidak dikenal. Para ilmuwan tidak dapat menjelaskan cara kerjanya. Mereka hanya tahu bahwa menggambar sebuah adegan pada kertas tersebut dan melipatnya dengan cara tertentu akan membuka pintu menuju masa lalu atau masa depan.

...

"Anda bukan kunci waktu. Anda hanyalah pengingat bahwa masa depan kita selalu berada di tangan kita sendiri."

Lalu saya merobeknya menjadi potongan-potongan kecil.

---

**(Akhir)**

Tagihan

Anda dikenai biaya untuk token input maupun token output. Awalan dihitung sebagai bagian dari token input.

Kode error

Jika pemanggilan model gagal dan mengembalikan pesan error, lihat Pesan error untuk penyelesaian.