Alibaba Cloud Model Studio:Referensi API Chat OpenAI
Last Updated:Mar 31, 2026
Topik ini menjelaskan cara memanggil model Qwen menggunakan API Chat yang kompatibel dengan OpenAI. Dokumen ini mencakup deskripsi parameter permintaan dan respons serta contoh kode.
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 SDK: https://dashscope.aliyuncs.com/compatible-mode/v1
Titik akhir HTTP: POST https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Tiongkok (Hong Kong)
base_url untuk SDK: https://cn-hongkong.dashscope.aliyuncs.com/compatible-mode/v1
Titik akhir HTTP: POST https://cn-hongkong.dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Jerman (Frankfurt)
base_url untuk SDK: <u>https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1</u>
Titik akhir permintaan: POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
Ganti WorkspaceId dengan ID Workspace Anda yang sebenarnya.
import os
from openai import OpenAI
client = OpenAI(
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: api_key="sk-xxx"
# Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
api_key=os.getenv("DASHSCOPE_API_KEY"),
# Berikut ini adalah base_url untuk wilayah Singapura.
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
model="qwen-plus",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"},
],
# extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())
Java
// Kode ini menggunakan SDK OpenAI 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 berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Berikut ini 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("Error occurred: " + e.getMessage());
e.printStackTrace();
}
}
}
Node.js
import OpenAI from "openai";
const openai = new OpenAI(
{
// Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: apiKey: "sk-xxx",
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
apiKey: process.env.DASHSCOPE_API_KEY,
// Berikut ini 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", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Who are you?" }
],
});
console.log(JSON.stringify(completion))
}
main();
Go
package main
import (
"context"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY")
// Berikut ini 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 variabel lingkungan tidak diatur, ganti baris berikut dengan: string? apiKey = "sk-xxx";
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("API Key is not set. Make sure the 'DASHSCOPE_API_KEY' environment variable is set.");
return;
}
// Set the request URL and content
// Berikut ini adalah base_url untuk wilayah Singapura.
string url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions";
// Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
string jsonContent = @"{
""model"": ""qwen-plus"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a helpful assistant.""
},
{
""role"": ""user"",
""content"": ""Who are you?""
}
]
}";
// Send the request and get the response
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
// Output the result
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"))
{
// Set the request headers
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Send the request and get the response
HttpResponseMessage response = await httpClient.PostAsync(url, content);
// Process the response
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"Request failed: {response.StatusCode}";
}
}
}
}
PHP (HTTP)
<?php
// Set the request URL
// Berikut ini adalah base_url untuk wilayah Singapura.
$url = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions';
// Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: $apiKey = "sk-xxx";
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
$apiKey = getenv('DASHSCOPE_API_KEY');
// Set the request headers
$headers = [
'Authorization: Bearer '.$apiKey,
'Content-Type: application/json'
];
// Set the request body
$data = [
// Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
"model" => "qwen-plus",
"messages" => [
[
"role" => "system",
"content" => "You are a helpful assistant."
],
[
"role" => "user",
"content" => "Who are you?"
]
]
];
// Initialize cURL session
$ch = curl_init();
// Set cURL options
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);
// Execute cURL session
$response = curl_exec($ch);
// Check for errors
if (curl_errno($ch)) {
echo 'Curl error: ' . curl_error($ch);
}
// Close cURL resources
curl_close($ch);
// Output the response
echo $response;
?>
curl
Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Jika Anda menggunakan model di wilayah Tiongkok (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 variabel lingkungan tidak diatur, ganti baris berikut dengan: api_key="sk-xxx"
# Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
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", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages=[{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"}],
stream=True,
stream_options={"include_usage": True}
)
for chunk in completion:
print(chunk.model_dump_json())
Node.js
import OpenAI from "openai";
const openai = new OpenAI(
{
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
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", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages: [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"}
],
stream: true,
});
for await (const chunk of completion) {
console.log(JSON.stringify(chunk));
}
}
main();
curl
Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya.
Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Untuk informasi selengkapnya tentang analisis gambar oleh model bahasa besar, lihat Pemahaman gambar dan video.
Python
import os
from openai import OpenAI
client = OpenAI(
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: api_key="sk-xxx"
# Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
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", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/models
messages=[{"role": "user","content": [
{"type": "image_url",
"image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
{"type": "text", "text": "What is this?"},
]}]
)
print(completion.model_dump_json())
Node.js
import OpenAI from "openai";
const openai = new OpenAI(
{
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
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", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/models
messages: [{role: "user",content: [
{ type: "image_url",image_url: {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
{ type: "text", text: "What is this?" },
]}]
});
console.log(JSON.stringify(response));
}
main();
curl
Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya.
Jika Anda menggunakan model di wilayah Tiongkok (Beijing), ganti URL dengan: https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions
Contoh berikut menunjukkan cara meneruskan daftar gambar. Untuk contoh penggunaan lainnya, seperti meneruskan file video, lihat pemahaman visual.
Python
import os
from openai import OpenAI
client = OpenAI(
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: api_key="sk-xxx"
# Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# Daftar model: https://www.alibabacloud.com/help/zh/model-studio/models
model="qwen-vl-max",
messages=[{
"role": "user",
"content": [
{
"type": "video",
"video": [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"]
},
{
"type": "text",
"text": "Describe the process in this video."
}]}]
)
print(completion.model_dump_json())
Node.js
// Pastikan Anda telah menentukan "type": "module" di package.json.
import OpenAI from "openai";
const openai = new OpenAI({
// Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: apiKey: "sk-xxx",
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
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({
// Daftar model: https://www.alibabacloud.com/help/zh/model-studio/models
model: "qwen-vl-max",
messages: [{
role: "user",
content: [
{
type: "video",
video: [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
]
},
{
type: "text",
text: "Describe the process in this video."
}
]}]
});
console.log(JSON.stringify(response));
}
main();
curl
Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Dapatkan Kunci API. Berikut ini adalah base_url untuk wilayah Singapura.
Untuk kode lengkap alur kerja Pemanggilan fungsi, lihat Pemanggilan fungsi.
Python
import os
from openai import OpenAI
client = OpenAI(
# Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: api_key="sk-xxx"
# Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
tools = [
// Alat 1: Dapatkan waktu saat ini (tidak perlu parameter)
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful when you want to know the current time.",
"parameters": {} // Karena tidak diperlukan parameter masukan untuk mendapatkan waktu saat ini, parameters adalah kamus kosong.
}
},
// Alat 2: Dapatkan cuaca (memerlukan parameter lokasi)
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful when you want to check the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
// Untuk menanyakan cuaca, Anda perlu memberikan lokasi. Oleh karena itu, atur parameternya menjadi location.
"location": {
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
}
},
"required": ["location"]
}
}
}
]
messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}]
completion = client.chat.completions.create(
model="qwen-plus", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages=messages,
tools=tools
)
print(completion.model_dump_json())
Node.js
import OpenAI from "openai";
const openai = new OpenAI(
{
// Jika variabel lingkungan tidak diatur, ganti baris berikut dengan: apiKey: "sk-xxx",
// Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Lihat Dapatkan kunci API untuk detailnya. Dalam contoh kode, ganti DASHSCOPE_API_KEY dengan kunci Anda yang sebenarnya jika tidak menggunakan variabel lingkungan.
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
);
const messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}];
const tools = [
// Alat 1: Dapatkan waktu saat ini (tidak perlu parameter)
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful when you want to know the current time.",
// Karena tidak diperlukan parameter masukan untuk mendapatkan waktu saat ini, parameters kosong.
"parameters": {}
}
},
// Alat 2: Dapatkan cuaca (memerlukan parameter lokasi)
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful when you want to check the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
// Untuk menanyakan cuaca, Anda perlu memberikan lokasi. Oleh karena itu, atur parameternya menjadi 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", // Daftar model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
messages: messages,
tools: tools,
});
console.log(JSON.stringify(response));
}
main();
curl
Kunci API berbeda berdasarkan wilayah (Beijing vs Singapura/Virginia). Dapatkan Kunci API. Berikut ini adalah base_url untuk 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": "What is the weather like in Hangzhou?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful when you want to know the current time.",
"parameters": {}
}
},
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful when you want to check the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
"location":{
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
}
},
"required": ["location"]
}
}
}
]
}'
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 Model Studio Anda: api_key="sk-xxx"
# Jika Anda menggunakan model di wilayah China (Beijing), Anda harus menggunakan kunci API untuk wilayah China (Beijing). Untuk mendapatkannya, kunjungi: 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": "Siapa Anda?"}],
model="qwen-plus", # Di sini, qwen-plus digunakan sebagai contoh. Ganti dengan nama model yang diperlukan. Daftar Model: https://www.alibabacloud.com/help/zh/model-studio/getting-started/models
)
print(response.model_dump_json())
if platform.system() == "Windows":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
modelstring(Wajib)
Nama model yang akan digunakan.
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, yang disusun secara kronologis.
Jenis pesan
Pesan Sistem object(Opsional)
Pesan sistem yang menentukan peran, nada, tujuan tugas, atau batasan untuk model bahasa besar. Tempatkan 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 sebagai system.
Pesan Pengguna object(Wajib)
Pesan pengguna yang meneruskan pertanyaan, instruksi, atau konteks ke model.
Properti
contentstring atau array(Wajib)
Isi pesan. Ini adalah string untuk masukan teks saja. Ini adalah array untuk masukan multi-modal, seperti gambar, atau jika caching eksplisit diaktifkan.
Properti untuk model multi-modal atau ketika caching eksplisit diaktifkan
typestring(Wajib)
Nilai yang valid:
text
Atur ke text untuk masukan teks.
image_url
Atur ke image_url untuk masukan gambar.
input_audio
Atur ke input_audio untuk masukan audio.
video
Atur ke video untuk masukan video sebagai daftar gambar.
video_url
Atur ke video_url untuk masukan file video.
Hanya beberapa model Qwen-VL yang menerima file video sebagai masukan. Untuk informasi selengkapnya, lihat Pemahaman video (Qwen-VL). Model QVQ dan Qwen-Omni mendukung masukan file video langsung.
textstring
Teks masukan. Parameter ini wajib ketika type adalah text.
image_urlobject
Informasi gambar masukan. Parameter ini wajib ketika type adalah image_url.
Ini memberi tahu model tentang interval waktu antara frame yang berdekatan. Hal ini membantu model memahami dinamika temporal video dengan lebih baik. Fungsi ini berlaku untuk masukan file video maupun daftar gambar. Cocok untuk skenario seperti pelokalisasi waktu kejadian atau ringkasan konten segmen.
Mendukung model 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 konten dengan adegan statis.
Nilai contoh
Untuk masukan daftar gambar: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
Untuk masukan file video: {"video": "https://xx1.mp4","fps":2}
min_pixelsinteger(Opsional)
Menetapkan ambang batas piksel minimum untuk gambar atau frame video masukan. Jika gambar atau frame video masukan memiliki jumlah piksel kurang dari min_pixels, gambar tersebut diperbesar hingga jumlah piksel total melebihi min_pixels. Berlaku untuk model Qwen-VL dan QVQ.
Rentang nilai
Untuk masukan gambar:
Qwen3.5-Omni, Qwen3.5, 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 masukan file video atau daftar gambar:
Qwen3.5-Omni, 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 masukan gambar: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536}
Untuk masukan file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536}
Untuk masukan daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}
max_pixelsinteger(Opsional)
Menetapkan ambang batas piksel maksimum untuk gambar atau frame video masukan. Jika gambar atau video masukan memiliki jumlah piksel dalam rentang [min_pixels, max_pixels], model memproses gambar aslinya. Jika jumlah piksel melebihi max_pixels, gambar diperkecil hingga jumlah piksel totalnya kurang dari max_pixels. Berlaku untuk model Qwen-VL dan QVQ.
Qwen3.5-Omni, Qwen3.5, 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.
Ketika vl_high_resolution_images adalah True:
Qwen3.5-Omni, 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 masukan 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 masukan ditetapkan pada 12845056.
Untuk masukan file video atau daftar gambar:
Qwen3.5-Omni, Qwen3.5 series, Qwen3-VL closed-source series, qwen3-vl-235b-a22b-thinking, 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 masukan gambar: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608}
Untuk masukan file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360}
Untuk masukan 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 piksel total video melebihi batas ini, sistem memperkecil frame video. Namun, sistem memastikan bahwa jumlah piksel frame tunggal 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
Qwen3.5-Omni, Qwen3.5 series, Qwen3-VL closed-source series, qwen3-vl-235b-a22b-thinking, 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 masukan file video: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728}
Untuk masukan daftar gambar: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}
Informasi alat dan parameter masukan 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 masukan.
Properti
namestring(Wajib)
Nama alat.
argumentsstring(Wajib)
Informasi parameter masukan, 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 sebagai 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. Nilai default adalah false.)
false: Model mengembalikan konten lengkap sekaligus setelah generasi selesai.
true: Model menghasilkan dan mengirim keluaran secara bertahap. Blok data (chunk) dikembalikan segera setelah bagian konten dihasilkan. Anda harus membaca chunk ini secara real-time untuk merakit balasan lengkap.
Kami menyarankan mengatur parameter ini ke true untuk meningkatkan pengalaman membaca dan mengurangi risiko timeout.
stream_optionsobject(Opsional)
Opsi konfigurasi untuk keluaran streaming. Parameter ini hanya berlaku ketika stream diatur ke true.
Properti
include_usageboolean(Opsional. Nilai default adalah false.)
Menentukan apakah akan menyertakan informasi konsumsi token dalam blok data terakhir respons.
Nilai yang valid:
true: Disertakan.
false: Tidak menyertakan item tersebut.
Untuk keluaran streaming, informasi konsumsi token hanya muncul di blok data terakhir respons.
modalitiesarray(Opsional. Nilai default adalah ["text"].)
Modalitas data keluaran. Parameter ini hanya berlaku untuk model Qwen-Omni. Lihat Non-real-time (Qwen-Omni).
Nilai yang valid:
["text","audio"]: Keluaran teks dan audio.
["text"]: Keluaran teks saja.
audioobject(Opsional)
Suara dan format audio keluaran. Parameter ini hanya berlaku untuk model Qwen-Omni, dan Anda harus mengatur parameter modalities ke ["text","audio"]. Lihat Non-real-time (Qwen-Omni).
Suhu pengambilan sampel mengontrol keragaman teks yang dihasilkan.
Suhu yang lebih tinggi menghasilkan teks yang lebih beragam. Suhu yang lebih rendah menghasilkan teks yang lebih deterministik.
Rentang nilai: [0, 2)
Baik temperature maupun top_p mengontrol keragaman teks yang dihasilkan. Atur hanya salah satunya. Untuk informasi selengkapnya, lihat Ikhtisar model generasi teks.
Jangan ubah nilai temperature default untuk model QVQ.
top_pfloat(Opsional)
Ambang batas probabilitas untuk pengambilan sampel inti. Parameter ini mengontrol keragaman teks yang dihasilkan model.
Nilai top_p yang lebih tinggi menghasilkan teks yang lebih beragam. Nilai top_p yang lebih rendah menghasilkan teks yang lebih deterministik.
Rentang nilai: (0,1.0]
Baik temperature maupun top_p mengontrol keragaman teks yang dihasilkan. Atur hanya salah satu dari parameter ini. Untuk informasi selengkapnya, lihat Ikhtisar model 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, strategi top_k dinonaktifkan dan hanya strategi top_p yang berlaku. Nilainya harus integer yang lebih besar atau sama dengan 0.
Nilai top_k default
Seri QVQ, qwen-vl-plus-2025-07-10, qwen-vl-plus-2025-08-15: 10.
Seri QwQ: 40.
seri qwen-vl-plus lainnya, model sebelum qwen-vl-max-2025-08-13, qwen2.5-omni-7b: 1.
Seri Qwen3-Omni-Flash: 50.
Semua model lainnya: 20.
Parameter ini bukan parameter OpenAI standar. Saat menggunakan SDK Python, sertakan dalam objek extra_body. Konfigurasikan sebagai berikut: extra_body={"top_k":xxx}.
Anda tidak boleh mengubah nilai top_k default untuk model QVQ.
repetition_penaltyfloat(Opsional)
Hukuman pengulangan untuk urutan berurutan dalam generasi model. Meningkatkan repetition_penalty mengurangi pengulangan dalam keluaran model. Nilai 1,0 berarti tidak ada hukuman. Tidak ada rentang nilai ketat, tetapi nilainya harus lebih besar dari 0.
Parameter ini bukan parameter OpenAI standar. Saat menggunakan SDK Python, sertakan dalam objek extra_body. Konfigurasikan sebagai berikut: extra_body={"repetition_penalty":xxx}.
Saat menggunakan model qwen-vl-plus-2025-01-25 untuk ekstraksi teks, atur repetition_penalty ke 1.0.
Anda tidak boleh mengubah nilai repetition_penalty default untuk model QVQ.
presence_penaltyfloat(Opsional)
Mengontrol seberapa kuat model menghindari pengulangan konten.
Nilai yang valid: [-2.0, 2.0]. Nilai positif mengurangi pengulangan. Nilai negatif meningkatkannya.
Dalam skenario penulisan kreatif atau brainstorming yang membutuhkan keragaman, kesenangan, atau kreativitas, tingkatkan nilai ini. Dalam dokumen teknis atau teks formal yang menekankan konsistensi dan akurasi terminologi, turunkan nilai ini.
Nilai presence_penalty default
Qwen3.5-Omni, 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
Jika nilai parameter positif, model memberikan hukuman pada token yang sudah muncul dalam teks yang dihasilkan. Hukuman tidak bergantung pada berapa kali token muncul. Hal ini mengurangi kemungkinan token tersebut muncul kembali, yang mengurangi pengulangan dan meningkatkan keragaman leksikal.
Contoh
Petunjuk: Terjemahkan kalimat berikut ke dalam bahasa Tionghoa: “Film ini bagus. Alur ceritanya bagus, aktingnya bagus, musiknya bagus, dan secara keseluruhan, seluruh film ini memang bagus. Bahkan, film ini sangat bagus. Alur ceritanya sangat bagus, aktingnya sangat bagus, dan musiknya juga sangat bagus.”
Nilai parameter 2.0: Film ini sangat bagus. Alurnya hebat, aktingnya hebat, musiknya juga sangat bagus, dan secara keseluruhan, seluruh film ini luar biasa bagus. Bahkan, film ini benar-benar luar biasa. Alurnya sangat menarik, aktingnya luar biasa, dan musiknya begitu indah.
Nilai parameter 0.0: Film ini bagus. Alurnya bagus, aktingnya bagus, musiknya juga bagus, dan secara keseluruhan, seluruh film ini sangat bagus. Bahkan, film ini benar-benar hebat. Alurnya sangat bagus, aktingnya juga sangat luar biasa, dan musiknya juga luar biasa.
Nilai parameter -2.0: Film ini sangat bagus. Alurnya sangat bagus, aktingnya sangat bagus, musiknya juga sangat bagus, dan secara keseluruhan, seluruh film ini sangat bagus. Bahkan, film ini benar-benar hebat. Alurnya 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.
Anda tidak boleh mengubah nilai presence_penalty default untuk model QVQ.
response_formatobject (Opsional. Nilai default adalah {"type": "text"}.)
Jika Anda menentukan {"type": "json_object"}, instruksikan model secara eksplisit untuk mengeluarkan JSON dalam prompt, misalnya dengan menambahkan “Silakan keluarkan dalam format JSON.” Jika tidak, akan terjadi error.
json_object: Mengembalikan string JSON yang sesuai dengan sintaks JSON standar.
json_schema: Mengembalikan string JSON yang sesuai dengan skema kustom.
json_schemaobject
Ketika type adalah json_schema, bidang ini wajib dan menentukan konfigurasi untuk output terstruktur.
Properti
namestring(Wajib)
Nama unik untuk skema. Nama hanya boleh berisi huruf (tidak peka huruf besar/kecil), angka, garis bawah (_), dan tanda hubung (-). Panjang maksimum adalah 64 karakter.
descriptionstring(Opsional)
Deskripsi tujuan skema. Ini membantu model memahami konteks semantik keluaran.
schemaobject(Opsional)
Objek yang sesuai dengan standar JSON Schema. Ini menentukan struktur data untuk keluaran model.
Untuk mempelajari cara membuat JSON Schema, lihat JSON Schema
strictboolean(Opsional. Nilai default adalah false.)
Menentukan apakah akan memaksa model untuk secara ketat mengikuti semua batasan dalam skema.
true (direkomendasikan)
Model secara ketat mengikuti semua batasan, seperti jenis bidang, item yang wajib, dan format. Ini memastikan kepatuhan penuh keluaran.
false (tidak direkomendasikan)
Model secara longgar mengikuti skema. Keluaran mungkin tidak sesuai dengan spesifikasi dan dapat menyebabkan kegagalan validasi.
max_tokensinteger (Opsional)
Membatasi jumlah maksimum token dalam keluaran model. Jika konten yang dihasilkan melebihi nilai ini, generasi dihentikan lebih awal, dan bidang finish_reason dalam respons diatur ke length.
Nilai default dan maksimum sesuai dengan panjang keluaran maksimum model. Untuk informasi selengkapnya, lihat Generasi Teks - Qwen.
Parameter ini berguna untuk mengontrol panjang keluaran dalam skenario seperti menghasilkan ringkasan atau kata kunci, atau untuk mengurangi biaya dan mempersingkat waktu respons.
Ketika max_tokens dipicu, bidang finish_reason dalam respons diatur ke length.
max_tokens tidak membatasi panjang rantai-pikiran.
vl_high_resolution_imagesboolean(Opsional. Nilai default adalah false.)
Meningkatkan batas piksel maksimum untuk gambar masukan ke nilai piksel yang sesuai dengan 16384 token. Lihat Memproses gambar resolusi tinggi.
vl_high_resolution_images: true: Menggunakan strategi resolusi tetap dan mengabaikan pengaturan max_pixels. Jika gambar melebihi resolusi ini, jumlah piksel totalnya diperkecil agar sesuai dengan batas.
Klik untuk melihat batas piksel untuk setiap model
vl_high_resolution_images adalah true, model yang berbeda memiliki batas piksel yang berbeda:
model 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, : 16,777,216 (setiap Token sesuai dengan 32*32 piksel, yaitu 16384*32*32)
model QVQ series, model Qwen2.5-VL series lainnya: 12,845,056 (setiap token sesuai dengan 28×28 piksel, yaitu 16,384×28×28)
Jika vl_high_resolution_images adalah false, batas piksel ditentukan oleh max_pixels. Jika gambar masukan melebihi max_pixels, gambar diperkecil agar sesuai dengan max_pixels. Batas piksel default untuk setiap 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. Defaultnya 1)
Jumlah respons yang dihasilkan. Harus berupa bilangan bulat dari 1-4. Gunakan ini 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 keluaran tetapi tidak memengaruhi konsumsi token masukan.
enable_thinkingboolean (Opsional)
Mengaktifkan mode berpikir untuk model berpikir hibrida. Mode ini tersedia untuk model Qwen3.5, Qwen3, Qwen3-Omni-Flash, dan Qwen3-VL. Lihat Deep thinking.
Nilai yang valid:
true: Mengaktifkan fitur.
Saat diaktifkan, konten berpikir dikembalikan dalam bidang reasoning_content.
Parameter ini bukan parameter OpenAI standar. Saat Anda melakukan panggilan menggunakan SDK Python, letakkan di objek extra_body. Konfigurasinya sebagai berikut: extra_body={"enable_thinking": xxx}.
thinking_budgetinteger (Opsional)
Jumlah maksimum token untuk proses berpikir. Ini berlaku untuk model Qwen3.5, Qwen3-VL, dan versi komersial serta open source model Qwen3. Lihat Batasi panjang berpikir.
Nilai default adalah panjang rantai-pikiran maksimum model. Lihat Daftar Model.
Parameter ini bukan parameter OpenAI standar. Saat Anda menggunakan SDK Python, letakkan parameter ini di objek extra_body. Konfigurasi parameternya sebagai berikut: extra_body={"thinking_budget": xxx}.
Tentukan apakah akan mengaktifkan fitur Penafsir Kode. Lihat Penafsir kode.
Nilai yang valid:
true: Diaktifkan
false: Tidak diaktifkan
Parameter ini bukan parameter OpenAI standar. Saat 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 untuk masukan dan parameter yang sama. Jika Anda menggunakan nilai seed yang sama dalam panggilan dan semua parameter lainnya tetap tidak berubah, model mengembalikan hasil yang sama kapan pun memungkinkan.
Nilai yang valid: [0,2<sup>31</sup>-1].
logprobsboolean (Opsional) Defaultnya false
Menentukan apakah akan mengembalikan log probabilitas token keluaran. Nilai yang valid:
true
Kembalikan
false
Tidak mengembalikan
Konten yang dihasilkan selama fase berpikir (reasoning_content) tidak termasuk log probabilitas.
Model yang didukung
Cuplikan seri Qwen-plus (tidak termasuk model stabil)
Cuplikan seri Qwen-turbo (tidak termasuk model stabil)
Model Qwen3-vl-plus (termasuk model stabil)
Model Qwen3-vl-flash (termasuk model stabil)
Model open source Qwen3
top_logprobsinteger (Opsional. Defaultnya 0)
Menentukan jumlah token kandidat paling mungkin yang dikembalikan pada setiap langkah generasi.
Nilai yang valid: 0 hingga 5
Parameter ini hanya berlaku ketika logprobs adalah true.
stopstring atau array (Opsional)
Parameter ini menentukan kata berhenti. Jika string atau token_id yang ditentukan dalam stop muncul dalam teks yang dihasilkan model, generasi segera dihentikan.
Teruskan kata sensitif untuk mengontrol keluaran model.
Jika stop adalah array, jangan gunakan token_id atau string sebagai elemen secara bersamaan. Misalnya, ["Hello",104307] bukan nilai yang valid.
toolsarray(Opsional)
Array satu atau beberapa objek alat yang dapat dipanggil model dalam pemanggilan fungsi. Lihat Pemanggilan fungsi.
Ketika tools diatur dan model menentukan bahwa alat perlu dipanggil, respons mengembalikan informasi alat dalam bidang tool_calls.
Properti
typestring(Wajib)
Jenis alat. Saat ini hanya mendukung function.
functionobject(Wajib)
Properti
namestring(Wajib)
Nama alat. Hanya boleh berisi huruf, angka, garis bawah (_), dan tanda hubung (-). Nama bisa sepanjang maksimal 64 token.
descriptionstring(Wajib)
Deskripsi alat. Ini membantu model menentukan kapan dan bagaimana memanggil alat.
parametersobject(Opsional. Nilai default adalah {}.)
Parameter alat harus dijelaskan menggunakan JSON Schema yang valid. Untuk informasi selengkapnya tentang JSON Schema, lihat tautan ini. Jika parameter parameters kosong, ini menunjukkan bahwa alat tidak memiliki parameter masukan, seperti alat kueri waktu.
Untuk meningkatkan akurasi pemanggilan alat, kami merekomendasikan meneruskan parameters.
tool_choicestring atau object(Opsional. Nilai default adalah 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.
parallel_tool_callsboolean (Opsional. Nilai default adalah false.)
Jika pencarian web tidak dipicu setelah mengaktifkan parameter ini, optimalkan prompt atau atur parameter search_options dengan forced_search untuk mengaktifkan pencarian paksa.
false — Nonaktifkan opsi ini.
Mengaktifkan fitur pencarian web dapat meningkatkan konsumsi token.
Parameter ini bukan parameter OpenAI standar. Saat memanggil dengan SDK Python, sertakan dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"enable_search": True}.
forced_searchboolean (Opsional. Nilai default adalah false.)
Memaksa pencarian web. Parameter ini hanya berlaku ketika enable_search adalah true.
Nilai yang valid:
true: Paksa aktifkan.
false: Biarkan model memutuskan apakah akan melakukan pencarian web.
search_strategystring (Opsional) Default: turbo
Strategi skala pencarian. Parameter ini hanya berlaku ketika 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.
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, 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: Menambahkan dukungan scraping web ke kebijakan agent. Lihat Scraping web.
Strategi ini 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 ketika enable_search adalah true.
Nilai yang valid:
true: Diaktifkan.
false: Menonaktifkan fitur.
Parameter ini bukan parameter OpenAI standar. Saat Anda memanggilnya menggunakan SDK Python, sertakan dalam objek extra_body. Konfigurasinya sebagai berikut: extra_body={"search_options": xxx}.
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"
}
idstring
Pengidentifikasi unik untuk permintaan ini.
choicesarray
Array konten yang dihasilkan dari model.
Properti
finish_reasonstring
Alasan model berhenti menghasilkan keluaran.
Ada tiga kasus:
Dipicu oleh parameter stop dalam masukan atau terminasi keluaran alami: stop.
Generasi berakhir karena panjang berlebihan: length.
Anda dapat memanggil alat, dan operasi berakhir dengan tool_calls.
indexinteger
Indeks objek saat ini dalam array choices.
logprobsobject
Informasi probabilitas log untuk token dalam keluaran model.
Properti
contentarray
Array token dan probabilitas log yang sesuai.
Properti
tokenstring
Teks token saat ini.
bytesarray
Daftar byte UTF-8 mentah untuk token saat ini. Daftar ini memungkinkan rekonstruksi akurat konten keluaran, 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 memungkinkan rekonstruksi akurat konten keluaran, seperti emoji atau karakter Tiongkok.
logprobfloat
Probabilitas log token saat ini. Nilai kembalian null menunjukkan probabilitas yang sangat rendah.
messageobject
Pesan yang dihasilkan oleh model.
Properti
contentstring
Konten respons model.
reasoning_contentstring
Konten rantai-pikiran model.
refusalstring
Parameter ini saat ini tetap null.
rolestring
Peran pesan. Nilainya tetap sebagai assistant.
audioobject
Parameter ini saat ini diatur ke null.
function_call (akan ditinggalkan) object
Bidang ini tetap null. Untuk pemanggilan fungsi, gunakan parameter tool_calls sebagai gantinya.
tool_callsarray
Informasi alat dan parameter masukan yang dihasilkan model setelah memulai pemanggilan fungsi.
Properti
idstring
Pengidentifikasi unik untuk respons alat ini.
typestring
Jenis alat. Saat ini, hanya function yang didukung.
functionobject
Informasi alat.
Properti
namestring
Nama alat.
argumentsstring
Informasi parameter masukan, diformat sebagai string JSON.
Karena respons model bahasa besar memiliki tingkat keacakan tertentu, informasi parameter keluaran mungkin tidak sesuai dengan signature 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
Bidang ini saat ini tetap null.
system_fingerprintstring
Bidang ini saat ini tetap null.
usageobject
Rincian konsumsi token untuk permintaan ini.
Properti
completion_tokensinteger
Jumlah token dalam keluaran model.
prompt_tokensinteger
Jumlah token dalam masukan.
total_tokensinteger
Jumlah total token yang dikonsumsi, yaitu jumlah dari prompt_tokens dan completion_tokens.
completion_tokens_detailsobject
Rincian rinci token keluaran saat 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 cache eksplisit digunakan, nilai parameter adalah ephemeral. Jika tidak, parameter ini tidak ada.
Objek chunk respons Chat (keluaran streaming)
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"I am a ","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":"large-scale ","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"language model ","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen-plus","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null}
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"from Alibaba 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":"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 permintaan ini. Semua chunk dalam respons yang sama memiliki id yang sama.
choices array
Array satu atau beberapa objek konten yang dihasilkan. Jika Anda mengatur parameter include_usage ke true, array choices kosong di chunk terakhir.
Properti
deltaobject
Objek konten inkremental untuk chunk ini.
Properti
contentstring
Konten pesan inkremental.
reasoning_contentstring
Konten rantai-pikiran inkremental.
function_callobject
Nilai ini default ke null. Untuk informasi selengkapnya, lihat parameter tool_calls.
Data pengkodean audio inkremental yang dikodekan Base64.
expires_atinteger
Stempel waktu UNIX saat permintaan dibuat.
refusalobject
Parameter ini selalu null.
rolestring
Peran objek pesan inkremental. Properti ini hanya muncul di chunk pertama.
tool_callsarray
Informasi tentang alat dan parameter masukan yang dihasilkan model setelah pemanggilan fungsi.
Properti
indexinteger
Indeks alat saat ini dalam array tool_calls.
idstring
ID unik untuk respons alat ini.
functionobject
Informasi tentang alat yang dipanggil.
Properti
argumentsstring
Informasi inkremental tentang parameter masukan. Gabungkan arguments dari semua chunk untuk mendapatkan parameter masukan lengkap.
Karena respons Model Bahasa Besar (LLM) memiliki tingkat keacakan tertentu, informasi parameter keluaran mungkin tidak sesuai dengan signature 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 konten. Ini bisa berupa salah satu nilai berikut:
stop: Generasi berhenti karena parameter masukan stop dipicu atau keluaran selesai secara alami.
null: Generasi belum selesai.
length: Generasi berhenti karena panjang keluaran maksimum tercapai.
tool_calls: Generasi berhenti untuk melakukan pemanggilan alat.
indexinteger
Indeks respons saat ini dalam array choices. Jika parameter masukan n lebih besar dari 1, gunakan parameter ini untuk merekonstruksi konten lengkap untuk setiap respons.
logprobs object
Informasi probabilitas untuk objek saat ini.
Properti
contentarray
Array token dengan informasi probabilitas log terkait.
Properties
tokenstring
Token saat ini.
bytesarray
Daftar byte UTF-8 mentah token saat ini. Ini digunakan untuk memulihkan konten keluaran 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 saat ini dan probabilitas log mereka. Jumlah elemen sesuai dengan parameter masukan top_logprobs.
Properti
tokenstring
Token saat ini.
bytesarray
Daftar byte UTF-8 mentah token saat ini. Ini digunakan untuk memulihkan konten keluaran 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 yang sama memiliki stempel waktu created 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.
usageobject
Statistik penggunaan token untuk permintaan ini. Objek ini hanya muncul di chunk terakhir ketika include_usage adalah true.
Properti
completion_tokensinteger
Jumlah token dalam keluaran model.
prompt_tokensinteger
Jumlah token masukan.
total_tokensinteger
Jumlah total token, sama dengan jumlah dari prompt_tokens dan completion_tokens.