Alibaba Cloud Model Studio:Referensi API Chat OpenAI
Last Updated:Mar 18, 2026
Topik ini menjelaskan cara memanggil model Qwen menggunakan API Chat yang kompatibel dengan OpenAI. Dokumen ini mencakup deskripsi parameter input dan output serta contoh kode.
Wilayah Singapura
base_url untuk SDK: https://dashscope-intl.aliyuncs.com/compatible-mode/v1
Titik akhir HTTP: POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions
AS (Virginia)
base_url untuk SDK: https://dashscope-us.aliyuncs.com/compatible-mode/v1
Titik akhir HTTP: POST https://dashscope-us.aliyuncs.com/compatible-mode/v1/chat/completions
Tiongkok (Beijing)
base_url untuk konfigurasi SDK: https://dashscope.aliyuncs.com/compatible-mode/v1
Titik akhir HTTP: POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Berikut adalah base_url untuk wilayah Singapura.
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# Contoh ini menggunakan qwen-plus. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 untuk wilayah Singapura/Virginia 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"))
// Berikut adalah base_url untuk wilayah Singapura.
.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("Terjadi kesalahan: " + e.getMessage());
e.printStackTrace();
}
}
}
Node.js
import OpenAI from "openai";
const openai = new OpenAI(
{
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: apiKey: "sk-xxx",
// Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
apiKey: process.env.DASHSCOPE_API_KEY,
// Berikut adalah base_url untuk wilayah Singapura.
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat 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")
// Berikut adalah base_url untuk wilayah Singapura.
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 Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: string? apiKey = "sk-xxx";
// Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("Kunci API belum diatur. Pastikan variabel lingkungan 'DASHSCOPE_API_KEY' telah diatur.");
return;
}
// Atur URL dan konten permintaan.
// Berikut adalah base_url untuk wilayah Singapura.
string url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions";
// Contoh ini menggunakan qwen-plus. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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"))
{
// Atur 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 $"Permintaan gagal: {response.StatusCode}";
}
}
}
}
PHP (HTTP)
<?php
// Atur URL permintaan.
// Berikut adalah base_url untuk wilayah Singapura.
$url = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions';
// Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: $apiKey = "sk-xxx";
// Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
$apiKey = getenv('DASHSCOPE_API_KEY');
// Atur header permintaan.
$headers = [
'Authorization: Bearer '.$apiKey,
'Content-Type: application/json'
];
// Atur isi badan permintaan.
$data = [
// Contoh ini menggunakan qwen-plus. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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();
// Atur 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 'Kesalahan cURL: ' . curl_error($ch);
}
// Tutup sumber daya cURL.
curl_close($ch);
// Cetak respons.
echo $response;
?>
curl
Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat 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?"
}
]
}'
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura/Virginia 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"),
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
apiKey: process.env.DASHSCOPE_API_KEY,
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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
Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat 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
Untuk informasi lebih lanjut tentang cara menggunakan model besar untuk menganalisis gambar, lihat Pemahaman gambar dan video.
Python
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura/Virginia 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"),
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
apiKey: process.env.DASHSCOPE_API_KEY,
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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
Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat 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
Kode berikut memberikan contoh cara meneruskan daftar gambar. Untuk informasi lebih lanjut tentang metode lain, seperti meneruskan file video, lihat Pemahaman visual.
Python
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura/Virginia 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"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# Contoh ini menggunakan qwen-vl-max. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 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 Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: apiKey: "sk-xxx",
// Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
apiKey: process.env.DASHSCOPE_API_KEY,
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 process in this video."
}
]}]
});
console.log(JSON.stringify(response));
}
main();
curl
Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Buat kunci API. Berikut adalah base_url untuk chat/completions di wilayah Singapura.
Untuk kode lengkap alur kerja Pemanggilan Fungsi, lihat Pemanggilan fungsi.
Python
import os
from openai import OpenAI
client = OpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
# Kunci API untuk wilayah Singapura/Virginia 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"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
tools = [
# Alat 1: Dapatkan waktu saat ini.
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Ini berguna ketika Anda ingin mengetahui waktu saat ini.",
"parameters": {} # Tidak diperlukan parameter input untuk mendapatkan waktu saat ini, sehingga parameters adalah dictionary kosong.
}
},
# Alat 2: Dapatkan cuaca di kota tertentu.
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Ini berguna ketika Anda ingin memeriksa cuaca di kota tertentu.",
"parameters": {
"type": "object",
"properties": {
# Lokasi diperlukan untuk menanyakan cuaca, sehingga parameter diatur ke location.
"location": {
"type": "string",
"description": "Kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang."
}
},
"required": ["location"]
}
}
}
]
messages = [{"role": "user", "content": "Bagaimana cuaca di Hangzhou?"}]
completion = client.chat.completions.create(
model="qwen-plus", # Contoh ini menggunakan qwen-plus. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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 Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: apiKey: "sk-xxx",
// Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
);
const messages = [{"role": "user", "content": "Bagaimana cuaca di Hangzhou?"}];
const tools = [
// Alat 1: Dapatkan waktu saat ini.
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Ini berguna ketika Anda ingin mengetahui waktu saat ini.",
// Tidak diperlukan parameter input untuk mendapatkan waktu saat ini, sehingga parameters kosong.
"parameters": {}
}
},
// Alat 2: Dapatkan cuaca di kota tertentu.
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Ini berguna ketika Anda ingin memeriksa cuaca di kota tertentu.",
"parameters": {
"type": "object",
"properties": {
// Lokasi diperlukan untuk menanyakan cuaca, sehingga parameter diatur ke location.
"location": {
"type": "string",
"description": "Kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang."
}
},
"required": ["location"]
}
}
}
];
async function main() {
const response = await openai.chat.completions.create({
model: "qwen-plus", // Contoh ini menggunakan qwen-plus. Anda dapat mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models
messages: messages,
tools: tools,
});
console.log(JSON.stringify(response));
}
main();
curl
Kunci API untuk wilayah Singapura/Virginia dan Beijing berbeda. Buat kunci API. Berikut adalah base_url untuk chat/completions di wilayah Singapura.
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": "Bagaimana cuaca di Hangzhou?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Ini berguna ketika Anda ingin mengetahui waktu saat ini.",
"parameters": {}
}
},
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Ini berguna ketika Anda ingin memeriksa cuaca di kota tertentu.",
"parameters": {
"type": "object",
"properties": {
"location":{
"type": "string",
"description": "Kota atau distrik, seperti Beijing, Hangzhou, atau Distrik Yuhang."
}
},
"required": ["location"]
}
}
}
]
}'
Pemanggilan asinkron
import os
import asyncio
from openai import AsyncOpenAI
import platform
client = AsyncOpenAI(
# Jika Anda belum mengonfigurasi variabel lingkungan, ganti baris berikut dengan Kunci API Studio Model Anda: api_key="sk-xxx"
# Jika Anda menggunakan model di wilayah Tiongkok (Beijing), Anda harus menggunakan kunci API untuk wilayah tersebut. Dapatkan kunci API dari: https://bailian.console.alibabacloud.com/?tab=model#/api-key
api_key=os.getenv("DASHSCOPE_API_KEY"),
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 mengubah nama model sesuai kebutuhan. Untuk daftar model, lihat 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())
modelstring(Wajib)
Nama model.
Model yang didukung meliputi model bahasa besar Qwen (komersial dan open source), Qwen-VL, Qwen-Coder, Qwen-Omni, dan Qwen-Math.
Riwayat percakapan untuk model, disusun secara kronologis.
Jenis pesan
Pesan Sistem object(Opsional)
Pesan sistem yang menentukan peran, nada, tujuan tugas, atau batasan untuk model bahasa besar. Letakkan di awal array messages.
Jangan atur Pesan Sistem untuk model QwQ. Pesan Sistem tidak berpengaruh pada model QVQ.
Properti
contentstring(Wajib)
Instruksi sistem yang menentukan peran, perilaku, gaya respons, dan batasan tugas model.
rolestring(Wajib)
Peran untuk pesan sistem. Nilainya tetap system.
Pesan Pengguna object(Wajib)
Pesan pengguna yang meneruskan pertanyaan, instruksi, atau konteks ke model.
Properti
contentstring atau array(Wajib)
Isi pesan. Ini berupa string untuk input teks saja. Ini berupa array untuk input multi-modal, seperti gambar, atau jika caching eksplisit diaktifkan.
Properti untuk model multi-modal atau saat caching eksplisit diaktifkan
typestring(Wajib)
Nilai yang valid:
text
Atur ke text untuk input teks.
image_url
Atur ke image_url untuk input gambar.
input_audio
Atur ke input_audio untuk input audio.
video
Atur ke video saat input video berupa daftar gambar.
video_url
Atur ke video_url untuk input file video.
Hanya beberapa model Qwen-VL yang menerima file video sebagai input. Lihat Pemahaman video (Qwen-VL). Model QVQ dan Qwen-Omni mendukung input file video langsung.
textstring
Teks input. Parameter ini wajib saat type adalah text.
image_urlobject
Informasi gambar input. Parameter ini wajib saat type adalah image_url.
Memberi tahu model tentang interval waktu antara frame yang berdekatan. Ini membantu model lebih memahami dinamika temporal video. Fungsi ini berlaku untuk input file video maupun daftar gambar. Cocok untuk skenario seperti lokalisasi waktu kejadian atau ringkasan konten segmen.
Mendukung model Qwen3.5, Qwen3-VL, Qwen2.5-VL, dan 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 konten dengan adegan statis.
Nilai contoh
Untuk input daftar gambar: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
Untuk input file video: {"video": "https://xx1.mp4","fps":2}
min_pixelsinteger(Opsional)
Menetapkan ambang batas piksel minimum untuk gambar input atau frame video. Jika gambar input atau frame video memiliki jumlah piksel kurang dari min_pixels, gambar tersebut diperbesar hingga jumlah total piksel melebihi min_pixels. Berlaku untuk model Qwen-VL dan QVQ.
Rentang nilai
Untuk input gambar:
Qwen3.5 dan 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.
Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default dan minimum adalah 3136.
Untuk input file video atau daftar gambar:
Qwen3.5, Qwen3-VL (termasuk versi komersial dan open source), 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 65536. Nilai minimum adalah 4096.
Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default adalah 50176. Nilai minimum adalah 3136.
Nilai contoh
Untuk input gambar: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536}
Untuk input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536}
Untuk input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}
max_pixelsinteger(Opsional)
Menetapkan ambang batas piksel maksimum untuk gambar input atau frame video. Jika gambar input atau video memiliki jumlah piksel dalam rentang [min_pixels, max_pixels], model memproses gambar aslinya. Jika jumlah piksel melebihi max_pixels, gambar diperkecil hingga jumlah total pikselnya kurang dari max_pixels. Berlaku untuk model Qwen-VL dan QVQ.
Qwen3.5 dan 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.
Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default adalah 1003520. Nilai maksimum adalah 12845056.
Jika vl_high_resolution_images adalah True:
Qwen3.5, 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 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.
Untuk input file video atau daftar gambar:
Seri qwen3.5, seri qwen3-vl-plus, seri qwen3-vl-flash, qwen3-vl-235b-a22b-thinking, dan qwen3-vl-235b-a22b-instruct: Nilai default adalah 655360. Nilai maksimum adalah 2048000.
Model open source Qwen3-VL lainnya, 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 655360. Nilai maksimum adalah 786432.
Model qwen-vl-plus lainnya, model qwen-vl-max lainnya, seri open source Qwen2.5-VL, dan model seri QVQ: Nilai default adalah 501760. Nilai maksimum adalah 602112.
Nilai contoh
Untuk input gambar: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}
Untuk input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360}
Untuk input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}
total_pixelsinteger(Opsional)
Membatasi jumlah total piksel untuk semua frame yang diekstraksi dari video (piksel per frame × jumlah total frame). Jika jumlah total piksel video melebihi batas ini, sistem memperkecil frame video. Namun, sistem memastikan bahwa jumlah piksel setiap frame tetap berada dalam rentang [min_pixels, max_pixels]. Berlaku untuk model Qwen-VL dan QVQ.
Untuk video panjang dengan banyak frame yang diekstraksi, turunkan nilai ini untuk mengurangi konsumsi token dan waktu pemrosesan. Namun, hal ini dapat menyebabkan hilangnya detail gambar.
Rentang nilai
Seri qwen3.5, seri qwen3-vl-plus, seri qwen3-vl-flash, qwen3-vl-235b-a22b-thinking, dan qwen3-vl-235b-a22b-instruct: Nilai default dan minimum adalah 134217728. Nilai ini sesuai dengan 131072 token gambar (1 token gambar per 32×32 piksel).
Model open source Qwen3-VL lainnya, 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 67108864. Nilai ini sesuai 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 adalah 51380224. Nilai ini sesuai dengan 65536 token gambar (1 token gambar per 28×28 piksel).
Nilai contoh
Untuk input file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728}
Untuk input daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}
Balasan model. Biasanya dikirim kembali ke model sebagai konteks dalam percakapan multi-putaran.
Properti
contentstring(Opsional)
Isi teks balasan model. Jika tool_calls disertakan, content bisa kosong. Jika tidak, content wajib diisi.
rolestring(Wajib)
Peran untuk pesan asisten. Nilainya tetap assistant.
partialboolean(Opsional) Default: false
Menentukan apakah akan mengaktifkan mode sebagian.
Nilai yang valid:
true: diaktifkan.
false: fitur dinonaktifkan.
Untuk daftar model yang didukung, lihat mode sebagian.
tool_callsarray(Opsional)
Informasi alat dan parameter input yang dikembalikan setelah pemanggilan fungsi dimulai. Berisi satu atau beberapa objek dan diambil dari bidang tool_calls dari respons model sebelumnya.
Properti
idstring(Wajib)
ID respons alat.
typestring(Wajib)
Jenis alat. Saat ini, hanya function yang didukung.
functionobject(Wajib)
Informasi alat dan parameter input.
Properti
namestring(Wajib)
Nama alat.
argumentsstring(Wajib)
Informasi parameter input, diformat sebagai string JSON.
indexinteger(Wajib)
Indeks informasi alat saat ini dalam array tool_calls.
Pesan Alat object(Opsional)
Informasi keluaran alat.
Properti
contentstring(Wajib)
Isi keluaran fungsi alat. Harus berupa string. Jika alat mengembalikan data terstruktur, seperti JSON, serialisasikan menjadi string.
rolestring(Wajib)
Nilainya tetap tool.
tool_call_idstring(Wajib)
ID yang dikembalikan setelah pemanggilan fungsi dimulai. Ambil dari completion.choices[0].message.tool_calls[$index].id. ID ini menandai alat yang sesuai dengan Pesan Alat.
streamboolean (Opsional. Default false.)
Menentukan apakah akan menggunakan keluaran streaming untuk balasan. Untuk informasi lebih lanjut, lihat Keluaran streaming.
Nilai yang valid:
false: Model mengembalikan seluruh konten sekaligus setelah generasi selesai.
true: Model menghasilkan dan mengembalikan keluaran secara bertahap. Blok data (chunk) dikembalikan untuk setiap bagian konten yang dihasilkan. Baca blok-blok ini secara real-time untuk menyusun balasan lengkap.
Atur parameter ini ke true untuk meningkatkan pengalaman membaca dan mengurangi risiko timeout.
stream_options object(Opsional)
Opsi konfigurasi untuk keluaran streaming. Parameter ini hanya digunakan saat stream diatur ke true.
Properti
include_usage boolean(Opsional. Default false)
Menentukan apakah akan menyertakan informasi konsumsi token dalam blok data terakhir respons.
Nilai yang valid:
true: Menunjukkan bahwa item disertakan.
false: Tidak disertakan.
Saat streaming diaktifkan, informasi konsumsi token hanya disertakan dalam blok data terakhir respons.
modalitiesarray (Opsional) Default: ["text"]
Parameter ini menentukan modalitas keluaran dan hanya berlaku untuk model Qwen-Omni. Untuk informasi lebih lanjut, lihat Asinkron (Qwen-Omni).
Nilai yang valid:
["text","audio"]: Menghasilkan teks dan audio.
["text"]: Hanya menghasilkan teks.
audio object(Opsional)
Suara dan format keluaran audio. Parameter ini eksklusif untuk model Qwen-Omni dan memerlukan parameter modalities diatur ke ["text","audio"]. Untuk informasi lebih lanjut, lihat Non-real-time (Qwen-Omni).
Properti
voice string(Wajib)
Suara keluaran audio. Untuk informasi lebih lanjut, lihat Daftar suara.
format string(Wajib)
Format keluaran audio. Hanya wav yang didukung.
suhu float(Opsional)
Suhu pengambilan sampel mengontrol keragaman teks yang dihasilkan.
Nilai yang lebih tinggi meningkatkan keragaman, sedangkan nilai yang lebih rendah membuat keluaran lebih deterministik.
Nilainya harus lebih besar dari atau sama dengan 0 dan kurang dari 2.
Baik parameter suhu maupun top_p mengontrol keragaman teks yang dihasilkan. Atur hanya salah satunya. Untuk informasi lebih lanjut, lihat Ikhtisar model generasi teks.
Jangan ubah nilai suhu default untuk model QVQ.
top_p float(Opsional)
Ambang batas probabilitas untuk pengambilan sampel inti. Ini mengontrol keragaman teks yang dihasilkan.
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 suhu maupun top_p mengontrol keragaman teks yang dihasilkan. Atur hanya salah satu parameter ini. Untuk informasi lebih lanjut, lihat Ikhtisar generasi teks.
Jangan ubah nilai top_p default untuk model QVQ.
top_kinteger (Opsional)
Menentukan jumlah token kandidat yang digunakan untuk pengambilan sampel selama 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, kebijakan top_k dinonaktifkan dan hanya kebijakan top_p yang berlaku. Nilainya harus berupa bilangan bulat yang 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.
Parameter ini bukan parameter OpenAI standar. Saat menggunakan SDK Python, sertakan dalam objek extra_body. Konfigurasikan sebagai berikut: extra_body={"top_k": xxx}.
Jangan ubah nilai top_k default untuk model QVQ.
presence_penaltyfloat (Opsional)
Mengontrol pengulangan dalam teks yang dihasilkan oleh model.
Nilai yang valid: -2,0 hingga 2,0. Nilai positif mengurangi pengulangan; nilai negatif meningkatkannya.
Untuk skenario yang memerlukan keragaman dan kreativitas, seperti penulisan kreatif atau brainstorming, tingkatkan nilai ini. Untuk skenario yang memerlukan konsistensi dan akurasi terminologi, seperti dokumen teknis atau teks formal, turunkan nilai ini.
Nilai presence_penalty default
Qwen3.5 (mode non-thinking), qwen3-max-preview (mode thinking), Qwen3 (mode non-thinking), seri Qwen3-Instruct, qwen3-0.6b/1.7b/4b (mode thinking), 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.
Saat nilai parameter positif, model memberikan penalti pada token yang sudah muncul dalam teks yang dihasilkan. Penalti ini tidak bergantung pada seberapa sering token muncul. Hal ini mengurangi kemungkinan token tersebut muncul kembali, sehingga mengurangi pengulangan dan meningkatkan keragaman leksikal.
Contoh
Prompt: Terjemahkan kalimat ini ke Bahasa Indonesia: "This movie is good. The plot is good, the acting is good, the music is good, and overall, the entire movie is just good. In fact, it’s really good—the plot is excellent, the acting is excellent, and the music is excellent."
Nilai parameter 2,0: Film ini luar biasa. Alur ceritanya fantastis, aktingnya luar biasa, dan musiknya indah. Secara keseluruhan, seluruh film ini benar-benar luar biasa. Bahkan, film ini benar-benar istimewa. Ceritanya menarik, aktingnya brilian, dan skornya sangat mengharukan.
Nilai parameter 0,0: Film ini bagus. Alur ceritanya bagus, aktingnya bagus, dan musiknya juga bagus. Secara keseluruhan, seluruh film ini sangat bagus. Bahkan, film ini benar-benar hebat. Alur ceritanya sangat bagus, aktingnya juga luar biasa, dan musiknya juga sangat baik.
Nilai parameter -2,0: Film ini sangat bagus. Alur ceritanya sangat bagus, aktingnya sangat bagus, dan musiknya juga sangat bagus. Secara keseluruhan, seluruh film ini sangat bagus. Bahkan, film ini benar-benar hebat. Alur ceritanya sangat bagus, aktingnya juga sangat bagus, dan musiknya juga sangat bagus.
Saat menggunakan model qwen-vl-plus-2025-01-25 untuk ekstraksi teks, atur presence_penalty ke 1,5.
Jangan ubah nilai presence_penalty default untuk model QVQ.
Jika Anda menentukan {"type": "json_object"}, Anda harus secara eksplisit menginstruksikan model untuk mengeluarkan JSON dalam prompt. Misalnya, tambahkan "Silakan keluarkan dalam format JSON." ke prompt. Jika tidak, terjadi error.
json_object: Mengembalikan string JSON yang sesuai dengan sintaks JSON standar.
json_schema: Mengembalikan string JSON yang sesuai dengan skema kustom.
json_schema object
Bidang ini wajib saat `type` adalah `json_schema`. Bidang ini menentukan konfigurasi untuk output terstruktur.
Properti
name string(Wajib)
Nama unik untuk skema. Nama hanya boleh berisi huruf (tidak membedakan huruf besar/kecil), angka, garis bawah (_), dan tanda hubung (-). Panjang maksimum adalah 64 karakter.
description string(Opsional)
Deskripsi tujuan skema. Ini membantu model memahami konteks semantik output.
schema object(Opsional)
Objek yang sesuai dengan standar JSON Schema. Ini menentukan struktur data untuk output model.
Untuk petunjuk membangun JSON Schema, lihat JSON Schema
strict boolean (Opsional. Default false)
Menentukan apakah model harus benar-benar mengikuti semua batasan skema.
true (Direkomendasikan)
Model benar-benar mengikuti semua batasan, seperti jenis bidang, properti wajib, dan format. Ini memastikan output sepenuhnya sesuai dengan skema.
false (Tidak direkomendasikan)
Model mengikuti skema secara longgar. Output mungkin tidak sesuai dengan skema dan mungkin gagal validasi.
max_tokensinteger (Opsional)
Jumlah maksimum token dalam output model. Generasi berhenti saat batas ini tercapai, dan bidang finish_reason dalam respons diatur ke length.
Nilai default dan maksimum sesuai dengan panjang output maksimum model. Untuk informasi lebih lanjut, lihat Generasi Teks - Qwen.
Anda dapat menggunakan parameter ini untuk mengontrol panjang output dalam skenario seperti menghasilkan ringkasan atau kata kunci, atau untuk mengurangi biaya dan memperpendek waktu respons.
Saat max_tokens dipicu, bidang finish_reason dalam respons diatur ke length.
max_tokens tidak membatasi panjang rantai-pikiran.
Parameter ini meningkatkan batas piksel maksimum untuk gambar input hingga nilai piksel yang sesuai dengan 16384 token. Untuk informasi lebih lanjut, lihat Memproses gambar resolusi tinggi.
vl_high_resolution_images: true: Menggunakan strategi resolusi tetap dan mengabaikan pengaturan max_pixels. Jika gambar melebihi resolusi ini, Anda dapat memperkecil jumlah total pikselnya agar sesuai dengan batas.
Klik untuk melihat batas piksel untuk setiap model
Saat vl_high_resolution_images adalah true, model yang berbeda memiliki batas piksel yang berbeda:
qwen3.5 series, Qwen3-VL series, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, qwen-vl-plus-0815, : 16777216 (setiap Token sesuai dengan 32 × 32 piksel, yaitu 16384 × 32 × 32)
QVQ series dan model seri Qwen2.5-VL lainnya: 12845056 (setiap Token sesuai dengan 28 × 28 piksel, yaitu 16384 × 28 × 28)
Jika vl_high_resolution_images adalah false, batas piksel aktual ditentukan oleh max_pixels. Jika gambar input melebihi max_pixels, gambar tersebut diperkecil agar sesuai dengan max_pixels. Batas piksel default untuk model sesuai dengan nilai default max_pixels.
Parameter ini bukan parameter OpenAI standar. Saat melakukan panggilan dengan SDK Python, sertakan parameter ini dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"vl_high_resolution_images":xxx}.
ninteger (Opsional. Default: 1)
Anda dapat menentukan jumlah respons yang dihasilkan sebagai bilangan bulat dari 1 hingga 4. Ini berguna untuk skenario yang memerlukan beberapa respons kandidat, seperti penulisan kreatif atau iklan.
Jika Anda meneruskan parameter tools, atur n ke 1.
Meningkatkan n meningkatkan konsumsi token output tetapi tidak memengaruhi konsumsi token input.
enable_thinkingboolean (Opsional)
Mengaktifkan mode berpikir untuk model berpikir hibrida. Mode ini tersedia untuk model Qwen3.5, Qwen3, Qwen3-Omni-Flash, dan Qwen3-VL. Untuk informasi lebih lanjut, lihat Deep thinking.
Nilai yang valid:
true: diaktifkan
Saat diaktifkan, konten berpikir dikembalikan dalam bidang reasoning_content.
false: dinonaktifkan
Nilai default untuk model yang berbeda. Untuk informasi lebih lanjut, lihat Model yang didukung.
Parameter ini bukan parameter OpenAI standar. Saat Anda melakukan panggilan menggunakan SDK Python, letakkan dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"enable_thinking": xxx}.
thinking_budgetinteger (Opsional)
Jumlah maksimum token untuk proses berpikir. Parameter ini berlaku untuk model Qwen3.5, Qwen3-VL, serta versi komersial dan open source model Qwen3. Untuk informasi lebih lanjut, lihat Batasi panjang proses berpikir.
Nilai default adalah panjang maksimum rantai-pikiran model. Untuk informasi lebih lanjut, lihat Daftar Model.
Parameter ini bukan parameter OpenAI standar. Saat Anda menggunakan SDK Python, sertakan dalam objek extra_body. Konfigurasikan parameter sebagai berikut: extra_body={"thinking_budget": xxx}.
Menentukan apakah akan mengaktifkan fitur penerjemah kode. Untuk informasi lebih lanjut, lihat Penerjemah kode.
Nilai yang valid:
true: Diaktifkan
false: Dinonaktifkan
Parameter ini bukan parameter OpenAI standar. Saat Anda melakukan panggilan menggunakan SDK Python, sertakan parameter ini dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"enable_code_interpreter": xxx}.
seedinteger (Opsional)
Bilangan acak seed. Parameter ini memastikan hasil yang dapat direproduksi. Jika Anda menggunakan nilai seed yang sama dalam panggilan dan menjaga semua parameter lainnya tetap, model akan mengembalikan hasil yang sama kapan pun memungkinkan.
Nilai yang valid: [0, 2<sup>31</sup> − 1].
logprobsboolean (Opsional) Default false
Menentukan apakah akan mengembalikan log probabilitas token output. Nilai yang valid:
true
Kembali
false
Tidak mengembalikan nilai.
Konten yang dihasilkan selama fase berpikir (reasoning_content) tidak termasuk log probabilitas.
Model yang didukung
Model snapshot seri Qwen-plus (tidak termasuk model stabil)
Model snapshot seri Qwen-turbo (tidak termasuk model stabil)
Model seri Qwen3-vl-plus (termasuk model stabil)
Model seri Qwen3-vl-flash (termasuk model stabil)
Model open source Qwen3
top_logprobsinteger (Opsional. Default 0)
Menentukan jumlah token kandidat paling mungkin yang dikembalikan pada setiap langkah generasi.
Nilai yang valid: 0 hingga 5
Parameter ini hanya berlaku jika logprobs diatur ke true.
stopstring atau array (Opsional)
Parameter ini menentukan kata berhenti. Jika string atau token_id, sebagaimana ditentukan dalam stop, muncul dalam teks yang dihasilkan model, model segera berhenti menghasilkan teks.
Teruskan kata sensitif untuk mengontrol output model.
Jika stop berupa array, jangan gunakan nilai token_id dan string sebagai elemen secara bersamaan. Misalnya, ["Hello",104307] bukan nilai yang valid.
toolsarray (Opsional)
Array satu atau beberapa objek alat yang dapat dipanggil model selama pemanggilan fungsi. Untuk informasi lebih lanjut, lihat Pemanggilan Fungsi.
Saat Anda mengatur tools, respons menyertakan informasi pemanggilan alat dalam bidang tool_calls jika model menentukan bahwa pemanggilan alat diperlukan.
Properti
typestring(Wajib)
Jenis alat. Saat ini, hanya function yang didukung.
functionobject(Wajib)
Properti
namestring(Wajib)
Nama alat. Gunakan hanya huruf, angka, garis bawah (_), dan tanda hubung (-). Nama bisa mencapai 64 karakter.
descriptionstring(Wajib)
Deskripsi alat. Ini membantu model menentukan kapan dan bagaimana memanggil alat.
parametersobject (Opsional. Default {}.)
Jelaskan parameter alat menggunakan JSON Schema yang valid. Untuk informasi lebih lanjut tentang JSON Schema, lihat tautan ini. Jika bidang parameters kosong, alat tidak memiliki parameter input, seperti alat kueri waktu.
Untuk meningkatkan akurasi pemanggilan alat, berikan parameters.
tool_choicestring atau object (Opsional. Default auto.)
Kebijakan pemilihan alat. Gunakan parameter ini untuk memaksa pemanggilan alat untuk jenis pertanyaan tertentu, seperti selalu menggunakan alat tertentu atau menonaktifkan semua alat.
Nilai yang valid:
auto
Model secara otomatis memilih alat.
none
Untuk menonaktifkan pemanggilan alat, atur parameter tool_choice ke none.
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 dalam mode berpikir tidak mendukung pemaksaan pemanggilan alat tertentu.
Jika pencarian web tidak dipicu setelah mengaktifkan parameter ini, optimalkan prompt atau atur parameter forced_search dalam search_options untuk mengaktifkan pencarian paksa.
false: Dinonaktifkan.
Mengaktifkan fitur pencarian web dapat meningkatkan konsumsi token.
Parameter ini bukan parameter OpenAI standar. Saat memanggil dengan SDK Python, sertakan dalam objek extra_body. Konfigurasikan sebagai berikut: extra_body={"enable_search": True}.
search_optionsobject (Opsional)
Untuk informasi lebih lanjut tentang strategi pencarian web, lihat Pencarian web.
Properti
forced_searchboolean (Opsional) Default: false
Memaksa pencarian web. Parameter ini hanya berlaku saat enable_search adalah true.
Nilai yang valid:
true: Memaksa mengaktifkan fitur.
false: Membiarkan model memutuskan apakah akan melakukan pencarian web.
search_strategystring (Opsional) Default: turbo
Strategi skala pencarian. Parameter ini hanya berlaku saat enable_search adalah true.
Nilai yang valid:
turbo (default): Menyeimbangkan kecepatan respons dan efektivitas pencarian. Cocok untuk sebagian besar skenario.
max: Menggunakan strategi pencarian yang lebih komprehensif dan memanggil beberapa mesin pencari untuk mengambil hasil yang lebih detail. Waktu respons mungkin lebih lama.
agent: Memanggil alat pencarian web dan Model Bahasa Besar (LLM) beberapa kali untuk mengambil dan mengintegrasikan informasi dalam beberapa putaran.
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, dan qwen3-max-2025-09-23.
Saat diaktifkan, strategi ini hanya mendukung kembalikan sumber pencarian (enable_source: true). Semua fitur pencarian web lainnya tidak tersedia.
agent_max: Mengaktifkan ekstraksi web untuk strategi agent. Untuk informasi lebih lanjut, lihat Ekstraktor web.
Hanya berlaku untuk qwen3.5-plus, qwen3.5-plus-2026-02-15, qwen3.5-flash, qwen3.5-flash-2026-02-23, dan mode berpikir qwen3-max dan qwen3-max-2026-01-23.
Saat diaktifkan, strategi ini hanya mendukung kembalikan sumber pencarian (enable_source: true). Semua fitur pencarian web lainnya tidak tersedia.
Mengaktifkan pencarian khusus domain. Parameter ini hanya berlaku saat enable_search adalah true.
Nilai yang valid:
true: Diaktifkan.
false: Fitur tidak diaktifkan.
Parameter ini bukan parameter OpenAI standar. Saat Anda memanggilnya menggunakan SDK Python, sertakan dalam objek extra_body. Konfigurasikan sebagai berikut: extra_body={"search_options": xxx}.
Objek respons Chat (keluaran non-streaming)
{
"choices": [
{
"message": {
"role": "assistant",
"content": "Saya adalah model bahasa skala besar yang dikembangkan oleh Alibaba Cloud. Nama saya 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"
}
idstring
Pengidentifikasi unik untuk panggilan ini.
choicesarray
Array konten yang dihasilkan oleh model.
Properti
finish_reasonstring
Alasan model berhenti menghasilkan output.
Skenario berikut berlaku:
Nilainya adalah stop saat parameter input stop dipicu atau saat output berhenti secara alami.
length: Generasi berhenti karena output mencapai panjang maksimum.
Model berhenti dengan tool_calls saat perlu memanggil alat.
indexinteger
Indeks objek ini dalam array choices.
logprobsobjek
Informasi probabilitas log untuk token output.
Properti
contentarray
Array yang berisi setiap token dan probabilitas log-nya.
Properti
tokenstring
Teks token saat ini.
bytesarray
Daftar byte UTF-8 mentah untuk token saat ini. Daftar ini digunakan untuk merekonstruksi konten output secara akurat, seperti emoji atau karakter Tiongkok.
logprobfloat
Probabilitas log token saat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.
top_logprobsarray
Token kandidat paling mungkin untuk posisi token saat ini. Jumlah kandidat sesuai dengan parameter permintaan top_logprobs. Setiap elemen berisi:
Properti
tokenstring
Teks token kandidat.
bytesarray
Daftar byte UTF-8 mentah untuk token saat ini. Daftar ini digunakan untuk merekonstruksi konten output secara akurat, seperti emoji atau karakter Tiongkok.
logprobfloat
Probabilitas log token kandidat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.
messageobjek
Pesan yang dihasilkan oleh model.
Properti
contentstring
Konten respons model.
reasoning_contentstring
Konten rantai-pikiran dari model.
refusalstring
Parameter ini selalu null.
rolestring
Peran pesan selalu assistant.
audioobjek
Parameter ini saat ini tetap null.
function_call (akan ditinggalkan) objek
Bidang ini selalu null. Untuk pemanggilan fungsi, gunakan parameter tool_calls sebagai gantinya.
tool_callsarray
Alat dan parameter input yang dihasilkan model setelah pemanggilan fungsi dimulai.
Properti
idstring
Pengidentifikasi unik untuk respons alat.
typestring
Jenis alat. Saat ini, hanya function yang didukung.
functionobjek
Informasi tentang alat.
Properti
namestring
Nama alat.
argumentsstring
Parameter input, diformat sebagai string JSON.
Karena respons Model Bahasa Besar (LLM) memiliki tingkat keacakan tertentu, parameter output mungkin tidak sesuai dengan tanda tangan fungsi. Validasi parameter sebelum memanggil fungsi.
indexinteger
Indeks alat saat ini dalam array tool_calls.
createdinteger
Stempel waktu UNIX dalam detik saat permintaan dibuat.
modelstring
Model yang digunakan untuk permintaan ini.
objectstring
Nilainya selalu chat.completion.
service_tierstring
Parameter ini saat ini tetap null.
system_fingerprintstring
Parameter ini saat ini tetap null.
usageobjek
Informasi tentang konsumsi token untuk panggilan ini.
Properti
completion_tokensinteger
Jumlah token dalam output model.
prompt_tokensinteger
Jumlah token dalam input.
total_tokensinteger
Jumlah total token yang dikonsumsi, sama dengan jumlah prompt_tokens dan completion_tokens.
completion_tokens_detailsobjek
Kategorisasi detail halus token output saat Anda menggunakan model Qwen-VL.
Jumlah token yang digunakan untuk membuat cache eksplisit.
cache_creation_input_tokensinteger
Jumlah token yang digunakan untuk membuat cache eksplisit.
cache_typestring
Saat Anda menggunakan cache eksplisit, 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":"Saya adalah ","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 skala besar ","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":"bahasa dari Alibaba Cloud. Nama saya ","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":"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}}}
idstring
Pengidentifikasi unik untuk panggilan ini. Semua objek chunk dalam respons memiliki ID yang sama.
choicesarray
Array objek konten yang dihasilkan model. Array ini berisi satu atau beberapa objek. Jika Anda mengatur parameter include_usage ke true, array choices kosong dalam chunk terakhir.
Properti
deltaobjek
Objek konten inkremental untuk permintaan.
Properti
contentstring
Konten pesan inkremental.
reasoning_contentstring
Konten rantai-pikiran inkremental.
function_callobjek
Nilai ini default ke null. Untuk informasi lebih lanjut, lihat parameter tool_calls.
Data audio yang dikodekan Base64 secara inkremental.
expires_atinteger
Stempel waktu UNIX saat permintaan dibuat.
refusalobjek
Parameter ini saat ini tetap null.
rolestring
Peran objek pesan inkremental. Properti ini hanya muncul di chunk pertama.
tool_callsarray
Informasi tentang alat dan parameter input yang dihasilkan model setelah pemanggilan fungsi dimulai.
Properti
indexinteger
Indeks alat saat ini dalam array tool_calls.
idstring
Pengidentifikasi unik untuk respons alat ini.
functionobjek
Informasi tentang alat yang dipanggil.
Properti
argumentsstring
Informasi inkremental tentang parameter input. Gabungkan arguments dari semua chunk untuk mendapatkan parameter input lengkap.
Karena respons Model Bahasa Besar (LLM) memiliki tingkat keacakan tertentu, informasi parameter output mungkin tidak sesuai dengan tanda tangan fungsi. Validasi parameter sebelum memanggil fungsi.
namestring
Nama alat. Properti ini hanya muncul di chunk pertama.
typestring
Jenis alat. Saat ini, hanya function yang didukung.
finish_reasonstring
Alasan model berhenti menghasilkan. Ini bisa berupa salah satu nilai berikut:
Nilainya adalah stop saat parameter input stop dipicu atau output berhenti secara alami.
Sebelum generasi selesai, nilainya adalah null.
Alasan berhenti karena mencapai panjang output maksimum adalah length.
Model berhenti untuk memanggil alat dan mengembalikan tool_calls.
indexinteger
Indeks respons saat ini dalam array choices. Saat parameter input n lebih besar dari 1, gunakan parameter ini untuk merekonstruksi konten lengkap untuk setiap respons.
logprobsobjek
Informasi probabilitas untuk objek saat ini.
Properti
contentarray
Array token dengan informasi probabilitas log.
Properti
tokenstring
Token saat ini.
bytesarray
Daftar byte UTF-8 mentah token saat ini. Ini digunakan untuk memulihkan konten output secara akurat dan membantu saat menangani emoji dan karakter Tiongkok.
logprobfloat
Probabilitas log token saat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.
top_logprobsarray
Token paling mungkin pada posisi token saat ini dan probabilitas log-nya. Jumlah elemen sesuai dengan parameter input top_logprobs.
Properti
tokenstring
Token saat ini.
bytesarray
Daftar byte UTF-8 mentah token saat ini. Ini digunakan untuk memulihkan konten output secara akurat dan membantu saat menangani emoji dan karakter Tiongkok.
logprobfloat
Probabilitas log token saat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.
createdinteger
Stempel waktu UNIX saat permintaan ini dibuat. Semua chunk dalam respons memiliki stempel waktu yang sama.
modelstring
Model yang digunakan untuk permintaan ini.
objectstring
Nilainya selalu chat.completion.chunk.
service_tierstring
Parameter ini saat ini tetap null.
system_fingerprintstring
Parameter ini saat ini tetap null.
usageobjek
Token yang dikonsumsi oleh permintaan ini. Ini hanya muncul di chunk terakhir saat include_usage adalah true.
Properti
completion_tokensinteger
Jumlah token dalam output model.
prompt_tokensinteger
Jumlah token input.
total_tokensinteger
Jumlah total token. Ini adalah jumlah prompt_tokens dan completion_tokens.