All Products
Search
Document Center

Alibaba Cloud Model Studio:Kompatibel dengan OpenAI - Chat

Last Updated:Jul 02, 2026

Anda dapat memanggil model menggunakan API Chat yang kompatibel dengan OpenAI. Dokumen ini menjelaskan parameter input dan output serta menyediakan contoh pemanggilan.

Singapura

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

AS (Virginia)

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

Permintaan HTTP: POST https://dashscope-us.aliyuncs.com/compatible-mode/v1/chat/completions

Tiongkok (Beijing)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Hong Kong (Tiongkok)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Jerman (Frankfurt)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1

URL Permintaan: POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Jepang (Tokyo)

Konfigurasi pemanggilan SDK untuk base_url: https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1

Permintaan HTTP: POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions

Pertama, dapatkan Kunci API dan atur sebagai variabel lingkungan. Jika Anda menggunakan SDK OpenAI, Anda juga harus menginstal SDK.

Penting

Model Studio telah merilis domain khusus ruang kerja untuk wilayah Tiongkok (Beijing), Singapura, dan Tiongkok (Hong Kong). Domain khusus baru ini memberikan performa lebih unggul dan stabilitas lebih tinggi untuk permintaan inferensi. Kami merekomendasikan migrasi ke domain baru:

  • Tiongkok (Beijing): dari https://dashscope.aliyuncs.com ke https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com

  • Singapura: dari https://dashscope-intl.aliyuncs.com ke https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com

  • Tiongkok (Hong Kong): dari https://cn-hongkong.dashscope.aliyuncs.com ke https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com

{WorkspaceId} adalah ID ruang kerja Anda, yang dapat ditemukan di halaman Detail Ruang Kerja pada konsol Model Studio. Domain yang ada tetap berfungsi penuh.

Request body

Input teks

Python

import os
from openai import OpenAI


client = OpenAI(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    # Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",  
)

completion = client.chat.completions.create(
    # Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
    model="qwen-plus",
    messages=[
        {"role": "system", "content": "You are a helpful assistant."},
        {"role": "user", "content": "Who are you?"},
    ],
    # extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())

Java

// 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 bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
                .apiKey(System.getenv("DASHSCOPE_API_KEY"))
                // Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
                .baseUrl("https://{WorkspaceId}.ap-southeast-1.maas.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 belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx",
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        // Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.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 menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
		option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY")
		// Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
		option.WithBaseURL("https://{WorkspaceId}.ap-southeast-1.maas.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 belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: string? apiKey = "sk-xxx";
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-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
        // Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
        string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions";
        // Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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);

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

PHP (HTTP)

<?php
// Setel URL permintaan
// Ganti {WorkspaceId} dengan ID ruang kerja aktual Anda. URL bervariasi berdasarkan wilayah.
$url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions';
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: $apiKey = "sk-xxx";
// Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/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 menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 kesalahan
if (curl_errno($ch)) {
    echo 'Curl error: ' . curl_error($ch);
}
// Tutup resource cURL
curl_close($ch);
// Cetak respons
echo $response;
?>

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Anda dapat memperoleh kunci API di https://www.alibabacloud.com/help/en/model-studio/get-api-key.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "qwen-plus",
    "messages": [
        {
            "role": "system",
            "content": "You are a helpful assistant."
        },
        {
            "role": "user", 
            "content": "Who are you?"
        }
    ]
}'

keluaran streaming

Untuk informasi selengkapnya tentang penggunaan, lihat Keluaran streaming.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi menurut wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-plus",  # Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.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 menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Anda dapat memperoleh kunci API di https://www.alibabacloud.com/help/en/model-studio/get-api-key.
curl --location "https://{WorkspaceId}.ap-southeast-1.maas.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 gambar

Untuk informasi selengkapnya tentang cara model bahasa besar menganalisis gambar, lihat Pemahaman gambar dan video.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi menurut wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
    model="qwen-vl-plus",  # Contoh ini menggunakan qwen-vl-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.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 menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Anda dapat memperoleh kunci API di https://www.alibabacloud.com/help/en/model-studio/get-api-key.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
  "model": "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

Contoh berikut menunjukkan cara meneruskan daftar gambar. Untuk informasi selengkapnya tentang penggunaan, seperti meneruskan file video, lihat Pemahaman visual.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",  
)
completion = client.chat.completions.create(
    # Contoh ini menggunakan qwen-vl-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 specific 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 belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx",
    // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    apiKey: process.env.DASHSCOPE_API_KEY, 
    baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"    
});

async function main() {
    const response = await openai.chat.completions.create({
        // Contoh ini menggunakan qwen-vl-max. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 specific process in this video"
                }
        ]}]
    });
    console.log(JSON.stringify(response));
}

main();

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Untuk informasi selengkapnya, lihat Dapatkan Kunci API.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
    "model": "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 specific process in this video"
                }
            ]
        }
    ]
}'

Pemanggilan alat

Untuk kode proses Function Calling lengkap, lihat Function Calling.

Python

import os
from openai import OpenAI

client = OpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Kunci API bervariasi menurut wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1",  
)

tools = [
    # Alat 1: Dapatkan waktu saat ini
    {
        "type": "function",
        "function": {
            "name": "get_current_time",
            "description": "Berguna saat Anda ingin mengetahui waktu saat ini.",
            "parameters": {}  # Karena mendapatkan waktu saat ini tidak memerlukan parameter input, parameter adalah kamus kosong
        }
    },  
    # Alat 2: Dapatkan cuaca untuk kota yang ditentukan
    {
        "type": "function",
        "function": {
            "name": "get_current_weather",
            "description": "Berguna saat Anda ingin menanyakan cuaca di kota yang ditentukan.",
            "parameters": {  
                "type": "object",
                "properties": {
                    # Lokasi harus disediakan untuk menanyakan cuaca, jadi parameter diatur ke lokasi
                    "location": {
                        "type": "string",
                        "description": "Kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang."
                    }
                },
                "required": ["location"]
            }
        }
    }
]
messages = [{"role": "user", "content": "What's the weather like in Hangzhou?"}]
completion = client.chat.completions.create(
    model="qwen-plus",  # Contoh ini menggunakan qwen-plus. Anda dapat menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 belum dikonfigurasi, ganti baris berikut dengan Kunci API Model Studio Anda: apiKey: "sk-xxx",
        // Kunci API bervariasi berdasarkan wilayah. Dapatkan Kunci API: https://www.alibabacloud.com/help/en/model-studio/get-api-key
        apiKey: process.env.DASHSCOPE_API_KEY,
        baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1"
    }
);

const messages = [{"role": "user", "content": "What's the weather like in Hangzhou?"}];
const tools = [
// Alat 1: Dapatkan waktu saat ini
{
    "type": "function",
    "function": {
        "name": "get_current_time",
        "description": "Useful when you want to know the current time.",
        // Karena mendapatkan waktu saat ini tidak memerlukan parameter input, parameters kosong
        "parameters": {}  
    }
},  
// Alat 2: Dapatkan cuaca kota tertentu
{
    "type": "function",
    "function": {
        "name": "get_current_weather",
        "description": "Useful when you want to query the weather of a specified city.",
        "parameters": {  
            "type": "object",
            "properties": {
                // Lokasi harus disediakan untuk menanyakan 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 menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/model-studio/getting-started/models
        messages: messages,
        tools: tools,
    });
    console.log(JSON.stringify(response));
}

main();

curl

Ganti {WorkspaceId} dengan ID ruang kerja Anda. URL bervariasi berdasarkan wilayah. Untuk informasi selengkapnya, lihat Dapatkan Kunci API.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
    "model": "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 query the weather of a specified city.",
            "parameters": {
                "type": "object",
                "properties": {
                    "location":{
                        "type": "string",
                        "description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
                    }
                },
                "required": ["location"]
            }
        }
    }
  ]
}'

Pemanggilan asinkron

import os
import asyncio
from openai import AsyncOpenAI
import platform

client = AsyncOpenAI(
    # Jika variabel lingkungan tidak dikonfigurasi, ganti baris berikut dengan kunci API Model Studio Anda: api_key="sk-xxx"
    # Jika Anda menggunakan model di wilayah China (Beijing), Anda perlu menggunakan API KEY untuk wilayah China (Beijing). Dapatkan tautan: https://modelstudio.console.alibabacloud.com/?tab=model#/api-key
    api_key=os.getenv("DASHSCOPE_API_KEY"),
    base_url="https://{WorkspaceId}.ap-southeast-1.maas.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 menggantinya dengan nama model lain sesuai kebutuhan. Daftar model: https://www.alibabacloud.com/help/en/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 (Wajib)

Nama model.

Model yang didukung: Model Bahasa Besar Qwen (versi komersial dan open source), Qwen-VL, Qwen-Coder, Qwen-Omni, Qwen-Math, DeepSeek, Kimi, GLM, dan MiniMax.

Untuk nama model spesifik dan detail penagihan, lihat konsol Model Studio.

messages array (Wajib)

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

Jenis pesan

Pesan Sistem object (Opsional)

Pesan sistem yang menentukan peran, nada, tugas, atau batasan untuk model bahasa besar. Biasanya merupakan elemen pertama dalam array messages.

Jangan mengatur pesan sistem untuk model QwQ. Pesan sistem tidak berpengaruh pada model QVQ.

Properti

content string (Wajib)

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

role string (Wajib)

Peran untuk pesan sistem. Nilainya tetap system.

Pesan Pengguna object (Wajib)

Pesan pengguna. Meneruskan pertanyaan, instruksi, atau konteks ke model.

Properti

content string atau array (Wajib)

Konten pesan. Jenisnya string jika input hanya teks. Jenisnya array jika input berisi data multimodal seperti gambar, atau jika caching eksplisit diaktifkan.

Properti untuk model multimodal atau saat caching eksplisit diaktifkan

type string (Wajib)

Nilai yang valid:

  • text

    Diatur ke text untuk input teks.

  • image_url

    Diatur ke image_url untuk input gambar.

  • input_audio

    Diatur ke input_audio untuk input audio.

  • video

    Diatur ke video untuk input video sebagai daftar gambar.

  • video_url

    Diatur ke video_url untuk input file video.

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

text string

Teks input. Parameter ini wajib saat type adalah text.

image_url object

Informasi gambar input. Parameter ini wajib saat type adalah image_url.

Properti

url string (Wajib)

URL atau URL Data Base64-encoded dari gambar. Untuk meneruskan file lokal, lihat Pemahaman gambar dan video.

input_audio object

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

Properti

data string (Wajib)

URL atau URL Data Base64-encoded dari audio. Untuk meneruskan file lokal, lihat Input file lokal yang dienkripsi Base64.

format string (Wajib)

Format audio input, seperti mp3 atau wav.

video array

Informasi video input, disediakan sebagai daftar gambar. Parameter ini wajib saat type adalah video. Untuk informasi selengkapnya tentang penggunaannya, lihat Pemahaman video (Qwen-VL), Pemahaman video (QVQ), atau Pemahaman video (Qwen-Omni).

Nilai contoh:

[
    "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 adalah video_url.

Qwen-VL hanya dapat memahami informasi visual file video, sedangkan Qwen-Omni dapat memahami informasi visual dan audio.

Properti

url string (Wajib)

URL publik atau Data URL berenkode Base64 dari file video. Untuk memasukkan file video lokal, lihat Memasukkan file lokal berenkode Base64.

fps float (Opsional)

Jumlah frame yang diekstraksi per detik. Nilai yang valid: [0,1–10]. Nilai default: 2,0.

Kisaran nilai yang valid untuk MiniMax/MiniMax-M3 adalah [0,2–5], dan nilai defaultnya adalah 1.

Deskripsi fitur

Parameter fps memiliki dua fungsi:

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

    Ini berlaku untuk Qwen-VL, model QVQ.
  • Parameter ini menginformasikan model tentang interval waktu antara frame yang berdekatan untuk membantu model memahami perkembangan video secara lebih baik dari waktu ke waktu. Ini berlaku untuk input file video maupun daftar gambar. Fitur ini cocok untuk skenario seperti lokalisasi waktu kejadian atau ringkasan konten tersegmentasi.

    Didukung oleh Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen2.5-VL, Qwen3.5-Omni, dan model QVQ.

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 adegan dengan konten statis.

Nilai contoh

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

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

min_pixels integer (Opsional)

Menetapkan ambang batas piksel minimum untuk gambar input atau frame video. Jika jumlah piksel input kurang dari min_pixels, gambar tersebut diperbesar hingga jumlah total pikselnya lebih besar dari min_pixels. Parameter ini berlaku untuk model Qwen-VL dan QVQ.

Kisaran nilai

  • Input gambar:

    • Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL: Nilai default dan minimum: 65536

    • Qwen3.5-Omni: Nilai default dan minimum: 24576

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

    • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default dan minimum: 3136

  • Input file video atau daftar gambar:

    • Qwen3.7, Qwen3.6, Qwen3.5, Qwen3.5-Omni, Qwen3-VL (termasuk versi komersial dan open source), qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default: 65536. Nilai minimum: 4096

    • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default: 50176. Nilai minimum: 3136

Nilai contoh

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

  • Input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536}

  • Input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}

max_pixels integer (Opsional)

Menentukan ambang batas piksel maksimum untuk gambar input atau frame video. Jika jumlah piksel gambar input atau video berada dalam rentang [min_pixels, max_pixels], model memproses gambar aslinya. Jika jumlah piksel lebih besar dari max_pixels, gambar diperkecil hingga jumlah pikselnya kurang dari atau sama dengan max_pixels. Parameter ini berlaku untuk model Qwen-VL dan QVQ.

Kisaran nilai

  • Input gambar:

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

    • Saat vl_high_resolution_images adalah False:

      • Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL: Nilai default: 2621440. Nilai maksimum: 16777216

      • Qwen3.5-Omni: Nilai default: 1310720. Nilai maksimum: 16777216

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

      • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default: 1003520. Nilai maksimum: 12845056

    • Saat vl_high_resolution_images adalah True:

      • Qwen3.7, Qwen3.6, Qwen3.5-Omni, Qwen3.5, Qwen3-VL, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: max_pixels tidak berlaku. Jumlah piksel maksimum untuk gambar input ditetapkan pada 16777216.

      • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: max_pixels tidak berlaku. Jumlah piksel maksimum untuk gambar input ditetapkan pada 12845056.

  • Masukkan file video atau daftar gambar:

    • Seri Qwen3.7, seri Qwen3.6, seri Qwen3.5, Qwen3.5-Omni, seri Qwen3-VL closed-source, qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-instruct: Nilai default: 655360. Nilai maksimum: 2048000

    • Model open source Qwen3-VL lainnya, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default: 655360. Nilai maksimum: 786432

    • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default: 501760. Nilai maksimum: 602112

Nilai contoh

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

  • Input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360}

  • Input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}

total_pixels integer (Opsional)

Membatasi jumlah total piksel dari semua frame yang diekstraksi dari video, yang dihitung sebagai (piksel per frame × total frame). Jika jumlah total piksel video melebihi batas ini, sistem memperkecil frame video. Sistem memastikan bahwa jumlah piksel satu frame tetap berada dalam rentang [min_pixels, max_pixels]. Parameter ini berlaku untuk model Qwen-VL dan QVQ.

Untuk video panjang dengan banyak frame yang diekstraksi, Anda dapat mengurangi nilai ini untuk mengurangi konsumsi token dan waktu pemrosesan, tetapi hal ini dapat mengakibatkan hilangnya detail gambar.

Kisaran nilai

  • Seri Qwen3.7, Seri Qwen3.6, Seri Qwen3.5: Nilai default dan maksimum: 819200000. Ini setara dengan 800000 token gambar (1 token gambar per 32×32 piksel).

  • Seri Qwen3-VL closed-source, qwen3-vl-235b-a22b-thinking, qwen3-vl-235b-a22b-instruct: Nilai default dan maksimum: 134217728. Ini setara dengan 131072 token gambar (1 token gambar per 32×32 piksel).

  • Qwen3.5-Omni: Nilai default dan minimum: 184549376. Ini setara dengan 180224 token gambar (1 token gambar per 32×32 piksel).

  • Model open source Qwen3-VL lainnya, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815: Nilai default dan minimum: 67108864. Ini setara dengan 65536 token gambar (1 token gambar per 32×32 piksel).

  • Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default dan minimum: 51380224. Ini setara dengan 65536 token gambar (1 token gambar per 28×28 piksel).

Nilai contoh

  • Input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728}

  • Input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}

cache_control object (Opsional)

Mengaktifkan caching eksplisit. Untuk informasi selengkapnya, lihat Caching eksplisit.

Properti

type string (Wajib)

Hanya ephemeral yang didukung.

role string (Wajib)

Peran untuk pesan pengguna. Nilainya tetap user.

Pesan Asisten object (Opsional)

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

Properti

content string (Opsional)

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

role string (Wajib)

Peran untuk pesan asisten. Nilainya tetap assistant.

partial boolean (Opsional) Nilai default: false

Menentukan apakah akan mengaktifkan mode sebagian.

Nilai yang valid:

  • true: Aktifkan.

  • false: Nonaktifkan.

Untuk daftar model yang didukung, lihat mode sebagian.

tool_calls array (Opsional)

Informasi tentang alat dan parameter inputnya yang diputuskan model untuk dipanggil. Berisi satu atau lebih objek dan diperoleh dari field tool_calls dari respons model sebelumnya.

Properti

id string (Wajib)

ID pemanggilan alat.

type string (Wajib)

Jenis alat. Saat ini, hanya function yang didukung.

function object (Wajib)

Alat dan parameter input

Properti

name string (Wajib)

Nama alat.

arguments string (Wajib)

Informasi parameter input, sebagai string yang diformat JSON.

index integer (Wajib)

Indeks pemanggilan alat ini dalam array tool_calls.

Pesan Alat object (Opsional)

Hasil pemanggilan alat.

Properti

content string (Wajib)

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

role string (Wajib)

Nilainya tetap tool.

tool_call_id string (Wajib)

ID pemanggilan alat yang menjadi tanggapan pesan ini. Anda dapat memperolehnya dari `completion.choices[0].message.tool_calls[$index].id`. ID ini digunakan untuk mengaitkan pesan alat dengan pemanggilan alat yang sesuai.

stream boolean (Opsional) Nilai default: false

Menentukan apakah respons dikembalikan dalam mode keluaran streaming. Untuk informasi selengkapnya, lihat Keluaran streaming.

Nilai yang valid:

  • false: Model mengembalikan konten lengkap setelah generasi selesai.

  • true: Model mengeluarkan konten secara bertahap saat dihasilkan. Potongan data dikembalikan setiap kali bagian konten dihasilkan, dan Anda perlu menyusun potongan-potongan tersebut untuk membentuk respons lengkap.

Kami merekomendasikan menetapkan nilai ini ke true guna meningkatkan pengalaman pengguna dan mengurangi risiko timeout.

Catatan

Jika panggilan non-streaming tidak selesai dalam waktu 300 detik, layanan akan menginterupsi permintaan dan mengembalikan konten yang telah dihasilkan alih-alih mengembalikan error. Untuk skenario yang memerlukan keluaran panjang, kami menyarankan menggunakan panggilan streaming. Informasi selengkapnya tersedia dalam deskripsi timeout di Ikhtisar model generasi teks.

stream_options object (Opsional)

Item konfigurasi untuk keluaran streaming. Parameter ini hanya berlaku ketika stream diatur ke true.

Properti

include_usage boolean (Opsional) Nilai default: false

Menentukan apakah informasi konsumsi token disertakan dalam potongan data terakhir respons.

Nilai yang valid:

  • true: Sertakan.

  • false: Jangan sertakan.

Pada keluaran streaming, informasi konsumsi token hanya muncul dalam potongan data terakhir respons.

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

Menentukan modalitas data keluaran. Parameter ini hanya berlaku untuk model Qwen-Omni. Untuk informasi selengkapnya, lihat Non-real-time (Qwen-Omni).

Nilai yang valid:

  • ["text","audio"]: Menghasilkan teks dan audio.

  • ["text"]: Menghasilkan teks saja.

audio object (Opsional)

Menentukan suara dan format audio keluaran. Parameter ini hanya berlaku untuk model Qwen-Omni dan memerlukan parameter modalities diatur ke ["text","audio"]. Untuk informasi selengkapnya, lihat Non-real-time (Qwen-Omni).

Properti

voice string (Wajib)

Suara untuk audio keluaran. Untuk informasi selengkapnya, lihat Non-real-time (Qwen-Omni).

format string (Wajib)

Format audio keluaran. Hanya wav yang didukung.

temperature float (Opsional)

Suhu pengambilan sampel 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.

Kisaran nilai: [0, 2)

Baik temperature maupun top_p dapat mengontrol keragaman teks yang dihasilkan. Kami menyarankan Anda hanya mengatur salah satunya. Untuk informasi selengkapnya, lihat Ikhtisar.

Jangan mengubah nilai temperature default untuk model QVQ.

top_p float (Opsional)

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

Nilai top_p yang lebih tinggi menghasilkan teks yang lebih beragam, sedangkan nilai yang lebih rendah menghasilkan teks yang lebih deterministik.

Kisaran nilai: (0, 1.0]

Baik temperature maupun top_p dapat mengontrol keragaman teks yang dihasilkan. Kami menyarankan Anda hanya mengatur salah satu parameter tersebut. Untuk informasi selengkapnya, lihat Ikhtisar.

Jangan mengubah nilai top_p default untuk model QVQ.

top_k integer (Opsional)

Menentukan jumlah token kandidat yang akan dipertimbangkan selama proses generasi. Nilai yang lebih besar menghasilkan keluaran yang lebih acak, sedangkan nilai yang lebih kecil menghasilkan keluaran yang lebih deterministik. Jika diatur ke null atau nilai lebih besar 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 top_k default

Seri QVQ: 10;

Seri QwQ: 40;

model sebelum seri qwen-vl-plus, dan qwen2.5-omni-7b: 1;

Seri Qwen3-Omni-Flash: 50;

Semua model lainnya: 20.

Seri GLM (disediakan oleh Alibaba Cloud): 20;

Seri DeepSeek, Kimi, dan MiniMax tidak mendukung parameter top_k.

Parameter ini bukan parameter standar OpenAI. Saat memanggil menggunakan Python SDK, letakkan dalam objek extra_body. Konfigurasi: extra_body={"top_k":xxx}.
Jangan mengubah nilai top_k default untuk model QVQ.

repetition_penalty float (Opsional)

Parameter ini memberikan hukuman terhadap pengulangan token berturut-turut selama proses generasi model. Meningkatkan nilai repetition_penalty dapat mengurangi pengulangan dalam keluaran model. Nilai 1,0 berarti tidak ada hukuman. Tidak ada rentang nilai yang ketat, asalkan nilainya lebih besar dari 0.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan Python SDK, letakkan di objek extra_body. Konfigurasi: extra_body={"repetition_penalty":xxx}.
Saat menggunakan model qwen-vl-plus_2025-01-25 untuk ekstraksi teks, atur repetition_penalty ke 1,0.
Jangan mengubah nilai repetition_penalty default untuk model QVQ.

presence_penalty float (Opsional)

Mengontrol pengulangan konten saat model menghasilkan teks.

Kisaran nilai: [-2,0; 2,0]. Nilai positif mengurangi pengulangan, sedangkan nilai negatif meningkatkannya.

Dalam skenario yang memerlukan keragaman, kesenangan, atau kreativitas—seperti penulisan kreatif atau brainstorming—Anda dapat menaikkan nilai ini. Sebaliknya, dalam skenario yang menekankan konsistensi dan akurasi istilah—seperti dokumen teknis atau teks formal—Anda dapat menurunkan nilainya.

Nilai presence_penalty default

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

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

Semua model lainnya: 0,0.

Seri DeepSeek (disediakan oleh Alibaba Cloud): deepseek-r1, deepseek-r1-0528, versi distilasi deepseek-r1-distill-qwen: 1;

Seri Kimi (disediakan oleh Alibaba Cloud): kimi-k2.7-code, kimi-k2.6, kimi-k2.5: 0,0;

Seri Kimi (disediakan oleh Moonshot AI): 0,0;

Seri MiniMax (disediakan oleh Alibaba Cloud): MiniMax-M2.5, MiniMax-M2.1: 0,0;

Model DeepSeek, Kimi, GLM, dan MiniMax lainnya tidak memiliki nilai default.

Cara kerja

Jika nilai parameter positif, model memberikan hukuman pada token yang sudah muncul dalam teks. Hukuman ini tidak bergantung pada frekuensi kemunculan token tersebut, sehingga mengurangi kemungkinan token itu muncul kembali. Akibatnya, pengulangan konten berkurang dan keragaman kata meningkat.

Contoh

Prompt: Terjemahkan kalimat ini ke dalam Bahasa Mandarin: "Film ini bagus. Alur ceritanya bagus, aktingnya bagus, musiknya bagus, dan secara keseluruhan, seluruh filmnya bagus. Faktanya, film ini sangat bagus—alur ceritanya sangat bagus, aktingnya sangat bagus, dan musiknya sangat bagus."

Nilai parameter 2,0: Film ini hebat. Alur ceritanya fantastis, aktingnya luar biasa, dan musiknya juga sangat indah. Secara keseluruhan, seluruh film ini benar-benar luar biasa. Faktanya, film ini benar-benar luar biasa. Alur ceritanya sangat menarik, aktingnya sangat bagus, dan soundtrack-nya begitu mengharukan.

Nilai parameter 0,0: Film ini bagus. Alur ceritanya bagus, aktingnya bagus, dan musiknya bagus. Secara keseluruhan, seluruh film ini sangat bagus. Faktanya, film ini benar-benar hebat. Alur ceritanya sangat bagus, aktingnya juga sangat bagus, dan musiknya sama-sama luar biasa.

Nilai parameter -2,0: Film ini bagus. Alur ceritanya bagus, aktingnya bagus, dan musiknya bagus. Secara keseluruhan, seluruh film ini bagus. Faktanya, film ini benar-benar bagus. Alur ceritanya sangat bagus, aktingnya sangat bagus, dan musiknya sangat bagus.

Saat menggunakan model qwen-vl-plus untuk ekstraksi teks, atur presence_penalty ke 1,5.
Jangan ubah nilai presence_penalty default untuk model QVQ.

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

Format respons. Nilai yang valid:

  • {"type": "text"}: Menghasilkan balasan teks.

  • {"type": "json_object"}: Menghasilkan string dalam format JSON standar.

Untuk informasi selengkapnya, lihat Output terstruktur.
Jika Anda menentukan {"type": "json_object"}, Anda harus secara eksplisit menginstruksikan model untuk menghasilkan output dalam format JSON melalui prompt, misalnya dengan perintah seperti "Silakan keluarkan dalam format JSON". Jika tidak, akan terjadi error.
Untuk daftar model yang didukung, lihat Output terstruktur.

Properti

type string (Wajib)

Format konten yang dikembalikan. Nilai yang valid:

  • text: Menghasilkan balasan teks.

  • json_object: Menghasilkan string dalam format JSON standar.

max_tokens integer (Opsional, akan ditinggalkan)

Parameter ini akan ditinggalkan. Untuk integrasi baru, gunakan max_completion_tokens.

Panjang maksimum jawaban model, tidak termasuk konten rantai-pikiran. Dengan kata lain: Jawaban model = Keluaran model – Rantai-pikiran (jika ada).

Baik nilai default maupun nilai maksimum sama dengan panjang keluaran maksimum model.

Jika panjang jawaban model melebihi nilai ini, proses generasi akan dihentikan lebih awal, dan finish_reason yang dikembalikan adalah length.

max_completion_tokens integer (Opsional)

Panjang maksimum keluaran model, termasuk rantai-pikiran dan jawaban. Jika keluaran model melebihi nilai ini, proses generasi akan dihentikan lebih awal, dan finish_reason yang dikembalikan adalah length.

Nilai default dan maksimumnya sama dengan panjang keluaran maksimum model.

Perbedaan dari max_tokens: max_completion_tokens membatasi seluruh keluaran model (rantai-pikiran + jawaban), sedangkan max_tokens hanya membatasi bagian jawaban. Untuk model thinking, kami merekomendasikan penggunaan max_completion_tokens.

Model yang didukung:

  • Qwen Max: Model Qwen3.7-Max dan versi setelahnya

  • Qwen Plus: Model Qwen3.5-Plus dan versi setelahnya

  • Qwen Flash: Model Qwen3.5-Flash dan versi setelahnya

  • Kimi: Model kimi-k2.5 dan versi setelahnya

  • GLM: Model glm-5 dan versi setelahnya

  • MiniMax: Model MiniMax-M2.5 dan versi setelahnya

  • DeepSeek: deepseek-v3, deepseek-r1, deepseek-r1-0528, deepseek-v3.1, deepseek-v3.2, deepseek-v3.2-exp, deepseek-v4-pro, deepseek-v4-flash, dan versi setelahnya

Model yang tercantum di atas tidak mencakup model yang disediakan langsung oleh pihak ketiga.
Jumlah token keluaran aktual dapat berbeda hingga 10 token dari nilai max_completion_tokens yang ditentukan.

vl_high_resolution_images boolean (Opsional) Nilai default: false

Menentukan apakah batas piksel untuk gambar input ditingkatkan hingga setara dengan 16.384 token. Untuk informasi selengkapnya, lihat Memproses gambar resolusi tinggi.

  • vl_high_resolution_images: true menggunakan strategi resolusi tetap dan mengabaikan pengaturan max_pixels. Jika resolusi melebihi batas, jumlah total piksel gambar akan diperkecil agar tetap dalam batas tersebut.

    Klik untuk melihat batas piksel untuk setiap model

    Saat vl_high_resolution_images bernilai True, batas piksel bervariasi tergantung model:

    • Untuk seri Qwen3.7, seri Qwen3.6, seri Qwen3.5, seri Qwen3-VL, qwen-vl-max, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-0815, dan model , batasnya adalah 16.777.216. (Setiap Token setara dengan 32×32 piksel. Total dihitung sebagai 16.384×32×32.)

    • Seri QVQ dan model seri Qwen2.5-VL lainnya: 12.845.056 (1 token setara dengan 28×28 piksel, yaitu 16.384×28×28.)

  • Jika vl_high_resolution_images bernilai false, batas piksel ditentukan oleh max_pixels. Jika jumlah piksel gambar input melebihi max_pixels, gambar akan diperkecil hingga berada dalam batas max_pixels. Batas piksel default untuk setiap model mengikuti nilai default max_pixels.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan Python SDK, letakkan di objek extra_body. Konfigurasi: extra_body={"vl_high_resolution_images":xxx}.

n integer (Opsional) Nilai default: 1

Jumlah respons yang dihasilkan, dengan rentang nilai 1–4. Parameter ini cocok untuk skenario yang memerlukan beberapa respons kandidat, seperti penulisan kreatif atau iklan.

Hanya didukung oleh Qwen3 (mode non-thinking).
Jika parameter tools diteruskan, atur n ke 1.
Menambah nilai n meningkatkan konsumsi token keluaran, tetapi tidak memengaruhi konsumsi token input.

enable_thinking boolean (Opsional)

Saat menggunakan model mixed-thinking yang mendukung mode thinking dan non-thinking, parameter ini menentukan apakah mode thinking diaktifkan. Parameter ini berlaku untuk model Qwen3.7, Qwen3.6, Qwen3.5, Qwen3, Qwen3-Omni-Flash, dan Qwen3-VL; seri DeepSeek-V4-Pro/V4-Flash; seri DeepSeek-V3.2/V3.2-exp/V3.1; Kimi-K2.7-code (hanya model thinking); seri Kimi-K2.6/K2.5; serta seri GLM. Seri DeepSeek-V4 mengaktifkan mode thinking secara default. Intensitas inferensi dapat disesuaikan melalui parameter reasoning_effort.

Nilai yang valid:

  • true: Aktifkan

    Jika diaktifkan, konten thinking dikembalikan dalam field reasoning_content.
  • false: Nonaktifkan

Nilai default bervariasi tergantung model: Model yang didukung

Parameter ini bukan bagian dari standar OpenAI. Saat memanggil melalui Python SDK, masukkan parameter ini ke dalam objek extra_body. Contoh konfigurasi: extra_body={"enable_thinking": xxx}.
Model MiniMax dan MiniMax-M3 dari Xiyu Technology tidak menggunakan parameter ini. Sebagai gantinya, gunakan parameter thinking.

thinking object (Opsional). Nilai default: {"type":"adaptive"}

Mengontrol mode thinking MiniMax/MiniMax-M3 yang disediakan oleh MiniMax.

Nilai yang valid untuk thinking.type:

  • adaptive: Otomatis (default). Model menentukan apakah akan melakukan proses thinking.

  • disabled: Menonaktifkan thinking dan langsung memberikan respons.

Parameter ini bukan parameter standar OpenAI. Saat memanggil menggunakan Python SDK, letakkan dalam objek extra_body. Contoh konfigurasi: extra_body={"thinking": {"type": "adaptive"}}.

preserve_thinking boolean (Opsional) Nilai default: false

Menentukan apakah reasoning_content dari pesan asisten dalam riwayat percakapan akan disertakan ke input model. Parameter ini cocok untuk skenario di mana model perlu merujuk kembali ke proses berpikir historis.

Saat ini didukung oleh qwen3.7-max, qwen3.7-max-2026-05-20 dan snapshot setelahnya, qwen3.6-max-preview, qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.6-flash, qwen3.6-flash-2026-04-16, kimi-k2.6 (dideploy di Alibaba Cloud Model Studio), kimi-k2.7-code (dideploy di Alibaba Cloud Model Studio, diaktifkan secara default), kimi/kimi-k2.7-code-highspeed (disediakan oleh Moonshot AI, diaktifkan secara default), dan kimi/kimi-k2.7-code (disediakan oleh Moonshot AI, diaktifkan secara default).

  • Jika pesan historis tidak berisi reasoning_content, mengaktifkan parameter ini tidak menyebabkan error.

  • Saat diaktifkan, reasoning_content dari percakapan historis ikut dihitung dalam jumlah token input dan dikenai biaya.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan Python SDK, letakkan di objek extra_body. Konfigurasi: extra_body={"preserve_thinking": True}.

thinking_budget integer (Opsional)

Jumlah maksimum token untuk proses berpikir. Parameter ini berlaku untuk versi komersial dan open source Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, dan Qwen3. Untuk informasi selengkapnya, lihat Batasi panjang berpikir.

Nilai default-nya adalah panjang rantai-pikiran maksimum model. Untuk detail lebih lanjut, lihat daftar model.

Parameter ini bukan parameter standar OpenAI. Saat memanggil melalui Python SDK, letakkan dalam objek extra_body. Konfigurasi: extra_body={"thinking_budget": xxx}.

reasoning_effort string (Opsional). Nilai default: high.

Mengontrol intensitas inferensi model seri DeepSeek-V4 dan GLM.

Nilai yang valid:

  • high: Inferensi intensitas tinggi

  • max: Inferensi intensitas maksimum

Nilai low dan medium dipetakan ke high, sedangkan xhigh dipetakan ke max.

Berlaku untuk glm-5.2, glm-5.1, glm-5, deepseek-v4-pro, dan deepseek-v4-flash.

Parameter ini bukan parameter standar OpenAI. Saat memanggilnya menggunakan Python SDK, letakkan dalam objek extra_body. Konfigurasi: extra_body={"reasoning_effort": "high"}.

tool_stream boolean (Opsional). Nilai default: false.

Hanya berlaku saat stream=true. Parameter ini saat ini hanya didukung oleh seri Qwen dan GLM.

Daftar dukungan seri Qwen:

  • seri qwen-max: modalitas teks dari seri qwen3.7-max

  • seri qwen-plus: modalitas teks dari seri qwen3.7-plus dan qwen3.6-plus, serta modalitas omni dari seri qwen3.5-plus

  • seri qwen-flash: modalitas omni dari seri qwen3.6-flash dan qwen3.5-flash

Referensi penggunaan seri Qwen:

`tool_stream` hanya memengaruhi parameter alat kompleks. Untuk parameter alat normal, keluaran streaming diaktifkan selama stream=true. Alat kompleks adalah alat yang beberapa jenis parameternya dalam definisi alat adalah `array` atau `object`.

  • tool_stream=false: Parameter alat kompleks dikeluarkan sekaligus. Ini merupakan perilaku default, dan format kompleks lebih akurat.

  • tool_stream=true: Parameter alat kompleks dikeluarkan secara streaming, sehingga menghindari risiko timeout untuk format kompleks.

Daftar dukungan seri GLM: glm-4.6, glm-4.7, glm-5, dan glm-5.1.

Referensi penggunaan seri GLM:

  • tool_stream=false: Parameter alat dikeluarkan sekaligus. Ini merupakan perilaku default, dan format kompleks lebih akurat.

  • tool_stream=true: Parameter alat dikeluarkan secara streaming, sehingga menghindari risiko timeout untuk format kompleks.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan Python SDK, letakkan di objek extra_body. Konfigurasi: extra_body={"tool_stream": true}.

enable_code_interpreter boolean (Opsional). Nilai default: false.

Menentukan apakah fitur interpreter kode diaktifkan. Untuk informasi selengkapnya, lihat Interpreter kode.

Nilai yang valid:

  • true: Aktifkan

  • false: Nonaktifkan

Parameter ini bukan parameter standar OpenAI. Saat memanggil menggunakan Python SDK, letakkan dalam objek extra_body. Konfigurasi: extra_body={"enable_code_interpreter": xxx}.

seed integer (Opsional)

Seed bilangan acak. Parameter ini digunakan untuk memastikan hasil yang dapat direproduksi dengan input dan parameter yang sama. Jika Anda menggunakan nilai seed yang identik dalam panggilan API dan parameter lainnya tidak berubah, model akan mengembalikan hasil yang sama sejauh mungkin.

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

logprobs boolean (Opsional). Nilai default: false.

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

  • true

    Kembalikan.

  • false

    Jangan kembalikan.

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

Model yang didukung

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

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

  • Model seri qwen3-vl-plus (termasuk model versi stabil)

  • Model seri qwen3-vl-flash (termasuk model versi stabil)

  • Model open source Qwen3

top_logprobs integer (Opsional). Nilai default: 0

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

Kisaran nilai: [0, 5]

Parameter ini hanya berlaku jika logprobs bernilai true.

stop string atau array (Opsional)

Parameter ini digunakan untuk menentukan kata atau token penghenti. Saat string atau token_id yang ditentukan dalam stop muncul dalam teks yang dihasilkan, proses generasi akan segera dihentikan.

Anda dapat menggunakan parameter ini untuk memasukkan kata sensitif guna mengontrol keluaran model.

Jika stop berupa array, Anda tidak boleh mencampur token_id dan string sebagai elemen dalam array tersebut. Misalnya, Anda tidak dapat menentukan ["Hello",104307].

tools array (Opsional)

Array yang berisi satu atau lebih objek alat untuk dipanggil oleh model dalam Function Calling. Untuk informasi selengkapnya, lihat Function Calling.

Jika tools ditentukan dan model menentukan bahwa alat perlu dipanggil, respons akan mengembalikan informasi alat dalam tool_calls.

Properti

type string (Wajib)

Jenis alat. Saat ini, hanya function yang didukung.

function object (Wajib)

Properti

name string (Wajib)

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

description string (Wajib)

Deskripsi alat yang membantu model menentukan kapan dan bagaimana memanggil alat tersebut.

parameters object (Opsional) Nilai default: {}

Deskripsi parameter alat, yang harus berupa JSON Schema yang valid. Untuk informasi mengenai JSON Schema, lihat tautan. Jika parameter parameters kosong, alat tidak memiliki parameter input, seperti alat kueri waktu.

Untuk meningkatkan akurasi pemanggilan alat, kami merekomendasikan agar Anda menyertakan parameters.

tool_choice string atau object (Opsional) Nilai default: auto

Strategi pemilihan alat. Untuk memaksa penggunaan metode pemanggilan alat tertentu sesuai jenis masalah—misalnya, selalu menggunakan alat tertentu atau menonaktifkan semua alat—atur parameter ini.

Nilai yang valid:

  • auto

    Model bahasa besar menentukan strategi alat secara otomatis.

  • none

    Jika Anda tidak ingin memanggil alat apa pun, atur parameter tool_choice ke none.

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

    Untuk memaksa pemanggilan alat tertentu, atur 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 mode thinking tidak mendukung pemaksaan pemanggilan alat tertentu.

parallel_tool_calls boolean (Opsional). Nilai default: false.

Menentukan apakah pemanggilan alat paralel diaktifkan. Untuk informasi selengkapnya, lihat Pemanggilan alat paralel.

Nilai yang valid:

  • true: Aktifkan

  • false: Nonaktifkan

enable_search boolean (Opsional) Nilai default: false

Menentukan apakah pencarian web akan diaktifkan. Untuk informasi selengkapnya, lihat Pencarian web.

Nilai yang valid:

  • true: Aktifkan.

    Jika pencarian web tidak dilakukan meskipun telah diaktifkan, Anda dapat mengoptimalkan prompt atau mengatur parameter forced_search dalam search_options untuk memaksa pencarian dilakukan.
  • false: Nonaktifkan.

Mengaktifkan fitur pencarian web dapat meningkatkan konsumsi token.
Parameter ini bukan parameter standar OpenAI. Saat memanggil menggunakan Python SDK, letakkan parameter ini dalam objek extra_body. Contoh konfigurasi: extra_body={"enable_search": True}.

search_options object (Opsional)

Strategi untuk pencarian web. Untuk informasi selengkapnya, lihat Pencarian web.

Properti

forced_search boolean (Opsional) Nilai default: false

Menentukan apakah pencarian web akan dipaksakan. Parameter ini hanya berlaku saat enable_search diatur ke true.

Nilai yang valid:

  • true: Aktifkan secara paksa.

  • false: Tidak memaksa pencarian web. Model menentukan apakah perlu melakukan pencarian web.

search_strategy string (Opsional) Nilai default: turbo

Strategi pencarian. Parameter ini hanya berlaku saat enable_search diatur ke true.

Nilai yang valid:

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

  • max: Menggunakan strategi pencarian yang lebih komprehensif dengan memanggil mesin pencari multi-sumber untuk hasil yang lebih detail, meskipun waktu respons mungkin lebih lama.

  • agent: Memungkinkan pemanggilan berulang terhadap alat pencarian web dan model bahasa besar untuk pengambilan informasi multi-putaran serta integrasi konten.

    Strategi ini hanya berlaku untuk qwen3.5-plus, qwen3.5-plus-2026-02-15, qwen3.5-flash, qwen3.5-flash-2026-02-23, qwen3-max, qwen3-max-2026-01-23, qwen3-max-2025-09-23, qwen3.5-omni-plus, qwen3.5-omni-plus-2026-03-15, qwen3.5-omni-flash, dan qwen3.5-omni-flash-2026-03-15.
  • agent_max: Mendukung scraping web berdasarkan strategi agent. Untuk informasi selengkapnya, lihat Scraping web.

    Strategi ini hanya berlaku untuk mode thinking qwen3-max dan qwen3-max-2026-01-23.

enable_search_extension boolean (Opsional) Nilai default: false

Menentukan apakah pencarian vertikal diaktifkan. Parameter ini hanya berlaku saat enable_search diatur ke true.

Nilai yang valid:

  • true: Aktifkan.

  • false: Nonaktifkan.

Parameter ini bukan parameter OpenAI standar. Saat Anda memanggil menggunakan Python SDK, letakkan di objek extra_body. Konfigurasi: extra_body={"search_options": xxx}.

clear_thinking boolean (Opsional) Nilai default: false

Mengontrol apakah reasoning_content (proses berpikir) dari putaran sebelumnya dalam percakapan multi-putaran digunakan sebagai input konteks untuk model. Parameter ini hanya didukung oleh model seri GLM glm-5.2, glm-5.1, glm-5, dan glm-4.7.

Parameter ini bukan parameter standar OpenAI. Saat memanggil menggunakan Python SDK, letakkan dalam objek extra_body. Contoh konfigurasi: extra_body={"skill": [...]}.
  • true: Mengabaikan reasoning_content dari putaran sebelumnya dan hanya menggunakan teks yang terlihat, pemanggilan alat, hasil, serta konten non-inferensi lainnya sebagai input konteks. Pendekatan ini dapat mengurangi panjang konteks dan biaya.

  • false (Default): Mempertahankan reasoning_content dari putaran sebelumnya dan menyediakannya ke model bersama dengan konteks lainnya. Untuk mengaktifkan Preserved Thinking, Anda harus meneruskan reasoning_content historis secara lengkap, tidak diubah, dan dalam urutan aslinya dalam pesan. Penghilangan, pemotongan, penulisan ulang, atau pengubahan urutan dapat menurunkan performa atau menyebabkan kegagalan.

Objek respons Chat (keluaran 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

Pengenal unik untuk panggilan ini.

choices array

Array konten yang dihasilkan model.

Properti

finish_reason string

Alasan mengapa model berhenti menghasilkan.

Pertimbangkan tiga skenario berikut:

  • stop: Model berhenti menghasilkan karena memicu parameter stop dalam input atau berhenti secara alami.

  • length: Model berhenti menghasilkan karena panjang generasi terlalu panjang.

  • tool_calls: Model berhenti menghasilkan karena alat perlu dipanggil.

index integer

Indeks objek ini dalam array choices.

logprobs object

Informasi probabilitas token dari keluaran model.

Properti

content array

Array yang berisi setiap token dan probabilitas log-nya.

Properti

token string

Teks token saat ini.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Ini digunakan untuk memulihkan konten keluaran secara akurat, seperti emoji atau karakter Tionghoa.

logprob float

Probabilitas log token saat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.

top_logprobs array

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

Properti

token string

Teks token kandidat.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Ini digunakan untuk memulihkan konten keluaran secara akurat, seperti emoji atau karakter Tionghoa.

logprob float

Probabilitas log token kandidat ini. Nilai null menunjukkan probabilitas yang sangat rendah.

message object

Pesan yang dihasilkan oleh model.

Properti

content string

Konten balasan dari model.

reasoning_content string

Konten rantai pikir (chain-of-thought) dari model.

refusal string

Parameter ini saat ini bernilai null.

role string

Peran pesan. Nilainya selalu assistant.

audio object

Parameter ini saat ini bernilai null.

function_call (akan ditinggalkan) object

Nilainya selalu null. Untuk informasi selengkapnya, lihat parameter tool_calls.

tool_calls array

Informasi mengenai alat dan parameter input yang dipilih oleh model untuk dipanggil.

Properti

id string

Pengenal unik untuk pemanggilan alat ini.

type string

Jenis alat. Saat ini, hanya function yang didukung.

function object

Detail alat

Properti

name string

Nama alat.

arguments string

Informasi parameter input dalam bentuk string berformat JSON.

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

index integer

Indeks pemanggilan alat ini dalam array tool_calls.

created integer

Timestamp Unix, dalam 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 null.

system_fingerprint string

Parameter ini saat ini tetap null.

usage object

Informasi konsumsi token untuk permintaan ini.

Properti

completion_tokens integer

Jumlah token dalam keluaran model.

prompt_tokens integer

Jumlah token input. Untuk informasi selengkapnya, lihat Catatan tambahan.

total_tokens integer

Jumlah total token yang dikonsumsi. Ini adalah jumlah dari prompt_tokens dan completion_tokens.

completion_tokens_details object

Klasifikasi detail keluaran token.

Properti

audio_tokens integer

Parameter ini saat ini tetap null.

reasoning_tokens integer

Parameter ini saat ini tetap null.

text_tokens integer

Jumlah token dalam teks keluaran.

prompt_tokens_details object

Klasifikasi detail token input.

Properti

audio_tokens integer

Parameter ini saat ini tetap null.

cached_tokens integer

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

text_tokens integer

Jumlah token teks input.

image_tokens integer

Jumlah token gambar input.

video_tokens integer

Jumlah token untuk file video input atau daftar gambar.

cache_creation object

Informasi 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

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

Objek potongan 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":" a 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","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":" model from 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. 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":".","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":"","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

Pengenal unik untuk panggilan ini. Setiap objek potongan memiliki ID yang sama.

choices array

Array konten yang dihasilkan model, yang dapat berisi satu atau lebih objek. Jika parameter include_usage diatur ke true, choices adalah array kosong dalam potongan terakhir.

Properti

delta object

Objek inkremental dari permintaan.

Properti

content string

Konten pesan inkremental.

reasoning_content string

Konten rantai-pikiran inkremental.

function_call object

Nilainya default null. Untuk informasi selengkapnya, lihat parameter tool_calls.

audio object

Balasan yang dihasilkan saat Anda menggunakan model Qwen-Omni.

Properti

data string

Data audio Base64-encoded inkremental.

expires_at integer

Timestamp saat permintaan dibuat.

refusal object

Parameter ini saat ini tetap null.

role string

Peran objek pesan inkremental. Memiliki nilai hanya pada potongan pertama.

tool_calls array

Informasi tentang alat dan parameter inputnya yang diputuskan model untuk dipanggil.

Properti

index integer

Indeks pemanggilan alat ini dalam array tool_calls.

id string

Pengenal unik untuk pemanggilan alat ini.

function object

Informasi tentang alat yang dipanggil.

Properti

arguments string

Parameter input inkremental. arguments dari semua potongan digabungkan untuk membentuk set parameter input lengkap.

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

name string

Nama alat. Memiliki nilai hanya pada potongan pertama.

type string

Jenis alat. Saat ini, hanya function yang didukung.

finish_reason string

Alasan mengapa model berhenti menghasilkan. Nilainya dapat berupa salah satu dari berikut:

  • stop: Model berhenti menghasilkan karena memicu parameter stop dalam input atau berhenti secara alami.

  • Nilainya adalah null hingga generasi selesai.

  • length: Model berhenti menghasilkan karena panjang generasi terlalu panjang.

  • tool_calls: Model berhenti menghasilkan karena alat perlu dipanggil.

index integer

Indeks respons saat ini dalam array choices. Saat parameter input n lebih besar dari 1, Anda dapat menggunakan parameter ini untuk menggabungkan konten lengkap yang sesuai dengan respons berbeda.

logprobs object

Informasi probabilitas objek saat ini.

Properti

content array

Array token dengan informasi probabilitas log.

Properti

token string

Token saat ini.

bytes array

Daftar byte UTF-8 mentah dari token saat ini. Ini membantu saat Anda memproses emoji dan karakter Tionghoa.

logprob float

Probabilitas log token saat ini. Nilai null menunjukkan probabilitas yang sangat rendah.

top_logprobs array

Token paling mungkin pada posisi token saat ini dan probabilitas log-nya. 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. Ini membantu saat Anda memproses emoji dan karakter Tionghoa.

logprob float

Probabilitas log token saat ini. Nilai null menunjukkan probabilitas yang sangat rendah.

created integer

Timestamp saat permintaan ini dibuat. Setiap potongan 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 tetap null.

system_fingerprint string

Parameter ini saat ini tetap null.

usage object

Token yang dikonsumsi oleh permintaan ini. Ditampilkan hanya dalam potongan terakhir saat include_usage diatur ke true.

Properti

completion_tokens integer

Jumlah token dalam keluaran 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 tentang token keluaran.

Properti

audio_tokens integer

Jumlah token audio keluaran.

reasoning_tokens integer

Jumlah token dalam proses berpikir.

text_tokens integer

Jumlah token teks keluaran.

prompt_tokens_details object

Klasifikasi detail token input.

Properti

audio_tokens integer

Jumlah token audio input.

Jumlah token audio dalam file video dikembalikan dalam parameter ini.

text_tokens integer

Jumlah token teks input.

video_tokens integer

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

image_tokens integer

Jumlah token gambar input.

cached_tokens integer

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

cache_creation object

Informasi 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

Jenis cache. Nilainya tetap ephemeral.

Kode error

Jika pemanggilan model gagal dan pesan error dikembalikan, lihat Kode error untuk menyelesaikan masalah.