badan permintaan | Input teksPythonimport os
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
messages = [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'Who are you?'}
]
response = dashscope.Generation.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-plus", # Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
messages=messages,
result_format='message'
)
print(response)
Java// Kami merekomendasikan penggunaan SDK DashScope versi 2.12.0 atau yang lebih baru.
import java.util.Arrays;
import java.lang.System;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public static GenerationResult callWithMessage() throws ApiException, NoApiKeyException, InputRequiredException {
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
// base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
Message systemMsg = Message.builder()
.role(Role.SYSTEM.getValue())
.content("You are a helpful assistant.")
.build();
Message userMsg = Message.builder()
.role(Role.USER.getValue())
.content("Who are you?")
.build();
GenerationParam param = GenerationParam.builder()
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
.model("qwen-plus")
.messages(Arrays.asList(systemMsg, userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.build();
return gen.call(param);
}
public static void main(String[] args) {
try {
GenerationResult result = callWithMessage();
System.out.println(JsonUtils.toJson(result));
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
// Gunakan framework logging untuk mencatat informasi pengecualian.
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
System.exit(0);
}
}
PHP (HTTP)<?php
// URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
$url = "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
$apiKey = getenv('DASHSCOPE_API_KEY');
$data = [
// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
"model" => "qwen-plus",
"input" => [
"messages" => [
[
"role" => "system",
"content" => "You are a helpful assistant."
],
[
"role" => "user",
"content" => "Who are you?"
]
]
],
"parameters" => [
"result_format" => "message"
]
];
$jsonData = json_encode($data);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $jsonData);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
"Authorization: Bearer $apiKey",
"Content-Type: application/json"
]);
$response = curl_exec($ch);
$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if ($httpCode == 200) {
echo "Response: " . $response;
} else {
echo "Error: " . $httpCode . " - " . $response;
}
curl_close($ch);
?>
Node.js (HTTP)DashScope tidak menyediakan SDK untuk lingkungan Node.js. Untuk melakukan panggilan menggunakan SDK OpenAI Node.js, lihat bagian OpenAI topik ini. import fetch from 'node-fetch';
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
$apiKey = getenv('DASHSCOPE_API_KEY');
const apiKey = process.env.DASHSCOPE_API_KEY;
const data = {
model: "qwen-plus", // Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
input: {
messages: [
{
role: "system",
content: "You are a helpful assistant."
},
{
role: "user",
content: "Who are you?"
}
]
},
parameters: {
result_format: "message"
}
};
fetch('https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation', {
// URL di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify(data)
})
.then(response => response.json())
.then(data => {
console.log(JSON.stringify(data));
})
.catch(error => {
console.error('Error:', error);
});
C# (HTTP)using System.Net.Http.Headers;
using System.Text;
class Program
{
private static readonly HttpClient httpClient = new HttpClient();
static async Task Main(string[] args)
{
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan string? apiKey = "sk-xxx"; menggunakan Kunci API Model Studio Anda.
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
$apiKey = getenv('DASHSCOPE_API_KEY');
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("API key not set. Make sure the 'DASHSCOPE_API_KEY' environment variable is set.");
return;
}
// Setel URL permintaan dan konten.
// base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
string url = "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
string jsonContent = @"{
""model"": ""qwen-plus"",
""input"": {
""messages"": [
{
""role"": ""system"",
""content"": ""You are a helpful assistant.""
},
{
""role"": ""user"",
""content"": ""Who are you?""
}
]
},
""parameters"": {
""result_format"": ""message""
}
}";
// Kirim permintaan dan dapatkan respons.
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
// Cetak hasilnya.
Console.WriteLine(result);
}
private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey)
{
using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json"))
{
// Setel header permintaan.
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// Kirim permintaan dan dapatkan respons.
HttpResponseMessage response = await httpClient.PostAsync(url, content);
// Proses respons.
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"Request failed: {response.StatusCode}";
}
}
}
}
Go (HTTP)DashScope tidak menyediakan SDK untuk Go. Untuk melakukan panggilan menggunakan SDK OpenAI Go, lihat bagian OpenAI-Go topik ini. package main
import (
"bytes"
"encoding/json"
"fmt"
"io"
"log"
"net/http"
"os"
)
type Message struct {
Role string `json:"role"`
Content string `json:"content"`
}
type Input struct {
Messages []Message `json:"messages"`
}
type Parameters struct {
ResultFormat string `json:"result_format"`
}
type RequestBody struct {
Model string `json:"model"`
Input Input `json:"input"`
Parameters Parameters `json:"parameters"`
}
func main() {
// Buat klien HTTP.
client := &http.Client{}
// Bangun badan permintaan.
requestBody := RequestBody{
// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
Model: "qwen-plus",
Input: Input{
Messages: []Message{
{
Role: "system",
Content: "You are a helpful assistant.",
},
{
Role: "user",
Content: "Who are you?",
},
},
},
Parameters: Parameters{
ResultFormat: "message",
},
}
jsonData, err := json.Marshal(requestBody)
if err != nil {
log.Fatal(err)
}
// Buat permintaan POST.
// base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
req, err := http.NewRequest("POST", "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation", bytes.NewBuffer(jsonData))
if err != nil {
log.Fatal(err)
}
// Setel header permintaan.
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan apiKey := "sk-xxx" menggunakan Kunci API Model Studio Anda.
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
apiKey := os.Getenv("DASHSCOPE_API_KEY")
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
// Kirim permintaan.
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// Baca isi respons.
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
// Cetak konten respons.
fmt.Printf("%s\n", bodyText)
}
curlKunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation. curl --location "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-plus",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
},
"parameters": {
"result_format": "message"
}
}'
keluaran streamingUntuk informasi selengkapnya, lihat Streaming. Model generasi teksPythonimport os
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{'role':'system','content':'you are a helpful assistant'},
{'role': 'user','content': 'Who are you?'}
]
responses = dashscope.Generation.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
api_key=os.getenv('DASHSCOPE_API_KEY'),
# Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
model="qwen-plus",
messages=messages,
result_format='message',
stream=True,
incremental_output=True
)
for response in responses:
print(response)
Javaimport java.util.Arrays;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.utils.JsonUtils;
import io.reactivex.Flowable;
import java.lang.System;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
private static final Logger logger = LoggerFactory.getLogger(Main.class);
private static void handleGenerationResult(GenerationResult message) {
System.out.println(JsonUtils.toJson(message));
}
public static void streamCallWithMessage(Generation gen, Message userMsg)
throws NoApiKeyException, ApiException, InputRequiredException {
GenerationParam param = buildGenerationParam(userMsg);
Flowable<GenerationResult> result = gen.streamCall(param);
result.blockingForEach(message -> handleGenerationResult(message));
}
private static GenerationParam buildGenerationParam(Message userMsg) {
return GenerationParam.builder()
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
.model("qwen-plus")
.messages(Arrays.asList(userMsg))
.resultFormat(GenerationParam.ResultFormat.MESSAGE)
.incrementalOutput(true)
.build();
}
public static void main(String[] args) {
try {
// URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1.
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
Message userMsg = Message.builder().role(Role.USER.getValue()).content("Who are you?").build();
streamCallWithMessage(gen, userMsg);
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
logger.error("An exception occurred: {}", e.getMessage());
}
System.exit(0);
}
}
curl# ======= Penting =======
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
# === Hapus komentar ini sebelum eksekusi ====
curl --location "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--header "X-DashScope-SSE: enable" \
--data '{
"model": "qwen-plus",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
},
"parameters": {
"result_format": "message",
"incremental_output":true
}
}'
Model multimodalPythonimport os
from dashscope import MultiModalConversation
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/compatible-mode/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": [
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
{"text": "What is depicted in the image?"}
]
}
]
responses = MultiModalConversation.call(
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx", menggunakan Kunci API Model Studio Anda.
api_key=os.getenv("DASHSCOPE_API_KEY"),
model='qwen3-vl-plus', # Anda dapat mengganti model dengan model multimodal lain dan menyesuaikan pesan sesuai kebutuhan.
messages=messages,
stream=True,
incremental_output=True)
full_content = ""
print("Streaming output content:")
for response in responses:
if response["output"]["choices"][0]["message"].content:
print(response.output.choices[0].message.content[0]['text'])
full_content += response.output.choices[0].message.content[0]['text']
print(f"Full content: {full_content}")
Javaimport java.util.Arrays;
import java.util.Collections;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import io.reactivex.Flowable;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
public static void streamCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
// must create mutable map.
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"),
Collections.singletonMap("text", "What is depicted in the image?"))).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen3-vl-plus") // Anda dapat mengganti model dengan model multimodal lain dan menyesuaikan pesan sesuai kebutuhan.
.messages(Arrays.asList(userMessage))
.incrementalOutput(true)
.build();
Flowable<MultiModalConversationResult> result = conv.streamCall(param);
result.blockingForEach(item -> {
try {
var content = item.getOutput().getChoices().get(0).getMessage().getContent();
// Periksa apakah konten ada dan tidak kosong.
if (content != null && !content.isEmpty()) {
System.out.println(content.get(0).get("text"));
}
} catch (Exception e){
System.exit(0);
}
});
}
public static void main(String[] args) {
try {
streamCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
curl# ======= Penting =======
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation.
# === Hapus komentar ini sebelum eksekusi ===
curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-H 'X-DashScope-SSE: enable' \
-d '{
"model": "qwen3-vl-plus",
"input":{
"messages":[
{
"role": "user",
"content": [
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
{"text": "What is depicted in the image?"}
]
}
]
},
"parameters": {
"incremental_output": true
}
}'
Input citraUntuk informasi selengkapnya tentang cara menggunakan model besar untuk menganalisis citra, lihat Pemahaman visual. Pythonimport os
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [
{
"role": "user",
"content": [
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"},
{"text": "What are these?"}
]
}
]
response = dashscope.MultiModalConversation.call(
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
api_key=os.getenv('DASHSCOPE_API_KEY'),
# Contoh ini menggunakan qwen-vl-max. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
model='qwen-vl-max',
messages=messages
)
print(response)
Java// Copyright (c) Alibaba, Inc. and its affiliates.
import java.util.Arrays;
import java.util.Collections;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.JsonUtils;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1"; // base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1;
}
public static void simpleMultiModalConversationCall()
throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage userMessage = MultiModalMessage.builder().role(Role.USER.getValue())
.content(Arrays.asList(
Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"),
Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"),
Collections.singletonMap("image", "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"),
Collections.singletonMap("text", "What are these?"))).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
// base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Contoh ini menggunakan qwen-vl-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
.model("qwen-vl-plus")
.message(userMessage)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
curlKunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation. curl --location 'https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation' \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "qwen-vl-plus",
"input":{
"messages":[
{
"role": "user",
"content": [
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"},
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/tiger.png"},
{"image": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/rabbit.png"},
{"text": "What are these?"}
]
}
]
}
}'
Input videoKode berikut memberikan contoh cara meneruskan frame video. Untuk informasi selengkapnya tentang metode penggunaan lainnya, seperti meneruskan file video, lihat Pemahaman visual. Pythonimport os
# Diperlukan SDK DashScope versi 1.20.10 atau yang lebih baru.
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
messages = [{"role": "user",
"content": [
# Jika model berada dalam seri Qwen2.5-VL dan daftar citra diteruskan, Anda dapat mengatur parameter fps. Parameter ini menunjukkan bahwa daftar citra diekstraksi dari video asli dengan interval 1/fps detik.
{"video":["https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"],
"fps":2},
{"text": "Describe the specific process in this video"}]}]
response = dashscope.MultiModalConversation.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
api_key=os.getenv("DASHSCOPE_API_KEY"),
model='qwen2.5-vl-72b-instruct', # Contoh ini menggunakan qwen2.5-vl-72b-instruct. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/models.
messages=messages
)
print(response["output"]["choices"][0]["message"].content[0]["text"])
Java// Diperlukan SDK DashScope versi 2.18.3 atau yang lebih baru.
import java.util.Arrays;
import java.util.Collections;
import java.util.Map;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversation;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationParam;
import com.alibaba.dashscope.aigc.multimodalconversation.MultiModalConversationResult;
import com.alibaba.dashscope.common.MultiModalMessage;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.exception.UploadFileException;
import com.alibaba.dashscope.utils.Constants;
public class Main {
static {
// base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
Constants.baseHttpApiUrl="https://dashscope-intl.aliyuncs.com/api/v1";
}
private static final String MODEL_NAME = "qwen2.5-vl-72b-instruct"; // Contoh ini menggunakan qwen2.5-vl-72b-instruct. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/models.
public static void videoImageListSample() throws ApiException, NoApiKeyException, UploadFileException {
MultiModalConversation conv = new MultiModalConversation();
MultiModalMessage systemMessage = MultiModalMessage.builder()
.role(Role.SYSTEM.getValue())
.content(Arrays.asList(Collections.singletonMap("text", "You are a helpful assistant.")))
.build();
// Jika model berada dalam seri Qwen2.5-VL dan daftar citra diteruskan, Anda dapat mengatur parameter fps. Parameter ini menunjukkan bahwa daftar citra diekstraksi dari video asli dengan interval 1/fps detik.
Map<String, Object> params = Map.of(
"video", Arrays.asList("https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"),
"fps",2);
MultiModalMessage userMessage = MultiModalMessage.builder()
.role(Role.USER.getValue())
.content(Arrays.asList(
params,
Collections.singletonMap("text", "Describe the specific process in this video")))
.build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan .apiKey("sk-xxx") menggunakan Kunci API Model Studio Anda.
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(MODEL_NAME)
.messages(Arrays.asList(systemMessage, userMessage)).build();
MultiModalConversationResult result = conv.call(param);
System.out.print(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
videoImageListSample();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
curlKunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation. curl -X POST https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen2.5-vl-72b-instruct",
"input": {
"messages": [
{
"role": "user",
"content": [
{
"video": [
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/xzsgiz/football1.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/tdescd/football2.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/zefdja/football3.jpg",
"https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241108/aedbqh/football4.jpg"
],
"fps":2
},
{
"text": "Describe the specific process in this video"
}
]
}
]
}
}'
Pemanggilan alatUntuk kode lengkap alur Function calling, lihat Ikhtisar model generasi teks. Pythonimport os
import dashscope
# base_url berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
tools = [
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful for when you want to know the current time.",
"parameters": {}
}
},
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful for when you want to query the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang."
}
}
},
"required": [
"location"
]
}
}
]
messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}]
response = dashscope.Generation.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
api_key=os.getenv('DASHSCOPE_API_KEY'),
# Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
model='qwen-plus',
messages=messages,
tools=tools,
result_format='message'
)
print(response)
Javaimport java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import com.alibaba.dashscope.aigc.conversation.ConversationParam.ResultFormat;
import com.alibaba.dashscope.aigc.generation.Generation;
import com.alibaba.dashscope.aigc.generation.GenerationParam;
import com.alibaba.dashscope.aigc.generation.GenerationResult;
import com.alibaba.dashscope.common.Message;
import com.alibaba.dashscope.common.Role;
import com.alibaba.dashscope.exception.ApiException;
import com.alibaba.dashscope.exception.InputRequiredException;
import com.alibaba.dashscope.exception.NoApiKeyException;
import com.alibaba.dashscope.tools.FunctionDefinition;
import com.alibaba.dashscope.tools.ToolFunction;
import com.alibaba.dashscope.utils.JsonUtils;
import com.fasterxml.jackson.databind.node.ObjectNode;
import com.github.victools.jsonschema.generator.Option;
import com.github.victools.jsonschema.generator.OptionPreset;
import com.github.victools.jsonschema.generator.SchemaGenerator;
import com.github.victools.jsonschema.generator.SchemaGeneratorConfig;
import com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder;
import com.github.victools.jsonschema.generator.SchemaVersion;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import com.alibaba.dashscope.protocol.Protocol;
public class Main {
public class GetWeatherTool {
private String location;
public GetWeatherTool(String location) {
this.location = location;
}
public String call() {
return location + " is sunny today";
}
}
public class GetTimeTool {
public GetTimeTool() {
}
public String call() {
LocalDateTime now = LocalDateTime.now();
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
String currentTime = "Current time: " + now.format(formatter) + ".";
return currentTime;
}
}
public static void SelectTool()
throws NoApiKeyException, ApiException, InputRequiredException {
SchemaGeneratorConfigBuilder configBuilder =
new SchemaGeneratorConfigBuilder(SchemaVersion.DRAFT_2020_12, OptionPreset.PLAIN_JSON);
SchemaGeneratorConfig config = configBuilder.with(Option.EXTRA_OPEN_API_FORMAT_VALUES)
.without(Option.FLATTENED_ENUMS_FROM_TOSTRING).build();
SchemaGenerator generator = new SchemaGenerator(config);
ObjectNode jsonSchema_weather = generator.generateSchema(GetWeatherTool.class);
ObjectNode jsonSchema_time = generator.generateSchema(GetTimeTool.class);
FunctionDefinition fdWeather = FunctionDefinition.builder().name("get_current_weather").description("Get the weather for a specified area")
.parameters(JsonUtils.parseString(jsonSchema_weather.toString()).getAsJsonObject()).build();
FunctionDefinition fdTime = FunctionDefinition.builder().name("get_current_time").description("Get the current time")
.parameters(JsonUtils.parseString(jsonSchema_time.toString()).getAsJsonObject()).build();
Message systemMsg = Message.builder().role(Role.SYSTEM.getValue())
.content("You are a helpful assistant. When asked a question, use tools wherever possible.")
.build();
Message userMsg = Message.builder().role(Role.USER.getValue()).content("Weather in Hangzhou").build();
List<Message> messages = new ArrayList<>();
messages.addAll(Arrays.asList(systemMsg, userMsg));
GenerationParam param = GenerationParam.builder()
// Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
.model("qwen-plus")
.messages(messages)
.resultFormat(ResultFormat.MESSAGE)
.tools(Arrays.asList(
ToolFunction.builder().function(fdWeather).build(),
ToolFunction.builder().function(fdTime).build()))
.build();
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
// base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
GenerationResult result = gen.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
SelectTool();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(String.format("Exception %s", e.getMessage()));
}
System.exit(0);
}
}
curlKunci API untuk wilayah Singapura dan Beijing berbeda. Untuk informasi selengkapnya, lihat Dapatkan dan konfigurasikan Kunci API URL berikut untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti URL dengan https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation. curl --location "https://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-plus",
"input": {
"messages": [{
"role": "user",
"content": "What is the weather like in Hangzhou?"
}]
},
"parameters": {
"result_format": "message",
"tools": [{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful for when you want to know the current time.",
"parameters": {}
}
},{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful for when you want to query the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang."
}
}
},
"required": ["location"]
}
}]
}
}'
Pemanggilan asinkron# Versi SDK Python Dashscope Anda harus 1.19.0 atau yang lebih baru.
import asyncio
import platform
import os
import dashscope
from dashscope.aigc.generation import AioGeneration
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# base_url di atas untuk wilayah Singapura. Jika Anda menggunakan model di wilayah Beijing, ganti base_url dengan https://dashscope.aliyuncs.com/api/v1.
async def main():
response = await AioGeneration.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
# Kunci API untuk wilayah Singapura dan Beijing berbeda. Untuk mendapatkan kunci API, lihat https://www.alibabacloud.com/help/en/model-studio/get-api-key.
api_key=os.getenv('DASHSCOPE_API_KEY'),
# Contoh ini menggunakan qwen-plus. Anda dapat mengganti nama model sesuai kebutuhan. Untuk daftar model, lihat https://www.alibabacloud.com/help/en/model-studio/getting-started/models.
model="qwen-plus",
messages=[{"role": "user", "content": "Who are you"}],
result_format="message",
)
print(response)
if platform.system() == "Windows":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
Pemahaman dokumenPythonimport os
import dashscope
# Saat ini, hanya wilayah Beijing yang mendukung pemanggilan model qwen-long-latest.
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'you are a helpful assisstant'},
# Ganti '{FILE_ID}' dengan file-id yang digunakan dalam skenario percakapan Anda.
{'role':'system','content':f'fileid://{FILE_ID}'},
{'role': 'user', 'content': 'What is this article about?'}]
response = dashscope.Generation.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-long-latest",
messages=messages,
result_format='message'
)
print(response)
Javaimport os
import dashscope
# Saat ini, hanya wilayah Beijing yang mendukung pemanggilan model qwen-long-latest.
dashscope.base_http_api_url = 'https://dashscope.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'you are a helpful assisstant'},
# Ganti '{FILE_ID}' dengan file-id yang digunakan dalam skenario percakapan Anda.
{'role':'system','content':f'fileid://{FILE_ID}'},
{'role': 'user', 'content': 'What is this article about?'}]
response = dashscope.Generation.call(
# Jika variabel lingkungan belum dikonfigurasi, ganti baris berikut dengan api_key="sk-xxx" menggunakan Kunci API Model Studio Anda.
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-long-latest",
messages=messages,
result_format='message'
)
print(response)
curlSaat ini, Anda hanya dapat memanggil model pemahaman dokumen di wilayah Beijing. Ganti {FILE_ID} dengan ID file untuk skenario percakapan Anda. curl --location "https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-long-latest",
"input":{
"messages":[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "system",
"content": "fileid://{FILE_ID}"
},
{
"role": "user",
"content": "What is this article about?"
}
]
},
"parameters": {
"result_format": "message"
}
}'
|
model string (Wajib) Nama model. Model yang didukung meliputi model bahasa besar Qwen (komersial dan open source), Qwen-VL, dan Qwen-Coder. Untuk nama model spesifik dan informasi penagihan, lihat Daftar model. |
messages array (Wajib) Konteks yang diteruskan ke model bahasa besar, diatur dalam urutan percakapan. Saat Anda melakukan panggilan menggunakan HTTP, letakkan messages dalam objek input. Jenis pesan Pesan Sistem object (Opsional) Pesan sistem yang menetapkan peran, nada, tujuan tugas, atau batasan untuk model bahasa besar. Pesan ini biasanya ditempatkan di awal array messages. Kami tidak merekomendasikan menetapkan Pesan Sistem untuk model QwQ. Menetapkan Pesan Sistem untuk model QVQ tidak berpengaruh. Properti content string (Wajib) Konten pesan. role string (Wajib) Peran untuk pesan sistem. Nilainya tetap sebagai system. Pesan Pengguna object (Wajib) Pesan pengguna yang meneruskan pertanyaan, instruksi, atau konteks ke model. Properti content string atau array (Wajib) Konten pesan. Nilainya berupa string jika input hanya teks. Nilainya berupa array jika input mencakup data multimodal, seperti citra, atau jika caching eksplisit diaktifkan. Properti text string (Wajib) Teks input. image string (Opsional) Menentukan file citra untuk pemahaman citra. Anda dapat meneruskan citra dengan salah satu dari tiga cara berikut: Model yang berlaku: Qwen-VL, QVQ Nilai contoh: {"image":"https://xxxx.jpeg"} video array atau string (Opsional) Video yang diteruskan ke model Qwen-VL atau model QVQ. Jika Anda meneruskan daftar citra, nilainya berupa array. Jika Anda meneruskan file video, nilainya berupa string.
Untuk informasi tentang cara meneruskan file lokal, lihat File lokal (Qwen-VL) atau File lokal (QVQ). Nilai contoh: Daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"]} File video: {"video":"https://xxx.mp4"}
fps float (Opsional) Jumlah frame yang diekstraksi per detik. Nilainya harus berada dalam rentang (0,1, 10). Nilai default adalah 2,0. Parameter ini memiliki dua fungsi: Saat Anda memasukkan file video, parameter ini mengontrol frekuensi ekstraksi frame. Satu frame diekstraksi setiap fps1 detik. Berlaku untuk model Qwen-VL dan model QVQ. Parameter ini memberi tahu model tentang interval waktu antara frame yang berdekatan, yang membantu model memahami dinamika temporal video dengan lebih baik. Fungsi ini berlaku untuk input file video maupun daftar citra, dan cocok untuk skenario seperti lokalisasi waktu kejadian atau ringkasan konten segmen. Mendukung model Qwen2.5-VL dan Qwen3-VL, serta model QVQ.
Nilai contoh sebagai berikut: Input daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "fps":2} Input file video: {"video": "https://xx1.mp4", "fps":2}
Nilai fps yang lebih besar cocok untuk skenario gerakan cepat, seperti acara olahraga atau film aksi. Nilai fps yang lebih kecil cocok untuk video panjang atau konten dengan adegan statis. Protokol kompatibel OpenAI tidak mendukung parameter ini. Untuk file video, satu frame diekstraksi setiap 0,5 detik secara default. Untuk daftar citra, frame diasumsikan diekstraksi dari video dengan interval yang sama. min_pixels integer (Opsional) Menetapkan ambang batas piksel minimum untuk citra input atau frame video. Jika citra input atau frame video memiliki jumlah piksel lebih sedikit daripada nilai min_pixels, citra atau frame tersebut diperbesar hingga jumlah total pikselnya melebihi nilai min_pixels. Protokol kompatibel OpenAI hanya mendukung parameter ini saat Anda meneruskan citra. max_pixels integer (Opsional) Menetapkan ambang batas piksel maksimum untuk citra input atau frame video. Jika jumlah piksel dalam citra input berada dalam rentang [min_pixels, max_pixels], model mengenali citra aslinya. Jika jumlah piksel dalam citra input melebihi nilai max_pixels, citra tersebut diperkecil hingga jumlah total pikselnya kurang dari nilai max_pixels. Protokol kompatibel OpenAI hanya mendukung parameter ini saat Anda meneruskan citra. total_pixels integer (Opsional) Membatasi jumlah total piksel dari semua frame yang diekstraksi dari video. Jumlah total piksel dihitung menggunakan rumus berikut: Piksel satu frame × Jumlah total frame. Jika jumlah total piksel dalam video melebihi batas ini, sistem memperkecil frame video. Namun, sistem memastikan bahwa jumlah piksel dalam satu frame berada dalam rentang [min_pixels, max_pixels]. Model yang berlaku: Parameter ini hanya didukung untuk model qwen3-vl-plus dan qwen3-vl-plus-2025-09-23. Deskripsi nilai: Nilai default dan minimum keduanya adalah 134217728. Ini setara dengan token citra 131072. Satu token citra setara dengan 32 × 32 piksel. Nilai contoh: Saat Anda memasukkan file video: {"video":"https://xxxx.mp4","total_pixels": 134217728} Saat Anda memasukkan daftar citra: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "total_pixels": 134217728}
Untuk video panjang yang mengekstraksi banyak frame, Anda dapat mengurangi nilai ini untuk mengurangi konsumsi token dan waktu pemrosesan. Namun, hal ini dapat menyebabkan hilangnya detail citra. cache_control object (Opsional) Parameter ini hanya didukung oleh model yang mendukung cache eksplisit. Parameter ini digunakan untuk mengaktifkan caching eksplisit. Properti type string(Wajib) Nilainya tetap sebagai ephemeral. role string (Wajib) Peran untuk pesan pengguna. Nilainya tetap sebagai user. Pesan Asisten object (Opsional) Tanggapan model terhadap pesan pengguna. Properti content string (Opsional) Konten pesan. Parameter ini opsional hanya ketika parameter tool_calls ditentukan dalam pesan asisten. role string (Wajib) Nilainya tetap sebagai assistant. partial boolean (Opsional) Menentukan apakah akan mengaktifkan mode sebagian. Untuk informasi selengkapnya, lihat Mode sebagian. Model yang didukung Seri Qwen-Max qwen3-max, qwen3-max-2025-09-23, qwen3-max-preview (mode non-pemikiran), qwen-max, qwen-max-latest, dan model snapshot mulai qwen-max-2025-01-25 atau yang lebih baru Seri Qwen-Plus (mode non-pemikiran) qwen-plus, qwen-plus-latest, dan model snapshot mulai qwen-plus-2025-01-25 atau yang lebih baru Seri Qwen-Flash (mode non-pemikiran) qwen-flash, dan model snapshot mulai qwen-flash-2025-07-28 atau yang lebih baru Seri Qwen-Coder qwen3-coder-plus, qwen3-coder-flash, qwen3-coder-480b-a35b-instruct, qwen3-coder-30b-a3b-instruct Seri Qwen-VL seri qwen3-vl-plus (mode non-pemikiran) qwen3-vl-plus, dan model snapshot mulai qwen3-vl-plus-2025-09-23 atau yang lebih baru seri qwen3-vl-flash (mode non-pemikiran) qwen3-vl-flash, dan model snapshot mulai qwen3-vl-flash-2025-10-15 atau yang lebih baru seri qwen-vl-max qwen-vl-max, qwen-vl-max-latest, dan model snapshot mulai qwen-vl-max-2025-04-08 atau yang lebih baru seri qwen-vl-plus qwen-vl-plus, qwen-vl-plus-latest, dan model snapshot mulai qwen-vl-plus-2025-01-25 atau yang lebih baru
Seri Qwen-Turbo (mode non-pemikiran) qwen-turbo, qwen-turbo-latest, dan model snapshot mulai qwen-turbo-2024-11-01 atau yang lebih baru Seri Qwen open-source Model open-source Qwen3 (mode non-pemikiran), seri teks Qwen2.5, model open-source Qwen3-VL (mode non-pemikiran)
tool_calls array (Opsional) Informasi alat dan parameter input yang dikembalikan setelah Anda memulai Function calling. Parameter ini berisi satu atau beberapa objek dan diperoleh dari bidang tool_calls dari respons model sebelumnya. Properti id string ID respons alat. type string Jenis alat. Saat ini, hanya function yang didukung. function object Informasi alat dan parameter input. Properti arguments string Informasi parameter input, dalam format string JSON. index integer Indeks informasi alat saat ini dalam array tool_calls. Pesan Alat object (Opsional) Informasi keluaran alat. Properti content string (Wajib) Konten keluaran fungsi alat. Nilainya harus berupa string. role string (Wajib) Nilainya tetap sebagai tool. tool_call_id string (Opsional) ID yang dikembalikan setelah Anda memulai Function calling. Anda dapat memperoleh ID dari response.output.choices[0].message.tool_calls[$index]["id"]. Parameter ini digunakan untuk mengaitkan Pesan Alat dengan alat yang sesuai. |
temperature float (Opsional) Suhu pengambilan sampel, yang mengontrol keragaman teks yang dihasilkan oleh model. Suhu yang lebih tinggi menghasilkan teks yang lebih beragam. Suhu yang lebih rendah menghasilkan teks yang lebih deterministik. Nilainya harus berada dalam rentang [0, 2). Saat Anda melakukan panggilan menggunakan HTTP, letakkan temperature dalam objek parameters. Kami tidak merekomendasikan Anda mengubah nilai suhu default untuk model QVQ. |
top_p float (Opsional) Ambang batas probabilitas untuk pengambilan sampel inti. Parameter ini mengontrol keragaman teks yang dihasilkan oleh model. Nilai top_p yang lebih tinggi menghasilkan teks yang lebih beragam. Nilai top_p yang lebih rendah menghasilkan teks yang lebih deterministik. Nilainya harus berada dalam rentang (0, 1,0]. Nilai top_p default Qwen3 (mode non-pemikiran), seri Qwen3-Instruct, seri Qwen3-Coder, seri qwen-max, seri qwen-plus (mode non-pemikiran), seri qwen-flash (mode non-pemikiran), seri qwen-turbo (mode non-pemikiran), seri Qwen open source, qwen-vl-max-2025-08-13, dan Qwen3-VL (mode non-pemikiran): 0,8 seri qwen-vl-plus, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-2025-04-08, qwen2.5-vl-3b-instruct, qwen2.5-vl-7b-instruct, qwen2.5-vl-32b-instruct, dan qwen2.5-vl-72b-instruct: 0,001 Seri QVQ, qwen-vl-plus-2025-07-10, qwen-vl-plus-2025-08-15 : 0,5 qwen3-max-preview (mode pemikiran), seri Qwen3-Omni-Flash: 1,0 Qwen3 (mode pemikiran), Qwen3-VL (mode pemikiran), Qwen3-Thinking, seri QwQ, dan Qwen3-Omni-Captioner: 0,95 Dalam SDK Java, parameter ini bernama topP. Saat Anda melakukan panggilan menggunakan HTTP, letakkan top_p dalam objek parameters. Kami tidak merekomendasikan Anda mengubah nilai top_p default untuk model QVQ. |
top_k integer (Opsional) Ukuran set kandidat untuk pengambilan sampel selama generasi. Misalnya, nilai 50 menunjukkan bahwa hanya 50 token dengan skor tertinggi dalam satu generasi yang digunakan sebagai set kandidat untuk pengambilan sampel acak. Nilai yang lebih besar menghasilkan keacakan yang lebih tinggi, dan nilai yang lebih kecil menghasilkan determinisme yang lebih tinggi. Nilai None atau nilai lebih dari 100 menonaktifkan strategi top_k. Dalam hal ini, hanya strategi top_p yang efektif. Nilainya harus lebih besar dari atau sama dengan 0. Nilai top_k default Seri QVQ, qwen-vl-plus-2025-07-10, dan qwen-vl-plus-2025-08-15: 10 Seri QwQ: 40 Seri qwen-vl-plus lainnya, model sebelum qwen-vl-max-2025-08-13, qwen2.5-omni-7b: 1 Seri Qwen3-Omni-Flash: 50 Semua model lainnya: 20 Dalam SDK Java, parameter ini bernama topK. Saat Anda melakukan panggilan menggunakan HTTP, letakkan top_k dalam objek parameters. Kami tidak merekomendasikan Anda mengubah nilai top_k default untuk model QVQ. |
enable_thinking boolean (Opsional) Saat Anda menggunakan model pemikiran hibrida, parameter ini menentukan apakah akan mengaktifkan mode pemikiran. Berlaku untuk model Qwen3 dan Qwen3-VL. Untuk informasi selengkapnya, lihat Pemikiran mendalam. Nilai yang valid: true
Jika parameter ini diaktifkan, konten pemikiran dikembalikan dalam bidang reasoning_content. false
Nilai default untuk model berbeda: Model yang didukung Dalam SDK Java, parameter ini bernama enableThinking. Saat Anda melakukan panggilan menggunakan HTTP, letakkan enable_thinking dalam objek parameters. |
thinking_budget integer (Opsional) Panjang maksimum proses pemikiran. Berlaku untuk Qwen3-VL, serta versi komersial dan open source model Qwen3. Untuk informasi selengkapnya, lihat Batasi panjang pemikiran. Nilai default adalah panjang maksimum rantai-pikiran model. Untuk informasi selengkapnya, lihat Daftar model. Dalam SDK Java, parameter ini bernama thinkingBudget. Saat Anda melakukan panggilan menggunakan HTTP, letakkan thinking_budget dalam objek parameters. Nilainya default ke panjang maksimum rantai-pikiran model. |
enable_code_interpreter boolean (Opsional) Nilai default: false Menentukan apakah akan mengaktifkan fitur penerjemah kode. Parameter ini hanya berlaku untuk qwen3-max-preview dalam mode pemikiran. Untuk informasi selengkapnya, lihat Penerjemah kode. Nilai yang valid: Parameter ini tidak didukung oleh SDK Java. Saat Anda melakukan panggilan menggunakan HTTP, letakkan enable_code_interpreter dalam objek parameters. |
repetition_penalty float (Opsional) Hukuman untuk mengulang urutan berturut-turut selama generasi model. Nilai repetition_penalty yang lebih tinggi dapat mengurangi pengulangan teks yang dihasilkan. Nilai 1,0 menunjukkan tidak ada hukuman. Nilainya harus lebih besar dari 0. Dalam SDK Java, parameter ini bernama repetitionPenalty. Saat Anda melakukan panggilan menggunakan HTTP, letakkan repetition_penalty dalam objek parameters. Jika Anda menggunakan model qwen-vl-plus_2025-01-25 untuk ekstraksi teks, kami merekomendasikan agar Anda mengatur repetition_penalty ke 1,0. Kami tidak merekomendasikan Anda mengubah nilai repetition_penalty default untuk model QVQ. |
presence_penalty float (Opsional) Mengontrol pengulangan konten dalam teks yang dihasilkan oleh model. Rentang nilainya adalah [-2,0, 2,0]. Nilai positif mengurangi pengulangan, sedangkan nilai negatif meningkatkannya. Untuk skenario penulisan kreatif atau brainstorming yang memerlukan keragaman, kesenangan, atau kreativitas, kami merekomendasikan agar Anda menaikkan nilai ini. Untuk dokumen teknis atau teks formal yang menekankan konsistensi dan akurasi terminologi, kami merekomendasikan agar Anda menurunkan nilai ini. Nilai presence_penalty default qwen3-max-preview (mode pemikiran), Qwen3 (mode non-pemikiran), seri Qwen3-Instruct, qwen3-0.6b/1.7b/4b (mode pemikiran), seri QVQ, qwen-max, qwen-max-latest, qwen-max-latest, seri qwen2.5-vl, seri qwen-vl-max, qwen-vl-plus, Qwen3-VL (non-pemikiran): 1,5; qwen-vl-plus-latest, qwen-vl-plus-2025-08-15: 1,2 qwen-vl-plus-2025-01-25: 1,0; qwen3-8b/14b/32b/30b-a3b/235b-a22b (mode pemikiran), qwen-plus/qwen-plus-latest/2025-04-28 (mode pemikiran), qwen-turbo/qwen-turbo/2025-04-28 (mode pemikiran): 0,5; Semua model lainnya: 0,0. Cara kerjanya Jika nilai parameter positif, model menerapkan hukuman pada token yang sudah ada dalam teks saat ini. Hukuman ini tidak terkait dengan jumlah kali token muncul. Hal ini mengurangi kemungkinan token tersebut muncul kembali, yang mengurangi pengulangan konten dan meningkatkan keragaman leksikal. Contoh Prompt: Terjemahkan kalimat ini ke dalam bahasa Inggris: "Esta película es buena. La trama es buena, la actuación es buena, la música es buena, y en general, toda la película es simplemente buena. Es realmente buena, de hecho. La trama es tan buena, y la actuación es tan buena, y la música es tan buena." Nilai parameter 2,0: This movie is very good. The plot is great, the acting is great, the music is also very good, and overall, the whole movie is incredibly good. In fact, it is truly excellent. The plot is very exciting, the acting is outstanding, and the music is so beautiful. Nilai parameter 0,0: This movie is good. The plot is good, the acting is good, the music is also good, and overall, the whole movie is very good. In fact, it is really great. The plot is very good, the acting is also very outstanding, and the music is also excellent. Nilai parameter -2,0: This movie is very good. The plot is very good, the acting is very good, the music is also very good, and overall, the whole movie is very good. In fact, it is really great. The plot is very good, the acting is also very good, and the music is also very good. Saat Anda menggunakan model qwen-vl-plus-2025-01-25 untuk ekstraksi teks, kami merekomendasikan agar Anda mengatur `presence_penalty` ke 1,5. Kami tidak merekomendasikan Anda mengubah nilai presence_penalty default untuk model QVQ. SDK Java tidak mendukung parameter ini. Saat Anda melakukan panggilan menggunakan HTTP, letakkan presence_penalty dalam objek parameters. |
vl_high_resolution_images boolean (Opsional) Nilai default: false Menentukan apakah akan meningkatkan batas piksel maksimum untuk citra input ke nilai piksel yang sesuai dengan 16384 token. Untuk informasi selengkapnya, lihat Memproses citra resolusi tinggi. vl_high_resolution_images: true: Strategi resolusi tetap digunakan, dan pengaturan max_pixels diabaikan. Jika citra melebihi resolusi ini, jumlah total pikselnya diperkecil hingga batas ini.
Klik untuk melihat batas piksel untuk setiap model Saat vl_high_resolution_images adalah True, model yang berbeda memiliki batas piksel yang berbeda: Seri Qwen3-VL, qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, dan qwen-vl-plus-0815: 16777216 (setiap token sesuai dengan piksel 32*32, yaitu, 16384*32*32)
Seri QVQ, model Qwen2.5-VL lainnya: 12845056 (setiap token sesuai dengan piksel 28*28, yaitu, 16384*28*28)
vl_high_resolution_images adalah false: Resolusi aktual ditentukan oleh max_pixels dan batas default, dan nilai maksimum keduanya digunakan. Jika citra melebihi batas piksel ini, citra tersebut diperkecil.
Klik untuk melihat batas piksel default untuk setiap model Saat vl_high_resolution_images adalah false, model yang berbeda memiliki batas piksel default yang berbeda: Seri Qwen3-VL: 2621440 (2560*32*32, artinya batas token default adalah 2560)
qwen-vl-max, qwen-vl-max-latest, qwen-vl-max-0813, qwen-vl-plus, qwen-vl-plus-latest, dan qwen-vl-plus-0815: 1310720 (1280*32*32, artinya batas token default adalah 1280)
Seri QVQ, model Qwen2.5-VL lainnya: 1003520 (1280*28*28, artinya batas token default adalah 1280)
Di Java SDK, parameter ini dinamai vlHighResolutionImages. Versi minimum yang diperlukan adalah 2.20.8. Saat melakukan panggilan melalui HTTP, sertakan objek vl_high_resolution_imagesparameters. |
vl_enable_image_hw_output boolean (Opsional) Nilai default: false Menentukan apakah akan mengembalikan dimensi citra yang diskalakan. Model menskalakan citra input. Jika parameter ini diatur ke true, model mengembalikan tinggi dan lebar citra yang diskalakan. Jika keluaran streaming diaktifkan, informasi ini dikembalikan dalam paket data terakhir (chunk). Parameter ini didukung oleh model Qwen-VL. Dalam SDK Java, parameter ini bernama vlEnableImageHwOutput. Versi SDK Java minimum adalah 2.20.8. Saat Anda melakukan panggilan menggunakan HTTP, letakkan vl_enable_image_hw_output dalam objek parameters. |
max_input_tokens integer (Opsional) Panjang token maksimum yang diizinkan untuk input. Parameter ini saat ini hanya didukung oleh model qwen-plus-0728 dan qwen-plus-latest. SDK Java saat ini tidak mendukung parameter ini. Saat Anda melakukan panggilan menggunakan HTTP, letakkan max_input_tokens dalam objek parameters. |
max_tokens integer (Opsional) Membatasi jumlah maksimum token dalam keluaran model. Jika konten yang dihasilkan melebihi nilai ini, generasi berhenti sebelum waktunya, dan finish_reason yang dikembalikan adalah length. Nilai default dan maksimum adalah panjang keluaran maksimum model. Untuk informasi selengkapnya, lihat Daftar model. Parameter ini berguna untuk skenario yang mengharuskan Anda mengontrol panjang keluaran, seperti menghasilkan ringkasan atau kata kunci, atau untuk mengurangi biaya dan waktu respons. Saat max_tokens dipicu, bidang `finish_reason` dari respons adalah length. max_tokens tidak membatasi panjang rantai-pikiran untuk model pemikiran.
Dalam SDK Java, parameter ini bernama maxTokens. Untuk model Qwen-VL, dalam SDK Java bernama maxLength, tetapi versi setelah 2.18.4 juga mendukung pengaturannya sebagai maxTokens. Saat Anda melakukan panggilan menggunakan HTTP, letakkan max_tokens dalam objek parameters. |
seed integer (Opsional) Seed bilangan acak. Parameter ini memastikan bahwa hasilnya dapat direproduksi untuk input dan parameter yang sama. Jika Anda meneruskan nilai seed yang sama dalam panggilan dan parameter lainnya tetap tidak berubah, model mengembalikan hasil yang sama sebanyak mungkin. Rentang nilai: [0, 2<sup>31</sup>−1]. Saat Anda melakukan panggilan menggunakan HTTP, letakkan seed dalam objek parameters. |
stream boolean (Opsional) Nilai default: false Menentukan apakah akan mengembalikan respons dalam mode keluaran streaming. Nilai parameter: false: Model mengembalikan hasil lengkap sekaligus setelah generasi selesai. true: Keluaran dihasilkan dan dikirim secara bertahap. Artinya, paket dikembalikan segera setelah bagian konten dihasilkan.
Parameter ini hanya didukung oleh SDK Python. Untuk mengimplementasikan keluaran streaming menggunakan SDK Java, Anda dapat memanggil antarmuka streamCall. Untuk mengimplementasikan keluaran streaming menggunakan HTTP, Anda harus menentukan X-DashScope-SSE sebagai enable dalam header permintaan. Edisi komersial Qwen3 (dalam mode pemikiran), edisi open source Qwen3, QwQ, dan QVQ hanya mendukung keluaran streaming. |
incremental_output boolean (Opsional) Default adalah false (Default untuk model Qwen3-Max, Qwen3-VL, edisi open source Qwen3, QwQ, dan model QVQ adalah true) Menentukan apakah akan mengaktifkan keluaran inkremental dalam mode keluaran streaming. Kami merekomendasikan agar Anda mengatur parameter ini ke true. Nilai parameter: false: Setiap keluaran adalah seluruh urutan yang dihasilkan. Keluaran terakhir adalah hasil lengkapnya. I
I like
I like apple
I like apple.
true (direkomendasikan): Keluarannya bersifat inkremental. Artinya, keluaran berikutnya tidak mencakup konten yang dihasilkan sebelumnya. Anda harus membaca fragmen ini secara real-time untuk mendapatkan hasil lengkapnya. I
like
apple
.
Dalam SDK Java, parameter ini bernama incrementalOutput. Saat Anda melakukan panggilan menggunakan HTTP, letakkan incremental_output dalam objek parameters. Model QwQ dan model Qwen3 dalam mode pemikiran hanya mendukung nilai true. Karena nilai default untuk model komersial Qwen3 adalah false, Anda harus mengatur parameter ini secara manual ke true saat Anda menggunakan mode pemikiran. Model open source Qwen3 tidak mendukung nilai false. |
response_format object (Opsional) Nilai default: {"type": "text"} Format konten yang dikembalikan. Nilai yang valid: {"type": "text"} atau {"type": "json_object"}. Jika Anda mengatur parameter ini ke {"type": "json_object"}, string JSON dalam format standar dikembalikan. Untuk informasi selengkapnya, lihat Keluaran terstruktur. Jika Anda mengatur parameter ini ke {"type": "json_object"}, Anda juga harus menginstruksikan model dalam prompt untuk mengembalikan keluaran dalam format JSON. Misalnya, Anda dapat menambahkan "Harap kembalikan keluaran dalam format JSON" ke prompt. Jika tidak, akan terjadi kesalahan. Dalam SDK Java, parameter ini bernama responseFormat. Saat Anda melakukan panggilan menggunakan HTTP, letakkan response_format dalam objek parameters. |
result_format string (Opsional) Default adalah text (Default untuk model Qwen3-Max, Qwen3-VL, QwQ, dan model open source Qwen3 (kecuali qwen3-next-80b-a3b-instruct) adalah message) Format data yang dikembalikan. Kami merekomendasikan agar Anda mengatur parameter ini ke message untuk memfasilitasi percakapan multi-putaran. Platform akan menyatukan nilai default ke message di masa mendatang. Dalam SDK Java, parameter ini bernama resultFormat. Saat Anda melakukan panggilan menggunakan HTTP, letakkan result_format dalam objek parameters. Untuk model Qwen-VL, QVQ, mengatur parameter ini ke text tidak berpengaruh. Qwen3-Max, Qwen3-VL, dan model Qwen3 dalam mode pemikiran hanya dapat diatur ke message. Karena nilai default untuk model komersial Qwen3 adalah text, Anda harus mengatur parameter ini ke message. Jika Anda menggunakan SDK Java untuk memanggil model open source Qwen3 dan meneruskan text, respons tetap dikembalikan dalam format message. |
logprobs boolean (Opsional) Nilai default: false Menentukan apakah akan mengembalikan log probabilitas token keluaran. Nilai yang valid: Model berikut didukung: Saat Anda melakukan panggilan menggunakan HTTP, letakkan logprobs dalam objek parameters. |
top_logprobs integer (Opsional) Nilai default: 0 Menentukan jumlah token kandidat paling mungkin yang akan dikembalikan pada setiap langkah generasi. Rentang nilai: [0, 5] Parameter ini hanya berlaku saat logprobs diatur ke true. Dalam SDK Java, parameter ini adalah topLogprobs. Untuk panggilan HTTP, tentukan top_logprobs dalam objek parameters. |
n integer (Opsional) Nilai default: 1 Jumlah respons yang dihasilkan. Nilainya harus berada dalam rentang 1 hingga 4. Untuk skenario yang mengharuskan Anda menghasilkan beberapa respons, seperti penulisan kreatif atau iklan, Anda dapat mengatur nilai n yang lebih besar. Saat ini, parameter ini hanya didukung oleh model qwen-plus dan Qwen3 (mode non-pemikiran). Nilainya tetap 1 saat parameter tools diteruskan. Mengatur nilai n yang lebih besar tidak meningkatkan konsumsi token input, tetapi meningkatkan konsumsi token output. Saat Anda melakukan panggilan menggunakan HTTP, letakkan n dalam objek parameters. |
stop string atau array (Opsional) Menentukan kata berhenti. Saat string atau token_id yang ditentukan dalam stop muncul dalam teks yang dihasilkan oleh model, generasi segera berhenti. Anda dapat meneruskan kata sensitif untuk mengontrol keluaran model. Saat `stop` berupa array, Anda tidak dapat menggunakan token_id dan string sebagai elemen secara bersamaan. Misalnya, Anda tidak dapat menentukan ["Hello",104307]. Saat Anda melakukan panggilan menggunakan HTTP, letakkan stop dalam objek parameters. |
tools array (Opsional) Array yang berisi satu atau beberapa objek alat untuk dipanggil model dalam Function calling. Untuk informasi selengkapnya, lihat Function calling. Saat Anda menggunakan parameter tools, Anda harus mengatur parameter result_format ke message. Anda harus mengatur parameter tools saat Anda memulai Function calling atau mengirimkan hasil eksekusi alat. Properti type string (Wajib) Jenis alat. Saat ini, hanya function yang didukung. function object (Wajib) Properti name string (Wajib) Nama fungsi alat. Nama harus terdiri dari huruf dan angka. Nama juga dapat menyertakan garis bawah (_) dan tanda hubung (-). Panjang maksimum adalah 64 karakter. description string (Wajib) Deskripsi fungsi alat. Ini membantu model memutuskan kapan dan bagaimana memanggil fungsi alat. parameters objcet (Wajib) Deskripsi parameter alat. Nilainya harus berupa Skema JSON yang valid. Untuk deskripsi Skema JSON, lihat tautan ini. Jika parameter parameters kosong, fungsi tidak memiliki parameter input. Saat Anda melakukan panggilan menggunakan HTTP, letakkan tools dalam objek parameters. Parameter ini sementara tidak didukung untuk model seri qwen-vl. |
tool_choice string atau object (Opsional) Nilai default: auto Strategi pemilihan alat. Untuk memaksa pemanggilan alat untuk jenis pertanyaan tertentu, misalnya, selalu menggunakan alat tertentu atau menonaktifkan semua alat, Anda dapat mengatur parameter ini. auto
Model bahasa besar secara independen memilih strategi alat. none
Jika Anda ingin menonaktifkan sementara pemanggilan alat dalam permintaan tertentu, Anda dapat mengatur parameter tool_choice ke none. {"type": "function", "function": {"name": "the_function_to_call"}}
Untuk memaksa pemanggilan alat tertentu, Anda dapat mengatur parameter tool_choice ke {"type": "function", "function": {"name": "the_function_to_call"}}, di mana the_function_to_call adalah nama fungsi alat yang ditentukan. Model dalam mode pemikiran tidak mendukung pemaksaan pemanggilan alat tertentu.
Dalam SDK Java, parameter ini bernama toolChoice. Saat Anda melakukan panggilan menggunakan HTTP, letakkan tool_choice dalam objek parameters. |
parallel_tool_calls boolean (Opsional) Nilai default: false Menentukan apakah akan mengaktifkan pemanggilan alat paralel. Nilai yang valid: Untuk informasi selengkapnya tentang pemanggilan alat paralel, lihat Pemanggilan alat paralel. Dalam SDK Java, parameter ini bernama parallelToolCalls. Saat Anda melakukan panggilan menggunakan HTTP, letakkan parallel_tool_calls dalam objek parameters. |