全部产品
Search
文档中心

Alibaba Cloud Model Studio:Referensi API Qwen

更新时间:Dec 12, 2025

Topik ini menjelaskan parameter input dan output API Qwen serta menyediakan contoh pemanggilan dalam bahasa pemrograman populer, seperti Python, untuk skenario khas.

Untuk ikhtisar model, saran pemilihan, dan petunjuk penggunaan, lihat Ikhtisar model generasi teks.

Anda dapat memanggil API Qwen menggunakan protokol Kompatibel dengan OpenAI atau protokol DashScope.

Kompatibel OpenAI

Wilayah Singapura

base_url untuk SDK: https://dashscope-intl.aliyuncs.com/compatible-mode/v1

Titik akhir permintaan HTTP: POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions

Wilayah Tiongkok (Beijing)

base_url untuk SDK: https://dashscope.aliyuncs.com/compatible-mode/v1

Titik akhir permintaan HTTP: POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions

Pertama buat Kunci API dan ekspor Kunci API sebagai Variabel lingkungan. Jika Anda menggunakan SDK OpenAI, instal SDK.

Badan permintaan

POST /chat/completions

Debug OpenAI-compatible API online

POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions
Get Singapore API key

Input teks

Python

import os
from openai import OpenAI


client = OpenAI(
    # Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: api_key="sk-xxx"
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut ini adalah base_url 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",  
)

completion = client.chat.completions.create(
    # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
    # Untuk model Qwen3, gunakan parameter enable_thinking untuk mengontrol proses berpikir (default True untuk model open source, False untuk model komersial).
    # Saat menggunakan model open source Qwen3 tanpa keluaran streaming, hapus komentar pada baris berikut untuk menghindari error.
    # extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())

Java

Contoh permintaan

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

public class Main {
    public static void main(String[] args) {
        OpenAIClient client = OpenAIOkHttpClient.builder()
                // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // Berikut ini adalah base_url 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") 
                .build();

        ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
                .addUserMessage("Who are you?")
                .model("qwen-plus")
                .build();

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

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: apiKey: "sk-xxx",
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        // Berikut ini adalah base_url 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" 
    }
);

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

main();

Go

package main

import (
	"context"
	"os"

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

func main() {
	client := openai.NewClient(
	        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
		option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY")
		// Berikut ini adalah base_url untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/
		option.WithBaseURL("https://dashscope-intl.aliyuncs.com/compatible-mode/v1/"), 
	)
	chatCompletion, err := client.Chat.Completions.New(
		context.TODO(), openai.ChatCompletionNewParams{
			Messages: openai.F(
				[]openai.ChatCompletionMessageParamUnion{
					openai.UserMessage("Who are you?"),
				},
			),
			Model: openai.F("qwen-plus"),
		},
	)

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

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

C# (HTTP)

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

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

    static async Task Main(string[] args)
    {
        // Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: string? apiKey = "sk-xxx";
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");

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

        // Setel URL permintaan dan konten
        // Berikut ini adalah base_url untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
        string url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions";
        // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
        string jsonContent = @"{
            ""model"": ""qwen-plus"",
            ""messages"": [
                {
                    ""role"": ""system"",
                    ""content"": ""You are a helpful assistant.""
                },
                {
                    ""role"": ""user"", 
                    ""content"": ""Who are you?""
                }
            ]
        }";

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

        // Cetak hasilnya
        Console.WriteLine(result);
    }

    private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
    {
        using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
        {
            // Setel header permintaan
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

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

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

PHP (HTTP)

<?php
// Setel URL permintaan
// Berikut ini adalah base_url untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
$url = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions';
// Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: $apiKey = "sk-xxx";
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
$apiKey = getenv('DASHSCOPE_API_KEY');
// Setel header permintaan
$headers = [
    'Authorization: Bearer '.$apiKey,
    'Content-Type: application/json'
];
// Setel badan permintaan
$data = [
    // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
    "model" => "qwen-plus",
    "messages" => [
        [
            "role" => "system",
            "content" => "You are a helpful assistant."
        ],
        [
            "role" => "user",
            "content" => "Who are you?"
        ]
    ]
];
// Inisialisasi sesi cURL
$ch = curl_init();
// Setel opsi cURL
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// Jalankan sesi cURL
$response = curl_exec($ch);
// Periksa error
if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
}
// Tutup resource cURL
curl_close($ch);
// Cetak respons
echo $response;
?>

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan `https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions`.
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": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user", 
            "content": "Who are you?"
        }
    ]
}'

Keluaran streaming

Untuk informasi selengkapnya, lihat Streaming.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: api_key="sk-xxx"
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut ini adalah base_url 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",
)
completion = client.chat.completions.create(
    model="qwen-plus",  # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
    messages=[{'role': 'system', 'content': 'You are a helpful assistant.'},
                {'role': 'user', 'content': 'Who are you?'}],
    stream=True,
    stream_options={"include_usage": True}
    )
for chunk in completion:
    print(chunk.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        // Berikut ini adalah base_url 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"
    }
);

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

main();

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan `https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions`.
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": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user", 
            "content": "Who are you?"
        }
    ],
    "stream":true
}'

Input citra

Untuk cara lain menggunakan model bahasa besar dalam menganalisis citra, lihat Pemahaman visual.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: api_key="sk-xxx"
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut ini adalah base_url 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",
)
completion = client.chat.completions.create(
    model="qwen-vl-plus",  # Contoh ini menggunakan qwen-vl-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/models
    messages=[{"role": "user","content": [
            {"type": "image_url",
             "image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
            {"type": "text", "text": "What is this?"},
            ]}]
    )
print(completion.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
         // Berikut ini adalah base_url 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"
    }
);

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

main();

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, kunjungi https://www.alibabacloud.com/help/en/model-studio/get-api-key. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan `https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions`.
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": "qwen-vl-plus",
  "messages": [{
      "role": "user",
      "content": [
       {"type": "image_url","image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
       {"type": "text","text": "What is this?"}
       ]}]
}'

Input video

Berikut ini adalah contoh pengiriman daftar citra. Untuk informasi penggunaan lebih lanjut, seperti mengirimkan file video, lihat Pemahaman visual.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: api_key="sk-xxx"
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut ini adalah base_url 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",  
)
completion = client.chat.completions.create(
    # Contoh ini menggunakan qwen-vl-max. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/models
    model="qwen-vl-max",
    messages=[{
        "role": "user",
        "content": [
            {
                "type": "video",
                "video": [
                    "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                    "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"]
            },
            {
                "type": "text",
                "text": "Describe the process in this video."
            }]}]
)
print(completion.model_dump_json())

Node.js

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

const openai = new OpenAI({
    // Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: apiKey: "sk-xxx",
    // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    apiKey: process.env.DASHSCOPE_API_KEY, 
    // Berikut ini adalah base_url 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"    
});

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

main();

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Mendapatkan dan mengonfigurasi kunci API. `base_url` berikut ini untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, Anda harus mengganti `base_url` dengan `https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions`.
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": "qwen-vl-max",
    "messages": [
        {
            "role": "user",
            "content": [
                {
                    "type": "video",
                    "video": [
                        "https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
                        "https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
                    ]
                },
                {
                    "type": "text",
                    "text": "Describe the process in this video."
                }
            ]
        }
    ]
}'

Pemanggilan tool

Untuk kode lengkap alur kerja Function calling, lihat Function calling.
Untuk kode Function calling model Qwen3 (mode berpikir) dan QwQ, lihat Deep thinking.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: api_key="sk-xxx"
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut ini adalah base_url 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",  
)

tools = [
    # Tool 1: Dapatkan waktu saat ini
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "Useful when you want to know the current time.",
            "parameters": {}  # parameters adalah dictionary kosong karena tidak diperlukan input untuk mendapatkan waktu saat ini
        }
    },  
    # Tool 2: Dapatkan cuaca di kota tertentu
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Useful when you want to check the weather in a specific city.",
            "parameters": {  
                "type": "object",
                "properties": {
                    # Lokasi diperlukan untuk memeriksa cuaca, sehingga parameter diatur ke location
                    "location": {
                        "type": "string",
                        "description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
                    }
                },
                "required": ["location"]
            }
        }
    }
]
messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}]
completion = client.chat.completions.create(
    model="qwen-plus",  # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
    messages=messages,
    tools=tools
)

print(completion.model_dump_json())

Node.js

import OpenAI from "openai";

const openai = new OpenAI(
    {
        // Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: apiKey: "sk-xxx",
        // Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/zh/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        // Berikut ini adalah base_url 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"
    }
);

const messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}];
const tools = [
// Tool 1: Dapatkan waktu saat ini
{
    "type": "function",
    "function": {
        "name": "get_current_time",
        "description": "Useful when you want to know the current time.",
        // parameters kosong karena tidak diperlukan input untuk mendapatkan waktu saat ini
        "parameters": {}  
    }
},  
// Tool 2: Dapatkan cuaca di kota tertentu
{
    "type": "function",
    "function": {
        "name": "get_current_weather",
        "description": "Useful when you want to check the weather in a specific city.",
        "parameters": {  
            "type": "object",
            "properties": {
                // Lokasi diperlukan untuk memeriksa cuaca, sehingga parameter diatur ke location
                "location": {
                    "type": "string",
                    "description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
                }
            },
            "required": ["location"]
        }
    }
}
];

async function main() {
    const response = await openai.chat.completions.create({
        model: "qwen-plus", // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
        messages: messages,
        tools: tools,
    });
    console.log(JSON.stringify(response));
}

main();

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Mendapatkan dan Mengonfigurasi Kunci API. `base_url` berikut ini untuk wilayah Singapura. Jika Anda menggunakan model dari wilayah Beijing, Anda harus mengganti `base_url` dengan `https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions`.
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": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user", 
            "content": "What is the weather like in Hangzhou?"
        }
    ],
    "tools": [
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "Useful when you want to know the current time.",
            "parameters": {}
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Useful when you want to check the weather in a specific city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location":{
                        "type": "string",
                        "description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
                    }
                },
                "required": ["location"]
            }
        }
    }
  ]
}'

Invokasi asinkron

import os
import asyncio
from openai import AsyncOpenAI
import platform

client = AsyncOpenAI(
    # Jika variabel lingkungan tidak disetel, ganti baris berikut dengan: api_key="sk-xxx"
    # Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan KUNCI API untuk wilayah tersebut. Dapatkan di sini: https://bailian.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Berikut ini adalah base_url 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",
)

async def main():
    response = await client.chat.completions.create(
        messages=[{"role": "user", "content": "Who are you?"}],
        model="qwen-plus",  # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
    )
    print(response.model_dump_json())

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

model string (Required)

Nama model yang akan digunakan.

Model yang didukung mencakup model bahasa besar Qwen (komersial dan open source), Qwen-VL, Qwen-Coder, Qwen-Omni, dan Qwen-Math.

Untuk daftar nama model spesifik dan informasi penagihan, lihat Model list.

messages array (Wajib)

Konteks yang diteruskan ke large language model, diatur dalam urutan percakapan.

Jenis pesan

System Message object (Opsional)

Pesan sistem yang digunakan untuk menetapkan peran, nada, tujuan tugas, atau batasan bagi large language model. Biasanya ditempatkan di awal array messages.

Pesan System tidak disarankan untuk model QwQ dan tidak berpengaruh pada model QVQ.

Properti

content string (Wajib)

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

role string (Wajib)

Peran untuk pesan sistem. Nilainya tetap sebagai system.

User Message object (Wajib)

Pesan pengguna yang digunakan untuk meneruskan pertanyaan, instruksi, atau konteks ke model.

Properti

content string atau array (Wajib)

Konten pesan. Ini berupa string untuk input teks saja. Berupa array untuk input multimodal, seperti citra, atau jika caching eksplisit diaktifkan.

Properti untuk model multimodal atau caching eksplisit

type string (Wajib)

Nilai yang valid:

  • text

    Atur ke text untuk input teks.

  • image_url

    Atur ke image_url untuk input citra.

  • input_audio

    Atur ke input_audio untuk input audio.

  • video

    Atur ke video ketika input video berupa daftar citra.

  • video_url

    Atur ke video_url untuk input file video.

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

text string

Teks input. Parameter ini wajib saat type bernilai text.

image_url object

Informasi citra input. Parameter ini wajib saat type bernilai image_url.

Properti

url string(Wajib)

URL atau Data URL yang dikodekan Base64 dari citra tersebut. Untuk meneruskan file lokal, lihat Visual understanding.

input_audio object

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

Properti

data string(Wajib)

URL atau Data URL yang dikodekan Base64 dari audio tersebut. Untuk meneruskan file lokal, lihat Input Base64-encoded local files.

format string(Wajib)

Format audio input, seperti mp3 atau wav.

video array

Informasi video dalam bentuk daftar citra. Parameter ini wajib saat type bernilai video. Untuk petunjuk penggunaan, lihat Video understanding (Qwen-VL), Video understanding (QVQ), atau Video understanding (Qwen-Omni).

Contoh nilai:

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

video_url object

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

Qwen-VL hanya dapat memahami informasi visual dalam file video. Qwen-Omni dapat memahami informasi visual maupun audio.

Properti

url string (Wajib)

URL publik atau Data URL yang dikodekan Base64 dari file video tersebut. Untuk menginput file video lokal, lihat Input Base64-encoded local files.

min_pixels integer (Opsional)

Menetapkan ambang batas piksel minimum untuk citra input. Jika citra input atau frame video memiliki jumlah piksel lebih sedikit daripada min_pixels, citra tersebut diperbesar hingga total pikselnya melebihi min_pixels.

  • Model yang didukung: QVQ, Qwen-VL

  • Rentang nilai: Sebagai berikut

    Rentang nilai min_pixels

    • Qwen3-VL: Nilai default dan minimum adalah 65536.

    • qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815: Nilai default dan minimum adalah 4096.

    • QVQ dan model Qwen2.5-VL lainnya: Nilai default dan minimum adalah 3136.

  • Contoh nilai: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536}

max_pixels integer (Opsional)

Menetapkan ambang batas piksel maksimum untuk citra input atau frame video. Jika jumlah piksel citra input berada dalam rentang [min_pixels, max_pixels], model mengenali citra aslinya. Jika jumlah piksel melebihi max_pixels, citra tersebut diperkecil hingga total pikselnya berada di bawah max_pixels.

  • Model yang didukung: QVQ, Qwen-VL

  • Rentang nilai: Sebagai berikut

    Rentang nilai max_pixels

    Nilai `max_pixels` bergantung pada apakah parameter <a baseurl="t2614691_v57_5_1.xdita" data-node="4759789" data-root="85177" data-tag="xref" href="#0edad44583knr" id="c4daac7bc1pvl">vl_high_resolution_images</a> diaktifkan.

    • Saat vl_high_resolution_images bernilai False:

      • Qwen3-VL: Nilai default adalah 2621440, nilai maksimum adalah 16777216

      • qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815: Nilai default adalah 1310720, nilai maksimum adalah 16777216.

      • QVQ dan model Qwen2.5-VL lainnya: Nilai default adalah 1003520, nilai maksimum adalah 12845056.

    • Saat vl_high_resolution_images bernilai True:

      • Qwen3-VL, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815: max_pixels tidak berlaku. Jumlah piksel maksimum untuk citra input ditetapkan pada 16777216.

      • QVQ dan model Qwen2.5-VL lainnya: max_pixels tidak berlaku. Jumlah piksel maksimum untuk citra input ditetapkan pada 12845056.

  • Contoh nilai: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}

cache_control object (Opsional)

Mengaktifkan caching eksplisit. Untuk informasi selengkapnya, lihat Explicit cache.

Properti

type string (Wajib)

Hanya ephemeral yang didukung.

role string (Wajib)

Peran pesan pengguna. Nilainya adalah user.

Assistant Message object (Opsional)

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

Properti

content string (Opsional)

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

role string (Wajib)

Peran pesan asisten adalah assistant.

partial boolean (Opsional) Nilai default: false

Mengaktifkan partial mode.

Nilai yang valid:

  • true

  • false

Model yang didukung

  • Seri Qwen-Max

    qwen3-max, qwen3-max-2025-09-23, qwen3-max-preview (mode non-thinking), qwen-max, qwen-max-latest, dan model snapshot mulai dari qwen-max-2025-01-25 atau versi lebih baru

  • Seri Qwen-Plus (mode non-thinking)

    qwen-plus, qwen-plus-latest, dan model snapshot mulai dari qwen-plus-2025-01-25 atau versi lebih baru

  • Seri Qwen-Flash (mode non-thinking)

    qwen-flash, dan model snapshot mulai dari qwen-flash-2025-07-28 atau versi lebih baru

  • 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-thinking)

      qwen3-vl-plus, dan model snapshot mulai dari qwen3-vl-plus-2025-09-23 atau versi lebih baru

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

      qwen3-vl-flash, dan model snapshot mulai dari qwen3-vl-flash-2025-10-15 atau versi lebih baru

    • Seri qwen-vl-max

      qwen-vl-max, qwen-vl-max-latest, dan model snapshot mulai dari qwen-vl-max-2025-04-08 atau versi lebih baru

    • Seri qwen-vl-plus

      qwen-vl-plus, qwen-vl-plus-latest, dan model snapshot mulai dari qwen-vl-plus-2025-01-25 atau versi lebih baru

  • Seri Qwen-Turbo (mode non-thinking)

    qwen-turbo, qwen-turbo-latest, dan model snapshot mulai dari qwen-turbo-2024-11-01 atau versi lebih baru

  • Seri open-source Qwen

    Model open-source Qwen3 (mode non-thinking), model teks seri Qwen2.5, model open-source Qwen3-VL (mode non-thinking)

tool_calls array (Opsional)

Informasi tool dan parameter input yang dikembalikan setelah memicu Function calling. Berisi satu atau beberapa objek, dan diperoleh dari bidang tool_calls pada respons model sebelumnya.

Properti

id string (Wajib)

ID respons tool.

type string (Wajib)

Jenis tool. Saat ini, hanya function yang didukung.

function object (Wajib)

Informasi tool dan parameter input.

Properti

name string (Wajib)

Nama tool.

arguments string (Wajib)

Informasi parameter input, dalam format string JSON.

index integer (Wajib)

Indeks informasi tool saat ini dalam array tool_calls.

Tool Message object (Opsional)

Informasi output dari tool.

Properti

content string (Wajib)

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

role string (Wajib)

Tetap sebagai tool.

tool_call_id string (Wajib)

ID yang dikembalikan setelah memicu Function calling, yang diperoleh dari `completion.choices[0].message.tool_calls[$index].id`. ID ini digunakan untuk mengaitkan pesan tool dengan tool yang sesuai.

stream boolean (Opsional) Nilai default: false

Menentukan apakah balasan dikirim dalam mode keluaran streaming. Untuk informasi selengkapnya, lihat Streaming.

Nilai yang valid:

  • false: Model mengembalikan seluruh konten sekaligus setelah proses generasi selesai.

  • true: Keluaran dihasilkan dan dikirim secara bertahap. Sebuah blok data (chunk) dikembalikan segera setelah sebagian konten berhasil dihasilkan. Anda harus membaca chunk-chunk ini secara real time untuk menyusun balasan lengkapnya.

Kami menyarankan Anda mengatur parameter ini ke true guna meningkatkan pengalaman pengguna dan mengurangi risiko timeout.

stream_options object (Opsional)

Opsi konfigurasi untuk output streaming. Parameter ini hanya berlaku ketika stream diatur ke true.

Properties

include_usage boolean (Opsional) Nilai default: false

Menentukan apakah informasi penggunaan token disertakan dalam blok data terakhir dari respons.

Nilai yang valid:

  • true

  • false

Untuk output streaming, informasi penggunaan token hanya dapat muncul dalam blok data terakhir dari respons.

modalities array (Opsional) Nilai default: ["text"]

Modalitas dari output data. Parameter ini hanya berlaku untuk model Qwen-Omni. Untuk informasi selengkapnya, lihat Omni-modal.

Nilai yang valid:

  • ["text","audio"]

  • ["text"]

audio object (Opsional)

Voice dan format audio output. Parameter ini hanya berlaku untuk model Qwen-Omni, dan parameter modalities harus diatur ke ["text","audio"]. Untuk informasi selengkapnya, lihat Omni-modal.

Properties

voice string (Wajib)

Voice dari audio output. Untuk informasi selengkapnya, lihat Voice list.

format string (Wajib)

Format audio output. Hanya wav yang didukung.

temperature float (Opsional)

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

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

Rentang nilai: [0, 2)

Baik temperature maupun top_p mengontrol keragaman teks yang dihasilkan. Kami menyarankan Anda hanya mengatur salah satu dari keduanya. Untuk informasi selengkapnya, lihat Ikhtisar model generasi teks.

Kami tidak menyarankan Anda mengubah nilai temperature default untuk model QVQ.

top_p float (Opsional)

Ambang batas probabilitas untuk nucleus sampling, yang mengontrol keragaman teks yang dihasilkan oleh model.

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

Rentang nilai: (0, 1,0]

Baik `temperature` maupun `top_p` mengontrol keragaman teks yang dihasilkan. Kami menyarankan Anda hanya mengatur salah satu dari keduanya. Untuk informasi selengkapnya, lihat Ikhtisar model generasi teks.

Kami tidak menyarankan Anda mengubah nilai top_p default untuk model QVQ.

top_k integer (Opsional)

Jumlah token kandidat yang diambil sampelnya selama proses generasi. Nilai yang lebih besar menghasilkan output yang lebih acak, sedangkan nilai yang lebih kecil menghasilkan output yang lebih deterministik. Jika parameter ini diatur ke null atau nilai lebih dari 100, strategi top_k dinonaktifkan, dan hanya strategi top_p yang berlaku. Nilainya harus berupa bilangan bulat yang lebih besar dari atau sama dengan 0.

Nilai default top_k

Seri QVQ, qwen-vl-plus-2025-07-10, qwen-vl-plus-2025-08-15: 10;

Seri QwQ: 40;

seri qwen-vl-plus lainnya, model sebelum qwen-vl-max-2025-08-13, qwen2.5-omni-7b: 1;

Seri Qwen3-Omni-Flash: 50;

Semua model lainnya: 20.

Parameter ini bukan parameter standar OpenAI. Saat Anda melakukan panggilan menggunakan Python SDK, letakkan parameter ini di dalam objek extra_body. Parameter dikonfigurasi sebagai berikut: `extra_body={"top_k":xxx}`.
Kami tidak menyarankan Anda mengubah nilai default top_k untuk model QVQ.

presence_penalty float (Opsional)

Mengontrol pengulangan konten dalam teks yang dihasilkan oleh model.

Rentang nilainya adalah [-2,0, 2,0]. Nilai positif mengurangi pengulangan, sedangkan nilai negatif meningkatkannya.

Untuk skenario penulisan kreatif atau curah pendapat yang membutuhkan keragaman, keseruan, atau kreativitas, kami menyarankan Anda menaikkan nilai ini. Untuk dokumen teknis atau teks formal yang menekankan konsistensi dan akurasi terminologi, kami menyarankan Anda menurunkan nilai ini.

Nilai presence_penalty default

qwen3-max-preview (thinking mode), Qwen3 (non-thinking mode), seri Qwen3-Instruct, qwen3-0,6b/1,7b/4b (thinking mode), seri QVQ, qwen-max, qwen-max-latest, qwen-max-latest, seri qwen2,5-vl, seri qwen-vl-max, qwen-vl-plus, Qwen3-VL (non-thinking): 1,5;

qwen-vl-plus-latest, qwen-vl-plus-2025-08-15: 1,2

qwen-vl-plus-2025-01-25: 1.0;

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

Semua model lainnya: 0,0.

Cara kerja

Jika nilai parameter positif, model memberikan penalty terhadap token yang sudah ada dalam teks saat ini. Penalty tersebut tidak bergantung pada jumlah kemunculan token. Hal ini mengurangi kemungkinan token tersebut muncul kembali, sehingga menurunkan pengulangan konten dan meningkatkan keragaman leksikal.

Contoh

Prompt: Terjemahkan kalimat ini ke dalam bahasa Inggris: "Esta película es buena. La trama es buena, la actuación es buena, la música es buena, y en general, toda la película es simplemente buena. Es realmente buena, de hecho. La trama es tan buena, y la actuación es tan buena, y la música es tan buena."

Nilai parameter 2,0: Film ini sangat bagus. Alur ceritanya hebat, aktingnya luar biasa, musiknya indah, dan secara keseluruhan, film ini benar-benar istimewa.

Nilai parameter 0,0: Film ini bagus. Alur ceritanya menarik, aktingnya kuat, musiknya pun apik—secara keseluruhan, film ini sangat bagus. Bahkan, film ini benar-benar hebat: alur ceritanya sangat menarik, aktingnya luar biasa, dan musiknya pun istimewa.

Nilai parameter -2.0: Film ini sangat bagus. Alur cerita, akting, dan musiknya semuanya luar biasa, menjadikan keseluruhan film benar-benar hebat.

Ketika Anda menggunakan model qwen-vl-plus-2025-01-25 untuk ekstraksi teks, kami menyarankan Anda mengatur `presence_penalty` ke 1,5.
Kami tidak menyarankan Anda mengubah nilai presence_penalty default untuk model QVQ.

response_format object (Opsional) Nilai default: {"type": "text"}

Format konten yang dikembalikan. Nilai yang valid:

  • {"type": "text"}: Menghasilkan tanggapan berupa teks.

  • {"type": "json_object"}: Menghasilkan string JSON dalam format standar. Untuk informasi selengkapnya, lihat Structured output.

Jika Anda menentukan {"type": "json_object"}, Anda harus secara eksplisit menginstruksikan model untuk menghasilkan output dalam format JSON pada prompt, misalnya, "Harap keluarkan dalam format JSON". Jika tidak, terjadi error.

Model yang didukung

  • Model generasi teks

    • 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 model Snapshot setelahnya

    • Seri Qwen-Plus (mode non-thinking): qwen-plus, qwen-plus-latest, qwen-plus-2025-01-25, dan model Snapshot setelahnya

    • Seri Qwen-Flash (mode non-thinking): qwen-flash, qwen-flash-2025-07-28, dan model Snapshot setelahnya

    • Seri Qwen-Turbo (mode non-thinking): qwen-turbo, qwen-turbo-latest, qwen-turbo-2024-11-01, dan model Snapshot setelahnya

    • Seri Qwen-Coder: qwen3-coder-plus, qwen3-coder-plus-2025-07-22, qwen3-coder-flash, dan qwen3-coder-flash-2025-07-28

    • Seri Qwen-Long: qwen-long-latest dan qwen-long-2025-01-25

  • Model generasi teks open-source

    • Qwen3 (mode non-thinking)

    • Qwen3-Coder

    • Model teks seri Qwen2.5 (tidak termasuk model math dan coder)

  • Model multimodal

    • Seri Qwen3-VL-Plus (mode non-thinking): qwen3-vl-plus, qwen3-vl-plus-2025-09-23, dan model Snapshot setelahnya

    • Seri Qwen3-VL-Flash (mode non-thinking): qwen3-vl-flash, qwen3-vl-flash-2025-10-15, dan model Snapshot setelahnya

    • Seri QwenVL-Max: qwen-vl-max (tidak termasuk versi latest dan Snapshot)

    • Seri QwenVL-Plus: qwen-vl-plus (tidak termasuk versi latest dan Snapshot)

  • Model multimodal open-source

    • Qwen3-VL (mode non-thinking)

max_input_tokens integer (Opsional)

Panjang token maksimum yang diizinkan untuk input. Parameter ini saat ini hanya didukung oleh model qwen-plus-0728 dan qwen-plus-latest.

  • Nilai default qwen-plus-latest: 129.024

    Nilai default dapat disesuaikan menjadi 1.000.000 di masa mendatang.
  • Nilai default qwen-plus-2025-07-28: 1.000.000

Parameter ini bukan parameter OpenAI standar. Saat Anda melakukan panggilan menggunakan Python SDK, letakkan parameter tersebut di dalam objek extra_body.Konfigurasinya sebagai berikut: extra_body={"max_input_tokens": xxx}.

max_tokens integer (Opsional)

Membatasi jumlah maksimum token dalam output model. Jika konten yang dihasilkan melebihi nilai ini, proses generasi akan berhenti lebih awal, dan finish_reason yang dikembalikan bernilai length.

Nilai default dan maksimumnya sama dengan panjang output maksimum model. Untuk informasi selengkapnya, lihat Daftar model.

Parameter ini berguna untuk skenario yang memerlukan pengendalian panjang output, seperti menghasilkan ringkasan atau kata kunci, atau untuk mengurangi biaya dan waktu respons.

Saat max_tokens dipicu, bidang `finish_reason` dalam tanggapan adalah length.

max_tokens tidak membatasi panjang rantai-pikiran untuk model berpikir.

vl_high_resolution_images boolean (Opsional) Nilai default: false

Menentukan apakah akan menaikkan batas maksimum piksel untuk citra input ke nilai piksel yang setara dengan 16384 token. Untuk informasi selengkapnya, lihat Processing high-resolution images.

  • vl_high_resolution_images: true: Strategi resolusi tetap digunakan, dan pengaturan max_pixels diabaikan. Jika sebuah citra melebihi resolusi ini, total pikselnya akan di-downscale hingga mencapai batas tersebut.

    Click to view the pixel limits for each model

    Ketika vl_high_resolution_images bernilai True, model-model berbeda memiliki batas piksel yang berbeda:

    • Qwen3-VL series, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, dan qwen-vl-plus-0815: 16777216 (setiap token setara dengan 32*32 piksel, yaitu 16384*32*32)

    • QVQ series, model Qwen2.5-VL lainnya: 12845056 (setiap token setara dengan 28*28 piksel, yaitu 16384*28*28)

  • vl_high_resolution_images bernilai false: Resolusi aktual ditentukan oleh kombinasi antara max_pixels dan batas default, dan nilai maksimum dari keduanya yang digunakan. Jika citra melebihi batas piksel ini, citra tersebut akan di-downscale.

    Click to view the default pixel limits for each model

    Ketika vl_high_resolution_images bernilai false, model-model berbeda memiliki batas piksel default yang berbeda:

    • Qwen3-VL series: 2621440 (2560*32*32, artinya batas token default adalah 2560)

    • qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, dan qwen-vl-plus-0815: 1310720 (1280*32*32, artinya batas token default adalah 1280)

    • QVQ series, model Qwen2.5-VL lainnya: 1003520 (1280*28*28, artinya batas token default adalah 1280)

Parameter ini bukan parameter standar OpenAI. Saat Anda melakukan panggilan menggunakan Python SDK, letakkan parameter ini dalam objek extra_body. Konfigurasinya sebagai berikut: `extra_body={"vl_high_resolution_images":xxx}`.

n integer (Opsional) Nilai default: 1

Menentukan jumlah response yang akan dihasilkan, dengan nilai dalam rentang 1-4. Parameter ini berguna untuk skenario yang memerlukan beberapa kandidat response, seperti penulisan kreatif atau iklan.

Hanya model qwen-plus dan Qwen3 (non-thinking mode) yang didukung.
Jika Anda mengirimkan parameter tools, Anda harus mengatur n ke 1.
Menambah nilai `n` meningkatkan konsumsi output token, tetapi tidak memengaruhi input token.

enable_thinking boolean (Opsional)

Saat Anda menggunakan model hybrid thinking yang dapat berpikir atau tidak berpikir sebelum membalas, parameter ini menentukan apakah mode berpikir diaktifkan. Parameter ini berlaku untuk model Qwen3, Qwen3-Omni-Flash, dan Qwen3-VL. Untuk informasi selengkapnya, lihat Deep thinking.

Nilai yang valid:

  • true

    Jika diaktifkan, konten berpikir dikembalikan dalam bidang reasoning_content.
  • false

Nilai default untuk berbagai model: Supported models

Parameter ini bukan parameter OpenAI standar. Saat Anda melakukan panggilan menggunakan Python SDK, letakkan parameter ini dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"enable_thinking": xxx}.

thinking_budget integer (Opsional)

Jumlah maksimum token untuk proses berpikir. Parameter ini berlaku untuk Qwen3-VL serta versi komersial dan open source dari model Qwen3. Untuk informasi selengkapnya, lihat Batas panjang chain-of-thought.

Nilai default-nya adalah panjang maksimum chain-of-thought model tersebut. Untuk informasi selengkapnya, lihat Daftar model.

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

enable_code_interpreter boolean (Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan fitur code interpreter. Pengaturan ini hanya berlaku ketika model bernilai qwen3-max-preview dan enable_thinking bernilai true. Untuk informasi selengkapnya, lihat Code interpreter.

Nilai yang valid:

  • true

  • false

Parameter ini bukan parameter standar OpenAI. Saat Anda melakukan panggilan menggunakan Python SDK, letakkan parameter ini di dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"enable_code_interpreter": xxx}.

seed integer (Opsional)

Seed bilangan acak. Parameter ini memastikan bahwa hasilnya dapat direproduksi untuk input dan parameter yang sama. Jika Anda mengirimkan nilai seed yang sama dalam suatu panggilan dan parameter lainnya tidak berubah, model akan mengembalikan hasil yang sama sebisa mungkin.

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

logprobs boolean (Opsional) Nilai default: false

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

  • true

  • false

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

Model yang didukung

  • Model snapshot dari seri qwen-plus (tidak termasuk model utama)

  • Model snapshot dari seri qwen-turbo (tidak termasuk model utama)

  • Model open source Qwen3

top_logprobs integer (Opsional) Nilai default: 0

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

Rentang nilai: [0, 5]

Parameter ini hanya berlaku ketika logprobs diatur ke true.

stop string atau array (Opsional)

Menentukan stop words. Ketika sebuah token_id atau string yang ditentukan dalam stop muncul dalam teks yang dihasilkan oleh model, proses generasi akan segera dihentikan.

Anda dapat meneruskan kata-kata sensitif untuk mengontrol output model.

Ketika stop berupa array, Anda tidak dapat menggunakan token_id dan string secara bersamaan sebagai elemen array. Misalnya, Anda tidak dapat menentukan ["Hello",104307].

tools array (Opsional)

Array yang berisi satu atau beberapa objek tool untuk dipanggil oleh model dalam Function calling. Untuk informasi selengkapnya, lihat Function calling.

Ketika tools diatur dan model menentukan bahwa suatu tool perlu dipanggil, respons akan mengembalikan informasi tool tersebut di bidang tool_calls.

Properties

type string (Wajib)

Jenis tool. Saat ini, hanya function yang didukung.

function object (Wajib)

Properties

name string (Wajib)

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

description string (Wajib)

Deskripsi tool yang membantu model memutuskan kapan dan bagaimana memanggilnya.

parameters object (Wajib)

Deskripsi parameter tool, yang harus berupa JSON Schema yang valid. Untuk penjelasan mengenai JSON Schema, lihat tautan ini. Jika parameter parameters kosong, artinya tool tersebut tidak memiliki parameter input, seperti tool kueri waktu.

tool_choice string atau objek (Opsional) Nilai default: auto

Strategi pemilihan tool. Untuk memaksa pemanggilan tool tertentu berdasarkan jenis pertanyaan—misalnya, selalu menggunakan tool spesifik atau menonaktifkan semua tool—Anda dapat mengatur parameter ini.

Nilai yang valid:

  • auto

    Model bahasa besar memilih strategi tool secara mandiri.

  • none

    Jika Anda tidak ingin memanggil tool apa pun, Anda dapat mengatur parameter tool_choice ke none.

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

    Untuk memaksa pemanggilan tool tertentu, Anda dapat mengatur parameter tool_choice ke {"type": "function", "function": {"name": "the_function_to_call"}}, di mana the_function_to_call adalah nama fungsi tool yang ditentukan.

    Model dalam mode thinking tidak mendukung pemaksaan pemanggilan tool tertentu.

parallel_tool_calls boolean (Opsional) Nilai default: false

Menentukan apakah pemanggilan alat secara paralel diaktifkan. Untuk informasi selengkapnya, lihat Parallel tool calling.

Nilai yang valid:

  • true

  • false

enable_search boolean (Opsional) Nilai default: false

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

Nilai yang valid:

  • true

    Jika pencarian web tidak dipicu setelah diaktifkan, Anda dapat mengoptimalkan prompt atau mengatur parameter forced_search dalam search_options untuk mengaktifkan forced search.
  • false

Mengaktifkan fitur pencarian web dapat meningkatkan konsumsi token.
Parameter ini bukan parameter standar OpenAI. Saat Anda melakukan panggilan menggunakan Python SDK, sertakan parameter ini dalam objek extra_body. Anda dapat mengonfigurasinya sebagai berikut: extra_body={"enable_search": True}.

search_options object (Opsional)

Strategi pencarian web. Untuk informasi selengkapnya, lihat Web search.

Properties

forced_search boolean (Opsional) Nilai default: false

Menentukan apakah pencarian web dipaksakan. Parameter ini hanya berlaku ketika enable_search bernilai true.

Nilai yang valid:

  • true

  • false: Model menentukan apakah akan menggunakan web search.

search_strategy string (Opsional) Nilai default: turbo

Strategi volume pencarian. Parameter ini hanya berlaku ketika enable_search bernilai true.

Nilai yang valid:

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

  • max: Mengadopsi strategi pencarian yang lebih komprehensif dan memanggil beberapa mesin pencari untuk mendapatkan hasil yang lebih detail. Namun, waktu respons mungkin lebih lama.

  • agent: Dapat memanggil tool web search dan model bahasa besar beberapa kali untuk mencapai pengambilan informasi dan integrasi konten dalam beberapa putaran.

    agent hanya berlaku untuk qwen3-max dan qwen3-max-2025-09-23.
    agent tidak dapat diatur bersamaan dengan strategi web search lainnya.

enable_search_extension boolean (Opsional) Nilai default: false

Menentukan apakah pencarian spesifik domain diaktifkan. Parameter ini hanya berlaku ketika enable_search bernilai true.

Nilai yang valid:

  • true

  • false

Parameter ini bukan parameter standar OpenAI. Saat Anda melakukan panggilan menggunakan Python SDK, letakkan parameter ini dalam objek extra_body.Konfigurasinya sebagai berikut: extra_body={"search_options": xxx}.

Objek respons Chat (output non-streaming)

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

id string

ID unik untuk panggilan ini.

choices array

Array berisi konten yang dihasilkan oleh model.

Properties

finish_reason string

Menunjukkan alasan mengapa model berhenti menghasilkan output.

Berikut tiga kemungkinan kasus:

  • stop: Output model berhenti secara alami atau parameter stop dalam input dipicu.

  • length: Generasi berhenti karena panjang output melebihi batas.

  • tool_calls: Diperlukan pemanggilan tool.

index integer

Indeks objek saat ini dalam array choices.

logprobs object

Informasi probabilitas token dari output model.

Properties

content array

Array yang berisi setiap token beserta log probabilitasnya.

Properties

token string

Teks token saat ini.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Digunakan untuk memulihkan konten output secara akurat, seperti emoji atau karakter Tiongkok.

logprob float

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

top_logprobs array

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

Properties

token string

Teks token kandidat.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Digunakan untuk memulihkan konten output secara akurat, seperti emoji atau karakter Tiongkok.

logprob float

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

message object

Pesan yang dikeluarkan oleh model.

Properties

content string

Konten balasan model.

reasoning_content string

Konten Rantai-pikiran model.

refusal string

Parameter ini saat ini tetap bernilai null.

role string

Peran pesan. Nilainya tetap assistant.

audio object

Parameter ini saat ini tetap bernilai null.

function_call (akan ditinggalkan) object

Nilai ini tetap null. Lihat parameter tool_calls.

tool_calls array

Informasi tool dan parameter input yang dihasilkan model setelah memulai Function calling.

Properties

id string

ID unik untuk respons tool ini.

type string

Jenis tool. Saat ini hanya mendukung function.

function object

Informasi tool.

Properties

name string

Nama tool.

arguments string

Informasi parameter input, dalam format string JSON.

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

index integer

Indeks tool saat ini dalam array tool_calls.

created integer

Timestamp Unix dalam satuan detik saat permintaan dibuat.

model string

Model yang digunakan untuk permintaan ini.

object string

Nilainya selalu chat.completion.

service_tier string

Parameter ini saat ini tetap bernilai null.

system_fingerprint string

Parameter ini saat ini tetap bernilai null.

usage object

Informasi konsumsi token untuk permintaan ini.

Properties

completion_tokens integer

Jumlah token dalam output model.

prompt_tokens integer

Jumlah token dalam input.

total_tokens integer

Total jumlah token yang dikonsumsi, yaitu jumlah dari prompt_tokens dan completion_tokens.

completion_tokens_details object

Rincian detail halus token output saat Anda menggunakan model Qwen-VL.

Properties

audio_tokens integer

Parameter ini saat ini tetap bernilai null.

reasoning_tokens integer

Parameter ini saat ini tetap bernilai null.

text_tokens integer

Jumlah token teks dalam output model Qwen-VL.

prompt_tokens_details object

Rincian detail halus token input.

Properties

audio_tokens integer

Parameter ini saat ini tetap bernilai null.

cached_tokens integer

Jumlah token yang mengenai cache. Untuk informasi selengkapnya, lihat context cache.

text_tokens integer

Jumlah token teks dalam input model Qwen-VL.

image_tokens integer

Jumlah token citra dalam input model Qwen-VL.

video_tokens integer

Jumlah token untuk file video input atau daftar citra dalam model Qwen-VL.

cache_creation object

Informasi tentang pembuatan explicit cache.

Properties

ephemeral_5m_input_tokens integer

Jumlah token yang digunakan untuk membuat explicit cache.

cache_creation_input_tokens integer

Jumlah token yang digunakan untuk membuat explicit cache.

cache_type string

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

Objek chunk respons chat (keluaran streaming)

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

id string

ID unik untuk panggilan ini. Setiap objek chunk memiliki ID yang sama.

choices array

Array berisi konten yang dihasilkan oleh model, yang dapat berisi satu atau beberapa objek. Jika parameter include_usage diatur ke true, choices akan berupa array kosong pada chunk terakhir.

Properti

delta object

Objek inkremental dari permintaan.

Properti

content string

Konten pesan inkremental.

reasoning_content string

Konten Rantai-pikiran (chain-of-thought) inkremental.

function_call object

Nilai ini secara default adalah null. Lihat parameter tool_calls.

audio object

Balasan yang dihasilkan saat Anda menggunakan model Qwen-Omni.

Properti

data string

Data audio yang dikodekan Base64 secara inkremental.

expires_at integer

Timestamp saat permintaan dibuat.

refusal object

Parameter ini saat ini selalu bernilai null.

role string

Peran dari objek pesan inkremental. Nilai ini hanya ada pada chunk pertama.

tool_calls array

Informasi tool dan parameter input yang dihasilkan oleh model setelah memulai Function calling.

Properti

index integer

Indeks tool saat ini dalam array tool_calls.

id string

ID unik untuk respons tool ini.

function object

Informasi tool yang dipanggil.

Properti

arguments string

Informasi parameter input secara inkremental. Parameter input lengkap merupakan gabungan dari nilai arguments dari semua chunk.

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

name string

Nama tool. Nilai ini hanya ada pada chunk pertama.

type string

Tipe tool. Saat ini hanya mendukung function.

finish_reason string

Model berhenti menghasilkan output karena salah satu dari empat alasan berikut:

  • stop: Output model berhenti secara alami atau parameter stop dalam input dipicu.

  • null: Proses generasi belum selesai.

  • length: Proses generasi berhenti karena panjang output melebihi batas.

  • tool_calls: Diperlukan pemanggilan tool.

index integer

Indeks respons saat ini dalam array choices. Ketika parameter input `n` lebih besar dari 1, Anda harus menggunakan parameter ini untuk menggabungkan konten lengkap dari respons yang berbeda.

logprobs object

Informasi probabilitas dari objek saat ini.

Properti

content array

Array token yang dilengkapi informasi log probabilitas.

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Digunakan untuk memulihkan konten output secara akurat, terutama saat menangani emoji dan karakter Tiongkok.

logprob float

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

top_logprobs array

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

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Digunakan untuk memulihkan konten output secara akurat, terutama saat menangani emoji dan karakter Tiongkok.

logprob float

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

created integer

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

model string

Model yang digunakan untuk permintaan ini.

object string

Nilainya selalu chat.completion.chunk.

service_tier string

Parameter ini saat ini selalu bernilai null.

system_fingerprintstring

Parameter ini saat ini selalu bernilai null.

usage object

Token yang dikonsumsi oleh permintaan ini. Informasi ini hanya ditampilkan pada chunk terakhir ketika include_usage bernilai true.

Properti

completion_tokens integer

Jumlah token dalam output model.

prompt_tokens integer

Jumlah token input.

total_tokens integer

Jumlah total token, yaitu jumlah dari prompt_tokens dan completion_tokens.

completion_tokens_details object

Informasi detail mengenai token output.

Properti

audio_tokens integer

Jumlah token audio dalam output dari model Qwen-Omni.

reasoning_tokens integer

Jumlah token dalam proses berpikir.

text_tokens integer

Jumlah token teks output.

prompt_tokens_details object

Rincian detail halus mengenai token input.

Properti

audio_tokens integer

Jumlah token dalam audio input.

Jumlah token audio dalam file video dikembalikan melalui parameter ini.

text_tokens integer

Jumlah token dalam teks input.

video_tokens integer

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

image_tokens integer

Jumlah token dalam citra input.

cached_tokens integer

Jumlah token yang mengenai cache. Untuk informasi lebih lanjut, lihat Context cache.

cache_creation object

Informasi mengenai pembuatan cache eksplisit.

Properti

ephemeral_5m_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_creation_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_type string

Tipe cache. Nilainya selalu ephemeral.

DashScope

Wilayah Singapura

Titik akhir permintaan HTTP:

  • Model bahasa besar Qwen: POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation

  • Model Qwen-VL: POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Untuk panggilan SDK, base_url adalah:

Kode Python

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

Kode Java

  • Metode 1:

    import com.alibaba.dashscope.protocol.Protocol;
    Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
  • Metode 2:

    import com.alibaba.dashscope.utils.Constants;
    Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";

Wilayah China (Beijing)

Titik akhir permintaan HTTP:

  • Model bahasa besar Qwen: POST https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation

  • Model Qwen-VL: POST https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation

Tidak diperlukan konfigurasi base_url untuk panggilan SDK.

Pertama buat Kunci API dan ekspor kunci API sebagai Variabel lingkungan. Jika Anda menggunakan SDK DashScope, instal SDK DashScope.

badan permintaan

Input teks

Python

import os
import dashscope

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
messages = [
    {'role': 'system', 'content': 'You are a helpful assistant.'},
    {'role': 'user', 'content': 'Who are you?'}
]
response = dashscope.Generation.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
    # 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="qwen-plus", # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
    messages=messages,
    result_format='message'
    )
print(response)

Java

// Kami merekomendasikan penggunaan SDK DashScope versi 2.12.0 atau yang lebih baru.
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.protocol.Protocol;

public class Main {
    public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
        Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
        // base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
        Message systemMsg = Message.builder()
                .role(Role.SYSTEM.getValue())
                .content("You are a helpful assistant.")
                .build();
        Message userMsg = Message.builder()
                .role(Role.USER.getValue())
                .content("Who are you?")
                .build();
        GenerationParam param = GenerationParam.builder()
                // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
                // 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"))
                // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
                .model("qwen-plus")
                .messages(Arrays.asList(systemMsg, userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .build();
        return gen.call(param);
    }
    public static void main(String[] args) {
        try {
            GenerationResult result = callWithMessage();
            System.out.println(JsonUtils.toJson(result));
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            // Gunakan framework logging untuk mencatat informasi pengecualian.
            System.err.println("An error occurred while calling the generation service: " + e.getMessage());
        }
        System.exit(0);
    }
}

PHP (HTTP)

<?php
// URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
$url = "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// 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 = getenv('DASHSCOPE_API_KEY');

$data = [
    // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
    "model" => "qwen-plus",
    "input" => [
        "messages" => [
            [
                "role" => "system",
                "content" => "You are a helpful assistant."
            ],
            [
                "role" => "user",
                "content" => "Who are you?"
            ]
        ]
    ],
    "parameters" => [
        "result_format" => "message"
    ]
];

$jsonData = json_encode($data);

$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
    "Authorization: Bearer $apiKey",
    "Content-Type: application/json"
]);

$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);

if ($httpCode == 200) {
    echo "Response: " . $response;
} else {
    echo "Error: " . $httpCode . " - " . $response;
}

curl_close($ch);
?>

Node.js (HTTP)

DashScope tidak menyediakan SDK untuk lingkungan Node.js. Untuk melakukan panggilan menggunakan SDK OpenAI Node.js, lihat bagian OpenAI topik ini.

import fetch from 'node-fetch';
// 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 = getenv('DASHSCOPE_API_KEY');
const apiKey = process.env.DASHSCOPE_API_KEY;

const data = {
    model: "qwen-plus", // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
    input: {
        messages: [
            {
                role: "system",
                content: "You are a helpful assistant."
            },
            {
                role: "user",
                content: "Who are you?"
            }
        ]
    },
    parameters: {
        result_format: "message"
    }
};

fetch('https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation', {
// URL di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
    method: 'POST',
    headers: {
        'Authorization': `Bearer ${apiKey}`,
        'Content-Type': 'application/json'
    },
    body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
    console.log(JSON.stringify(data));
})
.catch(error => {
    console.error('Error:', error);
});

C# (HTTP)

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

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

    static async Task Main(string[] args)
    {
        // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan string? apiKey = "sk-xxx"; menggunakan Kunci API Model Studio Anda.
        // 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 = getenv('DASHSCOPE_API_KEY');
        string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");

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

        // Setel URL permintaan dan konten.
        // base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
        string url = "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
        // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
        string jsonContent = @"{
            ""model"": ""qwen-plus"", 
            ""input"": {
                ""messages"": [
                    {
                        ""role"": ""system"",
                        ""content"": ""You are a helpful assistant.""
                    },
                    {
                        ""role"": ""user"",
                        ""content"": ""Who are you?""
                    }
                ]
            },
            ""parameters"": {
                ""result_format"": ""message""
            }
        }";

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

        // Cetak hasilnya.
        Console.WriteLine(result);
    }

    private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
    {
        using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
        {
            // Setel header permintaan.
            httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
            httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));

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

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

Go (HTTP)

DashScope tidak menyediakan SDK untuk Go. Untuk melakukan panggilan menggunakan SDK OpenAI Go, lihat bagian OpenAI-Go topik ini.

package main

import (
	"bytes"
	"encoding/json"
	"fmt"
	"io"
	"log"
	"net/http"
	"os"
)

type Message struct {
	Role    string `json:"role"`
	Content string `json:"content"`
}

type Input struct {
	Messages []Message `json:"messages"`
}

type Parameters struct {
	ResultFormat string `json:"result_format"`
}

type RequestBody struct {
	Model      string     `json:"model"`
	Input      Input      `json:"input"`
	Parameters Parameters `json:"parameters"`
}

func main() {
	// Buat klien HTTP.
	client := &http.Client{}

	// Bangun badan permintaan.
	requestBody := RequestBody{
		// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
		Model: "qwen-plus",
		Input: Input{
			Messages: []Message{
				{
					Role:    "system",
					Content: "You are a helpful assistant.",
				},
				{
					Role:    "user",
					Content: "Who are you?",
				},
			},
		},
		Parameters: Parameters{
			ResultFormat: "message",
		},
	}

	jsonData, err := json.Marshal(requestBody)
	if err != nil {
		log.Fatal(err)
	}

	// Buat permintaan POST.
	// base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
	req, err := http.NewRequest("POST", "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation", bytes.NewBuffer(jsonData))
	if err != nil {
		log.Fatal(err)
	}

	// Setel header permintaan.
	// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda.
	// 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 := os.Getenv("DASHSCOPE_API_KEY")
	req.Header.Set("Authorization", "Bearer "+apiKey)
	req.Header.Set("Content-Type", "application/json")

	// Kirim permintaan.
	resp, err := client.Do(req)
	if err != nil {
		log.Fatal(err)
	}
	defer resp.Body.Close()

	// Baca isi respons.
	bodyText, err := io.ReadAll(resp.Body)
	if err != nil {
		log.Fatal(err)
	}

	// Cetak konten respons.
	fmt.Printf("%s\n", bodyText)
}

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API
URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
curl --location "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-plus",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "Who are you?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

keluaran streaming

Untuk informasi selengkapnya, lihat Streaming.

Model generasi teks

Python

import os
import dashscope

# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
    {'role':'system','content':'you are a helpful assistant'},
    {'role': 'user','content': 'Who are you?'}
]
responses = dashscope.Generation.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
    # 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'),
    # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
    model="qwen-plus",
    messages=messages,
    result_format='message',
    stream=True,
    incremental_output=True
    )
for response in responses:
    print(response)  

Java

import java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import io.reactivex.Flowable;
import java.lang.System;
import com.alibaba.dashscope.protocol.Protocol;

public class Main {
    private static final Logger logger = LoggerFactory.getLogger(Main.class);
    private static void handleGenerationResult(GenerationResult message) {
        System.out.println(JsonUtils.toJson(message));
    }
    public static void streamCallWithMessage(Generation gen, Message userMsg)
            throws NoApiKeyException, ApiException, InputRequiredException {
        GenerationParam param = buildGenerationParam(userMsg);
        Flowable<GenerationResult> result = gen.streamCall(param);
        result.blockingForEach(message -> handleGenerationResult(message));
    }
    private static GenerationParam buildGenerationParam(Message userMsg) {
        return GenerationParam.builder()
                // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
                // 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"))
                // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
                .model("qwen-plus")
                .messages(Arrays.asList(userMsg))
                .resultFormat(GenerationParam.ResultFormat.MESSAGE)
                .incrementalOutput(true)
                .build();
    }
    public static void main(String[] args) {
        try {
            // URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1.
            Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
            Message userMsg = Message.builder().role(Role.USER.getValue()).content("Who are you?").build();
            streamCallWithMessage(gen, userMsg);
        } catch (ApiException | NoApiKeyException | InputRequiredException  e) {
            logger.error("An exception occurred: {}", e.getMessage());
        }
        System.exit(0);
    }
}

curl

# ======= Penting =======
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
# === Hapus komentar ini sebelum eksekusi ====

curl --location "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data '{
    "model": "qwen-plus",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "user",
                "content": "Who are you?"
            }
        ]
    },
    "parameters": {
        "result_format": "message",
        "incremental_output":true
    }
}'

Model multimodal

Python

import os
from dashscope import MultiModalConversation
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/compatible-mode/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'

messages = [
    {
        "role": "user",
        "content": [
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
            {"text": "What is depicted in the image?"}
        ]
    }
]

responses = MultiModalConversation.call(
    # 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 variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx", menggunakan Kunci API Model Studio Anda.
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    model='qwen3-vl-plus',  #  Anda dapat mengganti model dengan model multimodal lain dan menyesuaikan pesan sesuai kebutuhan.
    messages=messages,
    stream=True,
    incremental_output=True)
    
full_content = ""
print("Streaming output content:")
for response in responses:
    if response["output"]["choices"][0]["message"].content:
        print(response.output.choices[0].message.content[0]['text'])
        full_content += response.output.choices[0].message.content[0]['text']
print(f"Full content: {full_content}")

Java

import java.util.Arrays;
import java.util.Collections;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import io.reactivex.Flowable;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
        // base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    public static void streamCall()
            throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        // must create mutable map.
        MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
                .content(Arrays.asList(Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"),
                        Collections.singletonMap("text", "What is depicted in the image?"))).build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // 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 variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                .model("qwen3-vl-plus")  //  Anda dapat mengganti model dengan model multimodal lain dan menyesuaikan pesan sesuai kebutuhan.
                .messages(Arrays.asList(userMessage))
                .incrementalOutput(true)
                .build();
        Flowable<MultiModalConversationResult> result = conv.streamCall(param);
        result.blockingForEach(item -> {
            try {
                var content = item.getOutput().getChoices().get(0).getMessage().getContent();
                    // Periksa apakah konten ada dan tidak kosong.
                if (content != null &&  !content.isEmpty()) {
                    System.out.println(content.get(0).get("text"));
                    }
            } catch (Exception e){
                System.exit(0);
            }
        });
    }

    public static void main(String[] args) {
        try {
            streamCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

# ======= 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.
# base_url berikut 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://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
                    {"text": "What is depicted in the image?"}
                ]
            }
        ]
    },
    "parameters": {
        "incremental_output": true
    }
}'

Input citra

Untuk informasi selengkapnya tentang cara menggunakan model besar untuk menganalisis citra, lihat Pemahaman visual.

Python

import os
import dashscope

# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_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://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},
            {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"},
            {"text": "What are these?"}
        ]
    }
]
response = dashscope.MultiModalConversation.call(
    # Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
    # base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    # Contoh ini menggunakan qwen-vl-max. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
    model='qwen-vl-max',
    messages=messages
    )
print(response)

Java

// Copyright (c) Alibaba, Inc. and its affiliates.

import java.util.Arrays;
import java.util.Collections;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
public class Main {
    static {
     Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";  // base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1;
    }
    public static void simpleMultiModalConversationCall()
            throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
                .content(Arrays.asList(
                        Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"),
                        Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"),
                        Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"),
                        Collections.singletonMap("text", "What are these?"))).build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
                // base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // Contoh ini menggunakan qwen-vl-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
                .model("qwen-vl-plus")
                .message(userMessage)
                .build();
        MultiModalConversationResult result = conv.call(param);
        System.out.println(JsonUtils.toJson(result));
    }

    public static void main(String[] args) {
        try {
            simpleMultiModalConversationCall();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API
URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation.
curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
    "model": "qwen-vl-plus",
    "input":{
        "messages":[
            {
                "role": "user",
                "content": [
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},
                    {"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"},
                    {"text": "What are these?"}
                ]
            }
        ]
    }
}'

Input video

Kode berikut memberikan contoh cara meneruskan frame video. Untuk informasi selengkapnya tentang metode penggunaan lainnya, seperti meneruskan file video, lihat Pemahaman visual.

Python

import os
# Diperlukan SDK DashScope versi 1.20.10 atau yang lebih baru.
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{"role": "user",
             "content": [
                  # Jika model berada dalam seri Qwen2.5-VL dan daftar citra diteruskan, Anda dapat mengatur parameter fps. Parameter ini menunjukkan bahwa daftar citra diekstraksi dari video asli dengan interval 1/fps detik.
                 {"video":["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
                           "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
                           "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
                           "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"],
                   "fps":2},
                 {"text": "Describe the specific process in this video"}]}]
response = dashscope.MultiModalConversation.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
    # 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='qwen2.5-vl-72b-instruct',  # Contoh ini menggunakan qwen2.5-vl-72b-instruct. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/models.
    messages=messages
)
print(response["output"]["choices"][0]["message"].content[0]["text"])

Java

// Diperlukan SDK DashScope versi 2.18.3 atau yang lebih baru.
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;

import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;

public class Main {
    static {
         // base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
        Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
    }
    private static final String MODEL_NAME = "qwen2.5-vl-72b-instruct"; // Contoh ini menggunakan qwen2.5-vl-72b-instruct. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/models.
    public static void videoImageListSample() throws ApiException, NoApiKeyException, UploadFileException {
        MultiModalConversation conv = new MultiModalConversation();
        MultiModalMessage systemMessage = MultiModalMessage.builder()
                .role(Role.SYSTEM.getValue())
                .content(Arrays.asList(Collections.singletonMap("text", "You are a helpful assistant.")))
                .build();
        //  Jika model berada dalam seri Qwen2.5-VL dan daftar citra diteruskan, Anda dapat mengatur parameter fps. Parameter ini menunjukkan bahwa daftar citra diekstraksi dari video asli dengan interval 1/fps detik.
        Map<String, Object> params = Map.of(
                "video", Arrays.asList("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
                        "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
                        "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
                        "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"),
                "fps",2);
        MultiModalMessage userMessage = MultiModalMessage.builder()
                .role(Role.USER.getValue())
                .content(Arrays.asList(
                        params,
                        Collections.singletonMap("text", "Describe the specific process in this video")))
                .build();
        MultiModalConversationParam param = MultiModalConversationParam.builder()
                // Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
                // 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(MODEL_NAME)
                .messages(Arrays.asList(systemMessage, userMessage)).build();
        MultiModalConversationResult result = conv.call(param);
        System.out.print(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
    }
    public static void main(String[] args) {
        try {
            videoImageListSample();
        } catch (ApiException | NoApiKeyException | UploadFileException e) {
            System.out.println(e.getMessage());
        }
        System.exit(0);
    }
}

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API
URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation.
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' \
-d '{
  "model": "qwen2.5-vl-72b-instruct",
  "input": {
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "video": [
              "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
              "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
              "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
              "https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"
            ],
            "fps":2
                 
          },
          {
            "text": "Describe the specific process in this video"
          }
        ]
      }
    ]
  }
}'

Pemanggilan alat

Untuk kode lengkap alur Function calling, lihat Ikhtisar model generasi teks.

Python

import os
import dashscope
  # base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
tools = [
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "Useful for when you want to know the current time.",
            "parameters": {}
        }
    },
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Useful for when you want to query the weather in a specific city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location": {
                        "type": "string",
                        "description": "A city or district, such as Beijing, Hangzhou, or Yuhang."
                    }
                }
            },
            "required": [
                "location"
            ]
        }
    }
]
messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}]
response = dashscope.Generation.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
    # 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'),
    # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
    model='qwen-plus',
    messages=messages,
    tools=tools,
    result_format='message'
)
print(response)

Java

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.alibaba.dashscope.aigc.conversation.ConversationParam.ResultFormat;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.tools.FunctionDefinition;
import com.alibaba.dashscope.tools.ToolFunction;
import com.alibaba.dashscope.utils.JsonUtils;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.victools.jsonschema.generator.Option;
import com.github.victools.jsonschema.generator.OptionPreset;
import com.github.victools.jsonschema.generator.SchemaGenerator;
import com.github.victools.jsonschema.generator.SchemaGeneratorConfig;
import com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder;
import com.github.victools.jsonschema.generator.SchemaVersion;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import com.alibaba.dashscope.protocol.Protocol;

public class Main {
    public class GetWeatherTool {
        private String location;
        public GetWeatherTool(String location) {
            this.location = location;
        }
        public String call() {
            return location + " is sunny today";
        }
    }
    public class GetTimeTool {
        public GetTimeTool() {
        }
        public String call() {
            LocalDateTime now = LocalDateTime.now();
            DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
            String currentTime = "Current time: " + now.format(formatter) + ".";
            return currentTime;
        }
    }
    public static void SelectTool()
            throws NoApiKeyException, ApiException, InputRequiredException {
        SchemaGeneratorConfigBuilder configBuilder =
                new SchemaGeneratorConfigBuilder(SchemaVersion.DRAFT_2020_12, OptionPreset.PLAIN_JSON);
        SchemaGeneratorConfig config = configBuilder.with(Option.EXTRA_OPEN_API_FORMAT_VALUES)
                .without(Option.FLATTENED_ENUMS_FROM_TOSTRING).build();
        SchemaGenerator generator = new SchemaGenerator(config);
        ObjectNode jsonSchema_weather = generator.generateSchema(GetWeatherTool.class);
        ObjectNode jsonSchema_time = generator.generateSchema(GetTimeTool.class);
        FunctionDefinition fdWeather = FunctionDefinition.builder().name("get_current_weather").description("Get the weather for a specified area")
                .parameters(JsonUtils.parseString(jsonSchema_weather.toString()).getAsJsonObject()).build();
        FunctionDefinition fdTime = FunctionDefinition.builder().name("get_current_time").description("Get the current time")
                .parameters(JsonUtils.parseString(jsonSchema_time.toString()).getAsJsonObject()).build();
        Message systemMsg = Message.builder().role(Role.SYSTEM.getValue())
                .content("You are a helpful assistant. When asked a question, use tools wherever possible.")
                .build();
        Message userMsg = Message.builder().role(Role.USER.getValue()).content("Weather in Hangzhou").build();
        List<Message> messages = new ArrayList<>();
        messages.addAll(Arrays.asList(systemMsg, userMsg));
        GenerationParam param = GenerationParam.builder()
                // 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"))
                // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
                .model("qwen-plus")
                .messages(messages)
                .resultFormat(ResultFormat.MESSAGE)
                .tools(Arrays.asList(
                        ToolFunction.builder().function(fdWeather).build(),
                        ToolFunction.builder().function(fdTime).build()))
                .build();
        Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
        // base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
        GenerationResult result = gen.call(param);
        System.out.println(JsonUtils.toJson(result));
    }
    public static void main(String[] args) {
        try {
            SelectTool();
        } catch (ApiException | NoApiKeyException | InputRequiredException e) {
            System.out.println(String.format("Exception %s", e.getMessage()));
        }
        System.exit(0);
    }
}

curl

Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API
URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
curl --location "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-plus",
    "input": {
        "messages": [{
            "role": "user",
            "content": "What is the weather like in Hangzhou?"
        }]
    },
    "parameters": {
        "result_format": "message",
        "tools": [{
            "type": "function",
            "function": {
                "name": "get_current_time",
                "description": "Useful for when you want to know the current time.",
                "parameters": {}
            }
        },{
            "type": "function",
            "function": {
                "name": "get_current_weather",
                "description": "Useful for when you want to query the weather in a specific city.",
                "parameters": {
                    "type": "object",
                    "properties": {
                        "location": {
                            "type": "string",
                            "description": "A city or district, such as Beijing, Hangzhou, or Yuhang."
                        }
                    }
                },
                "required": ["location"]
            }
        }]
    }
}'

Pemanggilan asinkron

# Versi SDK Python Dashscope Anda harus 1.19.0 atau yang lebih baru.
import asyncio
import platform
import os
import dashscope
from dashscope.aigc.generation import AioGeneration

dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
async def main():
    response = await AioGeneration.call(
        # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
        # 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'),
        # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
        model="qwen-plus",
        messages=[{"role": "user", "content": "Who are you"}],
        result_format="message",
    )
    print(response)

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

Pemahaman dokumen

Python

import os
import dashscope

# Saat ini, hanya wilayah Beijing yang mendukung pemanggilan model qwen-long-latest.
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
messages = [
        {'role': 'system', 'content': 'you are a helpful assisstant'},
        # Ganti '{FILE_ID}' dengan file-id yang digunakan dalam skenario percakapan Anda.
        {'role':'system','content':f'fileid://{FILE_ID}'},
        {'role': 'user', 'content': 'What is this article about?'}]
response = dashscope.Generation.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-long-latest",
    messages=messages,
    result_format='message'
)
print(response)

Java

import os
import dashscope

# Saat ini, hanya wilayah Beijing yang mendukung pemanggilan model qwen-long-latest.
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
messages = [
        {'role': 'system', 'content': 'you are a helpful assisstant'},
        # Ganti '{FILE_ID}' dengan file-id yang digunakan dalam skenario percakapan Anda.
        {'role':'system','content':f'fileid://{FILE_ID}'},
        {'role': 'user', 'content': 'What is this article about?'}]
response = dashscope.Generation.call(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
    api_key=os.getenv('DASHSCOPE_API_KEY'),
    model="qwen-long-latest",
    messages=messages,
    result_format='message'
)
print(response)

curl

Saat ini, Anda hanya dapat memanggil model pemahaman dokumen di wilayah Beijing.
Ganti {FILE_ID} dengan ID file untuk skenario percakapan Anda.
curl --location "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
    "model": "qwen-long-latest",
    "input":{
        "messages":[      
            {
                "role": "system",
                "content": "You are a helpful assistant."
            },
            {
                "role": "system",
                "content": "fileid://{FILE_ID}"
            },
            {
                "role": "user",
                "content": "What is this article about?"
            }
        ]
    },
    "parameters": {
        "result_format": "message"
    }
}'

model string (Wajib)

Nama model.

Model yang didukung meliputi model bahasa besar Qwen (komersial dan open source), Qwen-VL, dan Qwen-Coder.

Untuk nama model spesifik dan informasi penagihan, lihat Daftar model.

messages array (Wajib)

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

Saat Anda melakukan panggilan menggunakan HTTP, letakkan messages dalam objek input.

Jenis pesan

Pesan Sistem object (Opsional)

Pesan sistem yang menetapkan peran, nada, tujuan tugas, atau batasan untuk model bahasa besar. Pesan ini biasanya ditempatkan di awal array messages.

Kami tidak merekomendasikan menetapkan Pesan Sistem untuk model QwQ. Menetapkan Pesan Sistem untuk model QVQ tidak berpengaruh.

Properti

content string (Wajib)

Konten pesan.

role string (Wajib)

Peran untuk pesan sistem. Nilainya tetap sebagai system.

Pesan Pengguna object (Wajib)

Pesan pengguna yang meneruskan pertanyaan, instruksi, atau konteks ke model.

Properti

content string atau array (Wajib)

Konten pesan. Nilainya berupa string jika input hanya teks. Nilainya berupa array jika input mencakup data multimodal, seperti citra, atau jika caching eksplisit diaktifkan.

Properti

text string (Wajib)

Teks input.

image string (Opsional)

Menentukan file citra untuk pemahaman citra. Anda dapat meneruskan citra dengan salah satu dari tiga cara berikut:

  • URL publik citra.

  • Encoding Base64 citra, dalam format data:image/<format>;base64,<data>.

  • Jalur mutlak file lokal.

Model yang berlaku: Qwen-VL, QVQ

Nilai contoh: {"image":"https://xxxx.jpeg"}

video array atau string (Opsional)

Video yang diteruskan ke model Qwen-VL atau model QVQ.

  • Jika Anda meneruskan daftar citra, nilainya berupa array.

  • Jika Anda meneruskan file video, nilainya berupa string.

Untuk informasi tentang cara meneruskan file lokal, lihat File lokal (Qwen-VL) atau File lokal (QVQ).

Nilai contoh:

  • Daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"]}

  • File video: {"video":"https://xxx.mp4"}

fps float (Opsional)

Jumlah frame yang diekstraksi per detik. Nilainya harus berada dalam rentang (0,1, 10). Nilai default adalah 2,0.

Parameter ini memiliki dua fungsi:

  • Saat Anda memasukkan file video, parameter ini mengontrol frekuensi ekstraksi frame. Satu frame diekstraksi setiap detik.

    Berlaku untuk model Qwen-VL dan model QVQ.
  • Parameter ini memberi tahu model tentang interval waktu antara frame yang berdekatan, yang membantu model memahami dinamika temporal video dengan lebih baik. Fungsi ini berlaku untuk input file video maupun daftar citra, dan cocok untuk skenario seperti lokalisasi waktu kejadian atau ringkasan konten segmen.

    Mendukung model Qwen2.5-VL dan Qwen3-VL, serta model QVQ.

Nilai contoh sebagai berikut:

  • Input daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "fps":2}

  • Input file video: {"video": "https://xx1.mp4", "fps":2}

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

Protokol kompatibel OpenAI tidak mendukung parameter ini. Untuk file video, satu frame diekstraksi setiap 0,5 detik secara default. Untuk daftar citra, frame diasumsikan diekstraksi dari video dengan interval yang sama.

min_pixels integer (Opsional)

Menetapkan ambang batas piksel minimum untuk citra input atau frame video. Jika citra input atau frame video memiliki jumlah piksel lebih sedikit daripada nilai min_pixels, citra atau frame tersebut diperbesar hingga jumlah total pikselnya melebihi nilai min_pixels.

  • Input citra:

    • Model yang berlaku: Model QVQ dan Qwen-VL didukung.

    • Rentang nilai: Rentang nilainya sebagai berikut:

      Rentang nilai min_pixels

      • Qwen3-VL: Nilai default dan minimum adalah 65536.

      • qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815: Nilai default dan minimum adalah 4096.

      • QVQ dan model Qwen2.5-VL lainnya: Nilai default dan minimum adalah 3136.

    • Nilai contoh: {"image":"https://xxxx.jpg", "min_pixels": 65536}

  • Untuk input file video atau daftar citra:

    • Model yang berlaku: Parameter ini hanya didukung untuk model qwen3-vl-plus dan qwen3-vl-plus-2025-09-23.

    • Rentang nilai: Nilai default adalah 65536. Nilai minimum adalah 4096.

    • Nilai contoh:

      • Saat Anda memasukkan file video: {"video":"https://xxxx.mp4","min_pixels": 65536}

      • Saat Anda memasukkan daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "min_pixels": 65536}

Protokol kompatibel OpenAI hanya mendukung parameter ini saat Anda meneruskan citra.

max_pixels integer (Opsional)

Menetapkan ambang batas piksel maksimum untuk citra input atau frame video. Jika jumlah piksel dalam citra input berada dalam rentang [min_pixels, max_pixels], model mengenali citra aslinya. Jika jumlah piksel dalam citra input melebihi nilai max_pixels, citra tersebut diperkecil hingga jumlah total pikselnya kurang dari nilai max_pixels.

  • Input citra:

    • Model yang berlaku: Model QVQ dan Qwen-VL didukung.

    • Rentang nilai: Rentang nilainya sebagai berikut:

      Rentang nilai max_pixels

      Nilai max_pixels bergantung pada apakah parameter <a baseurl="t2614691_v57_3_0.xdita" data-node="4759789" data-root="85177" data-tag="xref" href="#0edad44583knr" id="76947623cc33m">vl_high_resolution_images</a> diaktifkan.

      • Jika vl_high_resolution_images diatur ke False:

        • Qwen3-VL: Nilai default adalah 2621440. Nilai maksimum adalah 16777216.

        • qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815: Nilai default adalah 1310720. Nilai maksimum adalah 16777216.

        • QVQ dan model Qwen2.5-VL lainnya: Nilai default adalah 1003520. Nilai maksimum adalah 12845056.

      • Jika vl_high_resolution_images diatur ke True:

        • Qwen3-VL, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815: Parameter max_pixels tidak berlaku. Jumlah piksel maksimum untuk citra input ditetapkan pada 16777216.

        • QVQ dan model Qwen2.5-VL lainnya: Parameter max_pixels tidak berlaku. Jumlah piksel maksimum untuk citra input ditetapkan pada 12845056.

    • Nilai contoh: {"image":"https://xxxx.jpg", "max_pixels": 8388608}

  • Untuk input file video atau daftar citra:

    • Model yang berlaku: Parameter ini hanya didukung untuk model qwen3-vl-plus dan qwen3-vl-plus-2025-09-23.

    • Rentang nilai: Nilai default adalah 655360. Nilai maksimum adalah 2048000.

    • Nilai contoh:

      • Saat Anda memasukkan file video: {"video":"https://xxxx.mp4","max_pixels": 655360}

      • Saat Anda memasukkan daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "max_pixels": 655360}

Protokol kompatibel OpenAI hanya mendukung parameter ini saat Anda meneruskan citra.

total_pixels integer (Opsional)

Membatasi jumlah total piksel dari semua frame yang diekstraksi dari video. Jumlah total piksel dihitung menggunakan rumus berikut: Piksel satu frame × Jumlah total frame.

Jika jumlah total piksel dalam video melebihi batas ini, sistem memperkecil frame video. Namun, sistem memastikan bahwa jumlah piksel dalam satu frame berada dalam rentang [min_pixels, max_pixels].

  • Model yang berlaku: Parameter ini hanya didukung untuk model qwen3-vl-plus dan qwen3-vl-plus-2025-09-23.

  • Deskripsi nilai: Nilai default dan minimum keduanya adalah 134217728. Ini setara dengan token citra 131072. Satu token citra setara dengan 32 × 32 piksel.

  • Nilai contoh:

    • Saat Anda memasukkan file video: {"video":"https://xxxx.mp4","total_pixels": 134217728}

    • Saat Anda memasukkan daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "total_pixels": 134217728}

Untuk video panjang yang mengekstraksi banyak frame, Anda dapat mengurangi nilai ini untuk mengurangi konsumsi token dan waktu pemrosesan. Namun, hal ini dapat menyebabkan hilangnya detail citra.

cache_control object (Opsional)

Parameter ini hanya didukung oleh model yang mendukung cache eksplisit. Parameter ini digunakan untuk mengaktifkan caching eksplisit.

Properti

type string(Wajib)

Nilainya tetap sebagai ephemeral.

role string (Wajib)

Peran untuk pesan pengguna. Nilainya tetap sebagai user.

Pesan Asisten object (Opsional)

Tanggapan model terhadap pesan pengguna.

Properti

content string (Opsional)

Konten pesan. Parameter ini opsional hanya ketika parameter tool_calls ditentukan dalam pesan asisten.

role string (Wajib)

Nilainya tetap sebagai assistant.

partial boolean (Opsional)

Menentukan apakah akan mengaktifkan mode sebagian. Untuk informasi selengkapnya, lihat Mode sebagian.

Model yang didukung

  • Seri Qwen-Max

    qwen3-max, qwen3-max-2025-09-23, qwen3-max-preview (mode non-pemikiran), qwen-max, qwen-max-latest, dan model snapshot mulai qwen-max-2025-01-25 atau yang lebih baru

  • Seri Qwen-Plus (mode non-pemikiran)

    qwen-plus, qwen-plus-latest, dan model snapshot mulai qwen-plus-2025-01-25 atau yang lebih baru

  • Seri Qwen-Flash (mode non-pemikiran)

    qwen-flash, dan model snapshot mulai qwen-flash-2025-07-28 atau yang lebih baru

  • 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-pemikiran)

      qwen3-vl-plus, dan model snapshot mulai qwen3-vl-plus-2025-09-23 atau yang lebih baru

    • seri qwen3-vl-flash (mode non-pemikiran)

      qwen3-vl-flash, dan model snapshot mulai qwen3-vl-flash-2025-10-15 atau yang lebih baru

    • seri qwen-vl-max

      qwen-vl-max, qwen-vl-max-latest, dan model snapshot mulai qwen-vl-max-2025-04-08 atau yang lebih baru

    • seri qwen-vl-plus

      qwen-vl-plus, qwen-vl-plus-latest, dan model snapshot mulai qwen-vl-plus-2025-01-25 atau yang lebih baru

  • Seri Qwen-Turbo (mode non-pemikiran)

    qwen-turbo, qwen-turbo-latest, dan model snapshot mulai qwen-turbo-2024-11-01 atau yang lebih baru

  • Seri Qwen open-source

    Model open-source Qwen3 (mode non-pemikiran), seri teks Qwen2.5, model open-source Qwen3-VL (mode non-pemikiran)

tool_calls array (Opsional)

Informasi alat dan parameter input yang dikembalikan setelah Anda memulai Function calling. Parameter ini berisi satu atau beberapa objek dan diperoleh dari bidang tool_calls dari respons model sebelumnya.

Properti

id string

ID respons alat.

type string

Jenis alat. Saat ini, hanya function yang didukung.

function object

Informasi alat dan parameter input.

Properti

name string

Nama alat.

arguments string

Informasi parameter input, dalam format string JSON.

index integer

Indeks informasi alat saat ini dalam array tool_calls.

Pesan Alat object (Opsional)

Informasi keluaran alat.

Properti

content string (Wajib)

Konten keluaran fungsi alat. Nilainya harus berupa string.

role string (Wajib)

Nilainya tetap sebagai tool.

tool_call_id string (Opsional)

ID yang dikembalikan setelah Anda memulai Function calling. Anda dapat memperoleh ID dari response.output.choices[0].message.tool_calls[$index]["id"]. Parameter ini digunakan untuk mengaitkan Pesan Alat dengan alat yang sesuai.

temperature float (Opsional)

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

Suhu yang lebih tinggi menghasilkan teks yang lebih beragam. Suhu yang lebih rendah menghasilkan teks yang lebih deterministik.

Nilainya harus berada dalam rentang [0, 2).

Saat Anda melakukan panggilan menggunakan HTTP, letakkan temperature dalam objek parameters.
Kami tidak merekomendasikan Anda mengubah nilai suhu default untuk model QVQ.

top_p float (Opsional)

Ambang batas probabilitas untuk pengambilan sampel inti. Parameter ini mengontrol keragaman teks yang dihasilkan oleh model.

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

Nilainya harus berada dalam rentang (0, 1,0].

Nilai top_p default

Qwen3 (mode non-pemikiran), seri Qwen3-Instruct, seri Qwen3-Coder, seri qwen-max, seri qwen-plus (mode non-pemikiran), seri qwen-flash (mode non-pemikiran), seri qwen-turbo (mode non-pemikiran), seri Qwen open source, qwen-vl-max-2025-08-13, dan Qwen3-VL (mode non-pemikiran): 0,8

seri qwen-vl-plus, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-2025-04-08, qwen2.5-vl-3b-instruct, qwen2.5-vl-7b-instruct, qwen2.5-vl-32b-instruct, dan qwen2.5-vl-72b-instruct: 0,001

Seri QVQ, qwen-vl-plus-2025-07-10, qwen-vl-plus-2025-08-15 : 0,5

qwen3-max-preview (mode pemikiran), seri Qwen3-Omni-Flash: 1,0

Qwen3 (mode pemikiran), Qwen3-VL (mode pemikiran), Qwen3-Thinking, seri QwQ, dan Qwen3-Omni-Captioner: 0,95

Dalam SDK Java, parameter ini bernama topP. Saat Anda melakukan panggilan menggunakan HTTP, letakkan top_p dalam objek parameters.
Kami tidak merekomendasikan Anda mengubah nilai top_p default untuk model QVQ.

top_k integer (Opsional)

Ukuran set kandidat untuk pengambilan sampel selama generasi. Misalnya, nilai 50 menunjukkan bahwa hanya 50 token dengan skor tertinggi dalam satu generasi yang digunakan sebagai set kandidat untuk pengambilan sampel acak. Nilai yang lebih besar menghasilkan keacakan yang lebih tinggi, dan nilai yang lebih kecil menghasilkan determinisme yang lebih tinggi. Nilai None atau nilai lebih dari 100 menonaktifkan strategi top_k. Dalam hal ini, hanya strategi top_p yang efektif.

Nilainya harus lebih besar dari atau sama dengan 0.

Nilai top_k default

Seri QVQ, qwen-vl-plus-2025-07-10, dan qwen-vl-plus-2025-08-15: 10

Seri QwQ: 40

Seri qwen-vl-plus lainnya, model sebelum qwen-vl-max-2025-08-13, qwen2.5-omni-7b: 1

Seri Qwen3-Omni-Flash: 50

Semua model lainnya: 20

Dalam SDK Java, parameter ini bernama topK. Saat Anda melakukan panggilan menggunakan HTTP, letakkan top_k dalam objek parameters.
Kami tidak merekomendasikan Anda mengubah nilai top_k default untuk model QVQ.

enable_thinking boolean (Opsional)

Saat Anda menggunakan model pemikiran hibrida, parameter ini menentukan apakah akan mengaktifkan mode pemikiran. Berlaku untuk model Qwen3 dan Qwen3-VL. Untuk informasi selengkapnya, lihat Pemikiran mendalam.

Nilai yang valid:

  • true

    Jika parameter ini diaktifkan, konten pemikiran dikembalikan dalam bidang reasoning_content.
  • false

Nilai default untuk model berbeda: Model yang didukung

Dalam SDK Java, parameter ini bernama enableThinking. Saat Anda melakukan panggilan menggunakan HTTP, letakkan enable_thinking dalam objek parameters.

thinking_budget integer (Opsional)

Panjang maksimum proses pemikiran. Berlaku untuk Qwen3-VL, serta versi komersial dan open source model Qwen3. Untuk informasi selengkapnya, lihat Batasi panjang pemikiran.

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

Dalam SDK Java, parameter ini bernama thinkingBudget. Saat Anda melakukan panggilan menggunakan HTTP, letakkan thinking_budget dalam objek parameters.
Nilainya default ke panjang maksimum rantai-pikiran model.

enable_code_interpreter boolean (Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan fitur penerjemah kode. Parameter ini hanya berlaku untuk qwen3-max-preview dalam mode pemikiran. Untuk informasi selengkapnya, lihat Penerjemah kode.

Nilai yang valid:

  • true

  • false

Parameter ini tidak didukung oleh SDK Java. Saat Anda melakukan panggilan menggunakan HTTP, letakkan enable_code_interpreter dalam objek parameters.

repetition_penalty float (Opsional)

Hukuman untuk mengulang urutan berturut-turut selama generasi model. Nilai repetition_penalty yang lebih tinggi dapat mengurangi pengulangan teks yang dihasilkan. Nilai 1,0 menunjukkan tidak ada hukuman. Nilainya harus lebih besar dari 0.

Dalam SDK Java, parameter ini bernama repetitionPenalty. Saat Anda melakukan panggilan menggunakan HTTP, letakkan repetition_penalty dalam objek parameters.
Jika Anda menggunakan model qwen-vl-plus_2025-01-25 untuk ekstraksi teks, kami merekomendasikan agar Anda mengatur repetition_penalty ke 1,0.
Kami tidak merekomendasikan Anda mengubah nilai repetition_penalty default untuk model QVQ.

presence_penalty float (Opsional)

Mengontrol pengulangan konten dalam teks yang dihasilkan oleh model.

Rentang nilainya adalah [-2,0, 2,0]. Nilai positif mengurangi pengulangan, sedangkan nilai negatif meningkatkannya.

Untuk skenario penulisan kreatif atau brainstorming yang memerlukan keragaman, kesenangan, atau kreativitas, kami merekomendasikan agar Anda menaikkan nilai ini. Untuk dokumen teknis atau teks formal yang menekankan konsistensi dan akurasi terminologi, kami merekomendasikan agar Anda menurunkan nilai ini.

Nilai presence_penalty default

qwen3-max-preview (mode pemikiran), Qwen3 (mode non-pemikiran), seri Qwen3-Instruct, qwen3-0.6b/1.7b/4b (mode pemikiran), seri QVQ, qwen-max, qwen-max-latest, qwen-max-latest, seri qwen2.5-vl, seri qwen-vl-max, qwen-vl-plus, Qwen3-VL (non-pemikiran): 1,5;

qwen-vl-plus-latest, qwen-vl-plus-2025-08-15: 1,2

qwen-vl-plus-2025-01-25: 1,0;

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

Semua model lainnya: 0,0.

Cara kerjanya

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

Contoh

Prompt: Terjemahkan kalimat ini ke dalam bahasa Inggris: "Esta película es buena. La trama es buena, la actuación es buena, la música es buena, y en general, toda la película es simplemente buena. Es realmente buena, de hecho. La trama es tan buena, y la actuación es tan buena, y la música es tan buena."

Nilai parameter 2,0: This movie is very good. The plot is great, the acting is great, the music is also very good, and overall, the whole movie is incredibly good. In fact, it is truly excellent. The plot is very exciting, the acting is outstanding, and the music is so beautiful.

Nilai parameter 0,0: This movie is good. The plot is good, the acting is good, the music is also good, and overall, the whole movie is very good. In fact, it is really great. The plot is very good, the acting is also very outstanding, and the music is also excellent.

Nilai parameter -2,0: This movie is very good. The plot is very good, the acting is very good, the music is also very good, and overall, the whole movie is very good. In fact, it is really great. The plot is very good, the acting is also very good, and the music is also very good.

Saat Anda menggunakan model qwen-vl-plus-2025-01-25 untuk ekstraksi teks, kami merekomendasikan agar Anda mengatur `presence_penalty` ke 1,5.
Kami tidak merekomendasikan Anda mengubah nilai presence_penalty default untuk model QVQ.
SDK Java tidak mendukung parameter ini. Saat Anda melakukan panggilan menggunakan HTTP, letakkan presence_penalty dalam objek parameters.

vl_high_resolution_images boolean (Opsional) Nilai default: false

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

  • vl_high_resolution_images: true: Strategi resolusi tetap digunakan, dan pengaturan max_pixels diabaikan. Jika citra melebihi resolusi ini, jumlah total pikselnya diperkecil hingga batas ini.

    Klik untuk melihat batas piksel untuk setiap model

    Saat vl_high_resolution_images adalah True, model yang berbeda memiliki batas piksel yang berbeda:

    • Seri Qwen3-VL, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, dan qwen-vl-plus-0815: 16777216 (setiap token sesuai dengan piksel 32*32, yaitu, 16384*32*32)

    • Seri QVQ, model Qwen2.5-VL lainnya: 12845056 (setiap token sesuai dengan piksel 28*28, yaitu, 16384*28*28)

  • vl_high_resolution_images adalah false: Resolusi aktual ditentukan oleh max_pixels dan batas default, dan nilai maksimum keduanya digunakan. Jika citra melebihi batas piksel ini, citra tersebut diperkecil.

    Klik untuk melihat batas piksel default untuk setiap model

    Saat vl_high_resolution_images adalah false, model yang berbeda memiliki batas piksel default yang berbeda:

    • Seri Qwen3-VL: 2621440 (2560*32*32, artinya batas token default adalah 2560)

    • qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, dan qwen-vl-plus-0815: 1310720 (1280*32*32, artinya batas token default adalah 1280)

    • Seri QVQ, model Qwen2.5-VL lainnya: 1003520 (1280*28*28, artinya batas token default adalah 1280)

Di Java SDK, parameter ini dinamai vlHighResolutionImages. Versi minimum yang diperlukan adalah 2.20.8. Saat melakukan panggilan melalui HTTP, sertakan objek vl_high_resolution_imagesparameters.

vl_enable_image_hw_output boolean (Opsional) Nilai default: false

Menentukan apakah akan mengembalikan dimensi citra yang diskalakan. Model menskalakan citra input. Jika parameter ini diatur ke true, model mengembalikan tinggi dan lebar citra yang diskalakan. Jika keluaran streaming diaktifkan, informasi ini dikembalikan dalam paket data terakhir (chunk). Parameter ini didukung oleh model Qwen-VL.

Dalam SDK Java, parameter ini bernama vlEnableImageHwOutput. Versi SDK Java minimum adalah 2.20.8. Saat Anda melakukan panggilan menggunakan HTTP, letakkan vl_enable_image_hw_output dalam objek parameters.

max_input_tokens integer (Opsional)

Panjang token maksimum yang diizinkan untuk input. Parameter ini saat ini hanya didukung oleh model qwen-plus-0728 dan qwen-plus-latest.

  • Nilai default qwen-plus-latest: 129.024

    Nilai default dapat disesuaikan menjadi 1.000.000 di masa mendatang.
  • Nilai default qwen-plus-2025-07-28: 1.000.000

SDK Java saat ini tidak mendukung parameter ini. Saat Anda melakukan panggilan menggunakan HTTP, letakkan max_input_tokens dalam objek parameters.

max_tokens integer (Opsional)

Membatasi jumlah maksimum token dalam keluaran model. Jika konten yang dihasilkan melebihi nilai ini, generasi berhenti sebelum waktunya, dan finish_reason yang dikembalikan adalah length.

Nilai default dan maksimum adalah panjang keluaran maksimum model. Untuk informasi selengkapnya, lihat Daftar model.

Parameter ini berguna untuk skenario yang mengharuskan Anda mengontrol panjang keluaran, seperti menghasilkan ringkasan atau kata kunci, atau untuk mengurangi biaya dan waktu respons.

Saat max_tokens dipicu, bidang `finish_reason` dari respons adalah length.

max_tokens tidak membatasi panjang rantai-pikiran untuk model pemikiran.
Dalam SDK Java, parameter ini bernama maxTokens. Untuk model Qwen-VL, dalam SDK Java bernama maxLength, tetapi versi setelah 2.18.4 juga mendukung pengaturannya sebagai maxTokens. Saat Anda melakukan panggilan menggunakan HTTP, letakkan max_tokens dalam objek parameters.

seed integer (Opsional)

Seed bilangan acak. Parameter ini memastikan bahwa hasilnya dapat direproduksi untuk input dan parameter yang sama. Jika Anda meneruskan nilai seed yang sama dalam panggilan dan parameter lainnya tetap tidak berubah, model mengembalikan hasil yang sama sebanyak mungkin.

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

Saat Anda melakukan panggilan menggunakan HTTP, letakkan seed dalam objek parameters.

stream boolean (Opsional) Nilai default: false

Menentukan apakah akan mengembalikan respons dalam mode keluaran streaming. Nilai parameter:

  • false: Model mengembalikan hasil lengkap sekaligus setelah generasi selesai.

  • true: Keluaran dihasilkan dan dikirim secara bertahap. Artinya, paket dikembalikan segera setelah bagian konten dihasilkan.

Parameter ini hanya didukung oleh SDK Python. Untuk mengimplementasikan keluaran streaming menggunakan SDK Java, Anda dapat memanggil antarmuka streamCall. Untuk mengimplementasikan keluaran streaming menggunakan HTTP, Anda harus menentukan X-DashScope-SSE sebagai enable dalam header permintaan.
Edisi komersial Qwen3 (dalam mode pemikiran), edisi open source Qwen3, QwQ, dan QVQ hanya mendukung keluaran streaming.

incremental_output boolean (Opsional) Default adalah false (Default untuk model Qwen3-Max, Qwen3-VL, edisi open source Qwen3, QwQ, dan model QVQ adalah true)

Menentukan apakah akan mengaktifkan keluaran inkremental dalam mode keluaran streaming. Kami merekomendasikan agar Anda mengatur parameter ini ke true.

Nilai parameter:

  • false: Setiap keluaran adalah seluruh urutan yang dihasilkan. Keluaran terakhir adalah hasil lengkapnya.

    I
    I like
    I like apple
    I like apple.
  • true (direkomendasikan): Keluarannya bersifat inkremental. Artinya, keluaran berikutnya tidak mencakup konten yang dihasilkan sebelumnya. Anda harus membaca fragmen ini secara real-time untuk mendapatkan hasil lengkapnya.

    I
    like
    apple
    .
Dalam SDK Java, parameter ini bernama incrementalOutput. Saat Anda melakukan panggilan menggunakan HTTP, letakkan incremental_output dalam objek parameters.
Model QwQ dan model Qwen3 dalam mode pemikiran hanya mendukung nilai true. Karena nilai default untuk model komersial Qwen3 adalah false, Anda harus mengatur parameter ini secara manual ke true saat Anda menggunakan mode pemikiran.
Model open source Qwen3 tidak mendukung nilai false.

response_format object (Opsional) Nilai default: {"type": "text"}

Format konten yang dikembalikan. Nilai yang valid: {"type": "text"} atau {"type": "json_object"}. Jika Anda mengatur parameter ini ke {"type": "json_object"}, string JSON dalam format standar dikembalikan. Untuk informasi selengkapnya, lihat Keluaran terstruktur.

Jika Anda mengatur parameter ini ke {"type": "json_object"}, Anda juga harus menginstruksikan model dalam prompt untuk mengembalikan keluaran dalam format JSON. Misalnya, Anda dapat menambahkan "Harap kembalikan keluaran dalam format JSON" ke prompt. Jika tidak, akan terjadi kesalahan.
Dalam SDK Java, parameter ini bernama responseFormat. Saat Anda melakukan panggilan menggunakan HTTP, letakkan response_format dalam objek parameters.

Model yang didukung

  • Model generasi teks

    • Seri Qwen-Max: qwen3-max, qwen3-max-2025-09-23, qwen3-max-preview (mode non-pemikiran), qwen-max, qwen-max-latest, qwen-max-2025-01-25, dan model snapshot yang lebih baru

    • Seri Qwen-Plus (mode non-pemikiran): qwen-plus, qwen-plus-latest, qwen-plus-2025-01-25, dan model snapshot yang lebih baru

    • Seri Qwen-Flash (mode non-pemikiran): qwen-flash, qwen-flash-2025-07-28, dan model snapshot yang lebih baru

    • Seri Qwen-Turbo (mode non-pemikiran): qwen-turbo, qwen-turbo-latest, qwen-turbo-2024-11-01, dan model snapshot yang lebih baru

    • Seri Qwen-Coder: qwen3-coder-plus, qwen3-coder-plus-2025-07-22, qwen3-coder-flash, dan qwen3-coder-flash-2025-07-28

    • Seri Qwen-Long: qwen-long-latest, dan qwen-long-2025-01-25

  • Model generasi teks open-source

    • Qwen3 (mode non-pemikiran)

    • Qwen3-Coder

    • Model teks seri Qwen2.5 (tidak termasuk model math dan coder)

  • Model multimodal

    • Seri Qwen3-VL-Plus (mode non-pemikiran): qwen3-vl-plus, qwen3-vl-plus-2025-09-23, dan model snapshot yang lebih baru

    • Seri Qwen3-VL-Flash (mode non-pemikiran): qwen3-vl-flash, qwen3-vl-flash-2025-10-15, dan model snapshot yang lebih baru

    • Seri QwenVL-Max: qwen-vl-max (tidak termasuk versi latest dan snapshot)

    • Seri QwenVL-Plus: qwen-vl-plus (tidak termasuk versi latest dan snapshot)

  • Model multimodal open-source

    • Qwen3-VL (mode non-pemikiran)

result_format string (Opsional) Default adalah text (Default untuk model Qwen3-Max, Qwen3-VL, QwQ, dan model open source Qwen3 (kecuali qwen3-next-80b-a3b-instruct) adalah message)

Format data yang dikembalikan. Kami merekomendasikan agar Anda mengatur parameter ini ke message untuk memfasilitasi percakapan multi-putaran.

Platform akan menyatukan nilai default ke message di masa mendatang.
Dalam SDK Java, parameter ini bernama resultFormat. Saat Anda melakukan panggilan menggunakan HTTP, letakkan result_format dalam objek parameters.
Untuk model Qwen-VL, QVQ, mengatur parameter ini ke text tidak berpengaruh.
Qwen3-Max, Qwen3-VL, dan model Qwen3 dalam mode pemikiran hanya dapat diatur ke message. Karena nilai default untuk model komersial Qwen3 adalah text, Anda harus mengatur parameter ini ke message.
Jika Anda menggunakan SDK Java untuk memanggil model open source Qwen3 dan meneruskan text, respons tetap dikembalikan dalam format message.

logprobs boolean (Opsional) Nilai default: false

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

  • true

  • false

Model berikut didukung:

  • Model snapshot seri qwen-plus (tidak termasuk model utama)

  • Model snapshot seri qwen-turbo (tidak termasuk model utama)

  • Model open source Qwen3

Saat Anda melakukan panggilan menggunakan HTTP, letakkan logprobs dalam objek parameters.

top_logprobs integer (Opsional) Nilai default: 0

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

Rentang nilai: [0, 5]

Parameter ini hanya berlaku saat logprobs diatur ke true.

Dalam SDK Java, parameter ini adalah topLogprobs. Untuk panggilan HTTP, tentukan top_logprobs dalam objek parameters.

n integer (Opsional) Nilai default: 1

Jumlah respons yang dihasilkan. Nilainya harus berada dalam rentang 1 hingga 4. Untuk skenario yang mengharuskan Anda menghasilkan beberapa respons, seperti penulisan kreatif atau iklan, Anda dapat mengatur nilai n yang lebih besar.

Saat ini, parameter ini hanya didukung oleh model qwen-plus dan Qwen3 (mode non-pemikiran). Nilainya tetap 1 saat parameter tools diteruskan.
Mengatur nilai n yang lebih besar tidak meningkatkan konsumsi token input, tetapi meningkatkan konsumsi token output.
Saat Anda melakukan panggilan menggunakan HTTP, letakkan n dalam objek parameters.

stop string atau array (Opsional)

Menentukan kata berhenti. Saat string atau token_id yang ditentukan dalam stop muncul dalam teks yang dihasilkan oleh model, generasi segera berhenti.

Anda dapat meneruskan kata sensitif untuk mengontrol keluaran model.

Saat `stop` berupa array, Anda tidak dapat menggunakan token_id dan string sebagai elemen secara bersamaan. Misalnya, Anda tidak dapat menentukan ["Hello",104307].
Saat Anda melakukan panggilan menggunakan HTTP, letakkan stop dalam objek parameters.

tools array (Opsional)

Array yang berisi satu atau beberapa objek alat untuk dipanggil model dalam Function calling. Untuk informasi selengkapnya, lihat Function calling.

Saat Anda menggunakan parameter tools, Anda harus mengatur parameter result_format ke message.

Anda harus mengatur parameter tools saat Anda memulai Function calling atau mengirimkan hasil eksekusi alat.

Properti

type string (Wajib)

Jenis alat. Saat ini, hanya function yang didukung.

function object (Wajib)

Properti

name string (Wajib)

Nama fungsi alat. Nama harus terdiri dari huruf dan angka. Nama juga dapat menyertakan garis bawah (_) dan tanda hubung (-). Panjang maksimum adalah 64 karakter.

description string (Wajib)

Deskripsi fungsi alat. Ini membantu model memutuskan kapan dan bagaimana memanggil fungsi alat.

parameters objcet (Wajib)

Deskripsi parameter alat. Nilainya harus berupa Skema JSON yang valid. Untuk deskripsi Skema JSON, lihat tautan ini. Jika parameter parameters kosong, fungsi tidak memiliki parameter input.

Saat Anda melakukan panggilan menggunakan HTTP, letakkan tools dalam objek parameters. Parameter ini sementara tidak didukung untuk model seri qwen-vl.

tool_choice string atau object (Opsional) Nilai default: auto

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

  • auto

    Model bahasa besar secara independen memilih strategi alat.

  • none

    Jika Anda ingin menonaktifkan sementara pemanggilan alat dalam permintaan tertentu, Anda dapat mengatur parameter tool_choice ke none.

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

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

    Model dalam mode pemikiran tidak mendukung pemaksaan pemanggilan alat tertentu.
Dalam SDK Java, parameter ini bernama toolChoice. Saat Anda melakukan panggilan menggunakan HTTP, letakkan tool_choice dalam objek parameters.

parallel_tool_calls boolean (Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan pemanggilan alat paralel.

Nilai yang valid:

  • true

  • false

Untuk informasi selengkapnya tentang pemanggilan alat paralel, lihat Pemanggilan alat paralel.

Dalam SDK Java, parameter ini bernama parallelToolCalls. Saat Anda melakukan panggilan menggunakan HTTP, letakkan parallel_tool_calls dalam objek parameters.

Objek respons chat (format sama untuk keluaran streaming dan non-streaming)

{
  "status_code": 200,
  "request_id": "902fee3b-f7f0-9a8c-96a1-6b4ea25af114",
  "code": "",
  "message": "",
  "output": {
    "text": null,
    "finish_reason": null,
    "choices": [
      {
        "finish_reason": "stop",
        "message": {
          "role": "assistant",
          "content": "I am a large-scale language model developed by Alibaba Cloud. My name is Qwen."
        }
      }
    ]
  },
  "usage": {
    "input_tokens": 22,
    "output_tokens": 17,
    "total_tokens": 39
  }
}

status_code string

Kode status permintaan. Nilai 200 menunjukkan bahwa permintaan berhasil. Jika tidak, permintaan gagal.

SDK Java tidak mengembalikan parameter ini. Jika panggilan gagal, pengecualian dilemparkan yang berisi konten parameter status_code dan message.

request_id string

Pengidentifikasi unik untuk panggilan ini.

SDK Java mengembalikan parameter ini sebagai requestId

code string

Kode kesalahan. Parameter ini kosong saat panggilan berhasil.

Hanya SDK Python yang mengembalikan parameter ini.

output object

Hasil panggilan.

Properti

text string

Balasan yang dihasilkan oleh model. Bidang ini berisi konten balasan saat parameter input result_format diatur ke text.

finish_reason string

Parameter ini tidak kosong saat parameter input result_format diatur ke text.

Ada empat skenario:

  • Nilainya null saat generasi.

  • stop: Keluaran model berakhir secara alami atau memicu kondisi berhenti dalam parameter input.

  • length: Generasi berakhir karena keluaran melebihi panjang maksimum.

  • Nilainya tool_calls karena alat dipanggil.

choices array

Informasi tentang keluaran model. Parameter choices dikembalikan saat result_format diatur ke message.

Properti

finish_reason string

Empat kasusnya sebagai berikut:

  • null: Generasi sedang berlangsung.

  • stop: Keluaran model berakhir secara alami atau memicu kondisi berhenti dalam parameter input.

  • length: Generasi berakhir karena keluaran melebihi panjang maksimum.

  • tool_calls: Terjadi pemanggilan alat.

message object

Objek pesan dari model.

Properti

role string

Peran pesan keluaran. Nilainya tetap sebagai assistant.

content string atau array

Konten pesan keluaran. Nilainya berupa array saat Anda menggunakan model seri Qwen-VL atau Qwen-Audio. Jika tidak, nilainya berupa string.

Jika Anda memulai Function calling, nilai ini kosong.

Properti

text string

Konten pesan keluaran saat Anda menggunakan model seri Qwen-VL atau Qwen-Audio.

image_hw array

Jika parameter vl_enable_image_hw_output diaktifkan untuk model seri Qwen-VL, kasus berikut berlaku:

  • Input citra: Mengembalikan tinggi dan lebar citra dalam piksel.

  • Input video: Mengembalikan array kosong.

reasoning_content string

Konten pemikiran mendalam.

tool_calls array

Jika model perlu memanggil alat, parameter `tool_calls` dihasilkan.

Properti

function object

Nama alat yang dipanggil dan parameter inputnya.

Properti

name string

Nama alat yang dipanggil.

arguments string

Parameter yang akan diteruskan ke alat, dalam format string JSON.

Karena respons model besar bersifat acak, string JSON keluaran mungkin tidak selalu sesuai dengan persyaratan fungsi Anda. Kami merekomendasikan agar Anda memvalidasi parameter sebelum meneruskannya ke fungsi.

index integer

Indeks objek tool_calls saat ini dalam array `tool_calls`.

id string

ID respons alat ini.

type string

Jenis alat. Nilainya tetap sebagai function.

logprobs object

Informasi probabilitas untuk objek `choices` saat ini.

Properti

content array

Array token dengan informasi log probabilitas.

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah untuk token saat ini. Ini digunakan untuk memulihkan konten keluaran secara akurat dan membantu saat Anda menangani emoji dan karakter Tionghoa.

logprob float

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

top_logprobs array

Token paling mungkin pada posisi token saat ini dan log probabilitasnya. Jumlah elemennya sama dengan nilai parameter input top_logprobs.

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah untuk token saat ini. Ini digunakan untuk memulihkan konten keluaran secara akurat dan membantu saat Anda menangani emoji dan karakter Tionghoa.

logprob float

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

usage map

Informasi tentang token yang digunakan dalam permintaan chat ini.

Properti

input_tokens integer

Jumlah token dalam input pengguna.

output_tokens integer

Jumlah token dalam keluaran model.

input_tokens_details integer

Detail jumlah token dalam input saat Anda menggunakan model Qwen-VL atau model QVQ.

Properti

text_tokens integer

Saat Anda menggunakan model Qwen-VL atau model QVQ, parameter ini menunjukkan jumlah token dalam teks input.

image_tokens integer

Jumlah token dalam citra input.

video_tokens integer

Jumlah token dalam file video input atau daftar citra.

total_tokens integer

Bidang ini dikembalikan saat input berupa teks biasa. Nilainya adalah jumlah dari input_tokens dan output_tokens.

image_tokens integer

Bidang ini dikembalikan saat input mencakup citra. Nilainya adalah jumlah token dalam citra input pengguna.

video_tokens integer

Bidang ini dikembalikan saat input mencakup video. Nilainya adalah jumlah token dalam video input pengguna.

audio_tokens integer

Bidang ini dikembalikan saat input mencakup audio. Nilainya adalah jumlah token dalam audio input pengguna.

output_tokens_details integer

Detail jumlah token dalam keluaran.

Properti

text_tokens integer

Jumlah token dalam teks keluaran.

reasoning_tokens integer

Jumlah token dalam proses pemikiran model Qwen3.

prompt_tokens_details object

Rincian halus token input.

Properti

cached_tokens integer

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

cache_creation object

Informasi tentang pembuatan cache eksplisit.

Properti

ephemeral_5m_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit dengan periode validitas 5 menit.

cache_creation_input_tokens integer

Jumlah token yang digunakan untuk membuat cache eksplisit.

cache_type string

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

Kode kesalahan

Jika panggilan model mengembalikan pesan kesalahan, lihat Pesan Kesalahan untuk solusinya.