リクエストボディ | テキスト入力Pythonimport os
import dashscope
# 以下はシンガポールリージョンの base_url です。呼び出しを行う際は、{WorkspaceId} を実際のワークスペース ID に置き換えてください。リージョンによって URL は異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'You are a helpful assistant.'},
{'role': 'user', 'content': 'Who are you?'}
]
response = dashscope.Generation.call(
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
# シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-plus", # この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
messages=messages,
result_format='message'
)
print(response)
Java// DashScope SDK V2.12.0 以降の使用を推奨します。
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 {
// 以下はシンガポールリージョンの base_url です。呼び出しを行う際は、{WorkspaceId} を実際のワークスペース ID に置き換えてください。リージョンによって URL は異なります。
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.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()
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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) {
// ロギングフレームワークを使用して例外情報を記録します。
System.err.println("An error occurred while calling the generation service: " + e.getMessage());
}
System.exit(0);
}
}
PHP (HTTP)<?php
$url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
$apiKey = getenv('DASHSCOPE_API_KEY');
$data = [
// この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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 は Node.js 環境向けの SDK を提供していません。OpenAI Node.js SDK を使用して呼び出しを行うには、このトピックの OpenAI セクションをご参照ください。 import fetch from 'node-fetch';
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
const apiKey = process.env.DASHSCOPE_API_KEY;
const data = {
model: "qwen-plus", // この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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://{WorkspaceId}.ap-southeast-1.maas.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)
{
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: string? apiKey = "sk-xxx";
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("The API key is not set. Make sure that the 'DASHSCOPE_API_KEY' environment variable is set.");
return;
}
// リクエスト URL とコンテンツを設定します。
string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation";
// この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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""
}
}";
// リクエストを送信し、レスポンスを取得します。
string result = await SendPostRequestAsync(url, jsonContent, apiKey);
// 結果を出力します。
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"))
{
// リクエストヘッダーを設定します。
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey);
httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
// リクエストを送信し、レスポンスを取得します。
HttpResponseMessage response = await httpClient.PostAsync(url, content);
// レスポンスを処理します。
if (response.IsSuccessStatusCode)
{
return await response.Content.ReadAsStringAsync();
}
else
{
return $"Request failed: {response.StatusCode}";
}
}
}
}
Go (HTTP)DashScope は Go 用の SDK を提供していません。OpenAI Go SDK を使用して呼び出しを行うには、このトピックの OpenAI-Go セクションをご参照ください。 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() {
// HTTP クライアントを作成します。
client := &http.Client{}
// リクエストボディを構築します。
requestBody := RequestBody{
// この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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)
}
// POST リクエストを作成します。
req, err := http.NewRequest("POST", "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/text-generation/generation", bytes.NewBuffer(jsonData))
if err != nil {
log.Fatal(err)
}
// リクエストヘッダーを設定します。
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: apiKey := "sk-xxx"
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
apiKey := os.Getenv("DASHSCOPE_API_KEY")
req.Header.Set("Authorization", "Bearer "+apiKey)
req.Header.Set("Content-Type", "application/json")
// リクエストを送信します。
resp, err := client.Do(req)
if err != nil {
log.Fatal(err)
}
defer resp.Body.Close()
// レスポンスボディを読み取ります。
bodyText, err := io.ReadAll(resp.Body)
if err != nil {
log.Fatal(err)
}
// レスポンスコンテンツを出力します。
fmt.Printf("%s\n", bodyText)
}
curl{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
シンガポール、米国 (バージニア)、および中国 (北京) リージョンの API キーは異なります。詳細については、「API キーの取得 curl --location "https://{WorkspaceId}.ap-southeast-1.maas.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"
}
}'
ストリーミング出力詳細については、「ストリーミング出力」をご参照ください。 テキスト生成モデルPythonimport os
import dashscope
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
{'role':'system','content':'you are a helpful assistant'},
{'role': 'user','content': 'Who are you?'}
]
responses = dashscope.Generation.call(
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
# シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key=os.getenv('DASHSCOPE_API_KEY'),
# この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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()
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// この例では qwen-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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 {
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.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);
}
}
curlcurl --location "https://{WorkspaceId}.ap-southeast-1.maas.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
}
}'
マルチモーダルモデルPythonimport os
from dashscope import MultiModalConversation
import dashscope
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.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(
# シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx",
api_key=os.getenv("DASHSCOPE_API_KEY"),
model='qwen3-vl-plus', # これを別のマルチモーダルモデルに置き換え、それに応じてメッセージを修正できます。
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 {
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
public static void streamCall()
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("text", "What is depicted in the image?"))).build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// シンガポール/米国 (バージニア) と中国 (北京) リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model("qwen3-vl-plus") // これを別のマルチモーダルモデルに置き換え、それに応じてメッセージを修正できます。
.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();
// コンテンツが存在し、空でないことを確認します。
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);
}
}
curlcurl -X POST https://{WorkspaceId}.ap-southeast-1.maas.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
}
}'
画像入力大規模言語モデル (LLM) を使用して画像を分析する方法の詳細については、「画像と動画の理解」をご参照ください。 Pythonimport os
import dashscope
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.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(
# シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key=os.getenv('DASHSCOPE_API_KEY'),
# この例では qwen-vl-max を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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://{WorkspaceId}.ap-southeast-1.maas.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()
// 環境変数を設定していない場合は、次の行を .apiKey("sk-xxx") に置き換え、Model Studio API キーを使用してください。
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// この例では qwen-vl-plus を使用します。必要に応じて、別のモデル名に置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/getting-started/models をご参照ください
.model("qwen-vl-plus")
.message(userMessage)
.build();
MultiModalConversationResult result = conv.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
simpleMultiModalConversationCall();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
curl{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
シンガポール、米国 (バージニア)、および中国 (北京) リージョンの API キーは異なります。API キーを取得するには、「API キーの取得 curl --location 'https://{WorkspaceId}.ap-southeast-1.maas.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?"}
]
}
]
}
}'
動画入力以下の例は、ビデオフレームを入力する方法を示しています。動画ファイルの入力など、他の方法の詳細については、「視覚理解」をご参照ください。 Pythonimport os
# DashScope SDK のバージョンは 1.20.10 以降である必要があります。
import dashscope
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [{"role": "user",
"content": [
# Qwen2.5-VL シリーズのモデルを使用し、画像のリストを入力する場合、fps パラメーターを設定できます。このパラメーターは、元の動画から 1/fps 秒ごとに画像が抽出されることを指定します。
{"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 events in this video"}]}]
response = dashscope.MultiModalConversation.call(
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
# シンガポール/バージニアと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key=os.getenv("DASHSCOPE_API_KEY"),
model='qwen-vl-max', # この例では qwen-vl-max を使用します。必要に応じて別のモデル名に置き換えてください。モデルのリストについては、https://www.alibabacloud.com/help/model-studio/models をご参照ください
messages=messages
)
print(response["output"]["choices"][0]["message"].content[0]["text"])
Java// DashScope SDK のバージョンは 2.18.3 以降である必要があります。
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 {
Constants.baseHttpApiUrl="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1";
}
private static final String MODEL_NAME = "qwen-vl-max"; // この例では qwen-vl-max を使用します。必要に応じて別のモデル名に置き換えてください。モデルのリストについては、https://www.alibabacloud.com/help/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();
// Qwen2.5-VL シリーズのモデルを使用し、画像のリストを入力する場合、fps パラメーターを設定できます。このパラメーターは、元の動画から 1/fps 秒ごとに画像が抽出されることを指定します。
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 events in this video")))
.build();
MultiModalConversationParam param = MultiModalConversationParam.builder()
// 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: .apiKey("sk-xxx")
// シンガポール/バージニアと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
.model(MODEL_NAME)
.messages(Arrays.asList(systemMessage, userMessage)).build();
MultiModalConversationResult result = conv.call(param);
System.out.print(result.getOutput().getChoices().get(0).getMessage().getContent().get(0).get("text"));
}
public static void main(String[] args) {
try {
videoImageListSample();
} catch (ApiException | NoApiKeyException | UploadFileException e) {
System.out.println(e.getMessage());
}
System.exit(0);
}
}
curl{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
シンガポール、米国 (バージニア)、および中国 (北京) リージョンの API キーは異なります。詳細については、「API キーの取得 curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1/services/aigc/multimodal-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-vl-max",
"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 events in this video"
}
]
}
]
}
}'
Tool Calling関数呼び出しフローの完全なコードについては、「概要」をご参照ください。 Pythonimport os
import dashscope
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
tools = [
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful for getting the current time.",
"parameters": {}
}
},
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful for getting the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city or district, such as Beijing, Hangzhou, or Yuhang District."
}
}
},
"required": [
"location"
]
}
}
]
messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}]
response = dashscope.Generation.call(
# 環境変数を設定していない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
# シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key=os.getenv('DASHSCOPE_API_KEY'),
# この例では qwen-plus を使用します。必要に応じて別のモデルに置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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("Gets the weather for a specified area")
.parameters(JsonUtils.parseString(jsonSchema_weather.toString()).getAsJsonObject()).build();
FunctionDefinition fdTime = FunctionDefinition.builder().name("get_current_time").description("Gets 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()
// シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// この例では qwen-plus を使用します。必要に応じて別のモデルに置き換えることができます。モデルのリストについては、https://www.alibabacloud.com/help/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();
// 以下はシンガポールリージョンのベース URL です。呼び出しを行う際は、{WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1");
GenerationResult result = gen.call(param);
System.out.println(JsonUtils.toJson(result));
}
public static void main(String[] args) {
try {
SelectTool();
} catch (ApiException | NoApiKeyException | InputRequiredException e) {
System.out.println(String.format("Exception %s", e.getMessage()));
}
System.exit(0);
}
}
curl{WorkspaceId} を実際の ワークスペース ID に置き換えてください。
シンガポール、米国 (バージニア)、および中国 (北京) リージョンの API キーは異なります。詳細については、「API キーの取得 以下の URL はシンガポールリージョン用です。 curl --location "https://{WorkspaceId}.ap-southeast-1.maas.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 getting the current time.",
"parameters": {}
}
},{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful for getting the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "The city or district, such as Beijing, Hangzhou, or Yuhang District."
}
}
},
"required": ["location"]
}
}]
}
}'
非同期呼び出し# Dashscope Python SDK はバージョン 1.19.0 以降である必要があります。
import asyncio
import platform
import os
import dashscope
from dashscope.aigc.generation import AioGeneration
# 以下の base_url はシンガポールリージョン用です。{WorkspaceId} を実際のワークスペース ID に置き換えてください。URL はリージョンによって異なります。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
async def main():
response = await AioGeneration.call(
# 環境変数を設定しない場合は、次の行を api_key="sk-xxx" に置き換えてください。sk-xxx は Model Studio API キーです。
# シンガポール、バージニア、北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください
api_key=os.getenv('DASHSCOPE_API_KEY'),
# この例では qwen-plus モデルを使用します。必要に応じてモデル名を変更できます。モデルのリストについては、https://www.alibabacloud.com/help/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())
ドキュメント理解Pythonimport os
import dashscope
# 現在、qwen-long-latest モデルは中国 (北京) リージョンでのみ呼び出すことができます。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'you are a helpful assistant'},
# '{FILE_ID}' を実際の会話シナリオで使用される file-id に置き換えてください。
{'role':'system','content':f'fileid://{FILE_ID}'},
{'role': 'user', 'content': 'What is this article about?'}]
response = dashscope.Generation.call(
# 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-long-latest",
messages=messages,
result_format='message'
)
print(response)
Javaimport os
import dashscope
# 現在、qwen-long-latest モデルは中国 (北京) リージョンでのみ呼び出すことができます。
dashscope.base_http_api_url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'you are a helpful assistant'},
# '{FILE_ID}' を実際の会話シナリオで使用される file-id に置き換えてください。
{'role':'system','content':f'fileid://{FILE_ID}'},
{'role': 'user', 'content': 'What is this article about?'}]
response = dashscope.Generation.call(
# 環境変数が設定されていない場合は、次の行を Model Studio API キーに置き換えてください: api_key="sk-xxx"
api_key=os.getenv('DASHSCOPE_API_KEY'),
model="qwen-long-latest",
messages=messages,
result_format='message'
)
print(response)
curl現在、ドキュメント理解モデルの呼び出しは中国 (北京) リージョンのみがサポートしています。 {FILE_ID} を実際の会話シナリオで使用されるファイル ID に置き換えてください。 curl --location "https://{WorkspaceId}.ap-southeast-1.maas.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 (必須) 使用するモデルの名前。 サポートされているモデルには、Qwen 大規模言語モデル (商用およびオープンソース版)、Qwen-VL、Qwen-Coder、数学モデル、DeepSeek、Kimi、GLM、および MiniMax が含まれます。 特定のモデル名と請求明細については、「モデルの選択」をご参照ください。 |
messages array (必須) 大規模言語モデル (LLM) に渡すコンテキストを、対話形式で配置します。 HTTP 経由で呼び出す場合、messages は input オブジェクト内に配置します。 メッセージタイプ システムメッセージ object (任意) LLM のロール、トーン、タスク目標、または制約を設定するために使用されるシステムメッセージです。通常、messages 配列の最初に配置されます。 QwQ モデルにシステムメッセージを設定することは推奨しません。システムメッセージは QVQ モデルには効果がありません。 プロパティ content string (必須) メッセージのコンテンツ。 role string (必須) システムメッセージのロール。値は system に固定されています。 ユーザーメッセージ object (必須) モデルに質問、指示、またはコンテキストを渡すために使用されるユーザーメッセージ。 プロパティ content string または array (必須) メッセージのコンテンツ。入力がテキストのみの場合、このパラメーターは文字列です。入力に画像などのマルチモーダルデータが含まれる場合、または明示的なキャッシュが有効になっている場合、このパラメーターは配列です。 プロパティ image string (任意) 画像理解のための画像ファイル。画像は次の 3 つの方法のいずれかで渡すことができます: 適用モデル: Qwen-VL、QVQ 例: {"image":"https://xxxx.jpeg"} fps float (任意) 1 秒あたりに抽出するフレーム数。値は [0.1, 10] の範囲内である必要があります。デフォルト値は 2.0 です。 説明 `fps` パラメーターには 2 つの機能があります: より大きな fps 値は、スポーツイベントやアクション映画などの高速モーションシナリオに適しています。より小さな fps 値は、長い動画や比較的静的なコンテンツのシナリオに適しています。 例 画像リストの受け渡し: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2} 動画ファイルの受け渡し: {"video": "https://xx1.mp4","fps":2}
max_frames integer (任意) 動画から抽出できるフレームの最大数。fps に基づいて計算されたフレーム数が max_frames を超える場合、システムは max_frames の制限内で均等にフレームを抽出するように自動的に調整します。これにより、総フレーム数が制限を超えないようにします。 値の範囲 qwen3.7 シリーズ、qwen3.6 シリーズ、qwen3.5 シリーズ:最大値およびデフォルト値は 8000 です。 qwen3-vl-plus シリーズ、qwen3-vl-flash シリーズ、qwen3-vl-235b-a22b-thinking、qwen3-vl-235b-a22b-instruct:最大値およびデフォルト値は 2000 です。
qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:最大値およびデフォルト値は 512 です。
サンプル値 {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_frame": 2000}
OpenAI 互換 API で呼び出す場合、max_frames パラメーターをカスタマイズすることはできません。API は各モデルのデフォルト値を自動的に使用します。 min_pixels integer (任意) 入力画像またはビデオフレームの最小ピクセルしきい値を設定します。入力画像またはビデオフレームの総ピクセル数が min_pixels 未満の場合、その総ピクセル数が min_pixels を超えるまで画像またはフレームが拡大されます。 値の範囲 画像入力: Qwen3.7, Qwen3.6, Qwen3.5、Qwen3-VL:デフォルト値および最小値は 65536 です。
qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値および最小値は 4096 です。
その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値および最小値は 3136 です。
動画ファイルまたは画像リストの入力: Qwen3.7, Qwen3.6, Qwen3.5、Qwen3-VL (商用およびオープンソース版)、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値は 65536、最小値は 4096 です。
その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値は 50176、最小値は 3136 です。
例 画像入力: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"min_pixels": 65536} 動画ファイル入力: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"min_pixels": 65536} 画像リスト入力: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}
max_pixels integer (任意) 入力画像またはビデオフレームの最大ピクセルしきい値を設定します。入力画像またはビデオの総ピクセル数が [min_pixels, max_pixels] の範囲内にある場合、モデルは元の画像を認識します。入力画像の総ピクセル数が max_pixels を超える場合、総ピクセル数が max_pixels 未満になるまで画像が縮小されます。 例 画像入力: {"type": "image_url","image_url": {"url":"https://xxxx.jpg"},"max_pixels": 8388608} 動画ファイル入力: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"max_pixels": 655360} 画像リスト入力: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}
total_pixels integer (任意) 動画から抽出されたすべてのフレームの総ピクセル数 (単一フレームのピクセル数 × 総フレーム数) を制限します。動画の総ピクセル数がこの制限を超える場合、システムはビデオフレームを縮小しますが、単一フレームのピクセル値が [min_pixels, max_pixels] の範囲内にあることを保証します。これは Qwen-VL および QVQ モデルに適用されます。 抽出されたフレームが多い長い動画の場合、この値を適切に下げることでトークン消費と処理時間を削減できますが、画像の詳細が失われる可能性があります。 値の範囲 qwen3.7 シリーズ、qwen3.6 シリーズ、qwen3.5 シリーズ:デフォルト値および最大値は 819200000 です。この値は 800000 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。 qwen3-vl-plus シリーズ、qwen3-vl-flash シリーズ、qwen3-vl-235b-a22b-thinking、qwen3-vl-235b-a22b-instruct:デフォルト値および最大値は 134217728 です。この値は 131072 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。
その他の Qwen3-VL オープンソースモデル、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815:デフォルト値および最小値は 67108864 です。この値は 65536 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。 その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズモデル:デフォルト値および最小値は 51380224 です。この値は 65536 画像トークンに相当します (1 画像トークンあたり 28×28 ピクセル)。
例 動画ファイル入力: {"type": "video_url","video_url": {"url":"https://xxxx.mp4"},"total_pixels": 134217728} 画像リスト入力: {"type": "video","video": ["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}
cache_control object (任意) これは、明示的なキャッシュをサポートするモデルでのみサポートされます。明示的なキャッシュを有効にするために使用されます。 プロパティ type string (必須) 値は ephemeral である必要があります。 role 文字列 (必須) ユーザーメッセージのロールです。値は user である必要があります。 Assistant Message object (オプション) モデルからユーザーメッセージへの返信です。 プロパティ content string (オプション) メッセージのコンテンツです。 アシスタントメッセージで tool_calls パラメーターが指定されている場合にのみ、このパラメーターはオプションになります。 role string (必須) 値は assistant である必要があります。 partial boolean (オプション) 部分補完モードを有効にするかどうかを指定します。 詳細およびサポートされているモデルのリストについては、「部分補完モード」をご参照ください。 tool_calls array (オプション) 関数呼び出しを開始した後に返されるツールと入力パラメーターの情報です。 1 つ以上のオブジェクトが含まれます。 これは、前のモデル応答の tool_calls フィールドから取得されます。 プロパティ type string ツールタイプです。 現在、function のみサポートされています。 function object ツールと入力パラメーターの情報です。 プロパティ arguments string JSON 文字列形式の入力パラメーター情報です。 index integer tool_calls 配列内での現在のツール情報のインデックスです。
Tool Message object (任意) ツールの出力情報です。 プロパティ content string (必須) ツール関数の出力コンテンツです。文字列フォーマットである必要があります。 role string (必須) 値は tool である必要があります。 tool_call_id string (任意) 関数呼び出しを開始した後に返される ID です。response.output.choices[0].message.tool_calls[$index]["id"] を使用して取得できます。この ID は、ツールメッセージに対応するツールを識別するために使用されます。 |
temperature float (任意) サンプリング温度。モデルによって生成されるテキストの多様性を制御します。 温度が高いほど多様なテキストが生成され、低いほど決定論的なテキストが生成されます。 有効値: [0, 2) HTTP 経由で呼び出す場合、temperature は parameters オブジェクト内に配置します。 QVQ モデルのデフォルトの温度値を変更することは推奨しません。 |
top_p float (任意) 核サンプリングの確率しきい値。モデルによって生成されるテキストの多様性を制御します。 `top_p` の値が高いほど多様なテキストが生成され、低いほど決定論的なテキストが生成されます。 有効範囲: (0, 1.0]. Java SDK では、このパラメーターは topP です。HTTP 経由で呼び出す場合、top_p は parameters オブジェクト内に配置します。 QVQ モデルのデフォルトの `top_p` 値を変更することは推奨しません。 |
top_k integer (任意) 生成中のサンプリングのためのサンプル候補セットのサイズ。たとえば、このパラメーターを 50 に設定すると、単一の生成で最もスコアの高い 50 個のトークンのみがランダムサンプリングのサンプル候補セットを形成するために使用されます。値が大きいほどランダム性が増し、小さいほど決定論的になります。`None` または 100 より大きい値は、`top_k` 戦略が有効になっておらず、`top_p` 戦略のみが有効であることを示します。 値は 0 以上である必要があります。 デフォルトの top_k 値 QVQ シリーズ:10 QwQ シリーズ:40 qwen-vl-plus シリーズの残りのモデルより前のモデル、:1 その他すべてのモデル:20 GLM シリーズ (Alibaba Cloud 提供):20 DeepSeek、Kimi、および MiniMax シリーズは `top_k` パラメーターをサポートしていません。 Java SDK では、このパラメーターは topK です。HTTP 経由で呼び出す場合、top_k は parameters オブジェクト内に配置します。 QVQ モデルのデフォルトの `top_k` 値を変更することは推奨しません。 |
enable_thinking boolean (任意) ハイブリッド思考モデルの思考モードを有効にするかどうかを指定します。これは、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3、および Qwen3-VL モデル、ならびに DeepSeek-V4-Pro/V4-Flash シリーズ、DeepSeek-V3.2/V3.2-exp/V3.1 シリーズ、Kimi-K2.6/K2.5 シリーズ、および GLM シリーズに適用されます。DeepSeek-V4 シリーズでは、思考モードがデフォルトで有効になっています。reasoning_effort パラメーターで推論の労力を調整できます。 有効値: true:この機能は有効です。
有効にすると、思考内容は reasoning_content フィールドで返されます。 false:無効
さまざまなモデルのデフォルト値については、「サポートされているモデル」をご参照ください。 Java SDK では、このパラメーターは `enableThinking` です。HTTP 経由で呼び出す場合、enable_thinking は parameters オブジェクト内に配置します。 |
preserve_thinking boolean (任意) デフォルト値は false です。 会話履歴のアシスタントメッセージから reasoning_content をモデル入力に追加するかどうかを指定します。これは、モデルが過去の思考プロセスを参照する必要があるシナリオに適しています。 現在、qwen3.7-max、qwen3.7-max-2026-05-20 およびそれ以降のスナップショット、qwen3.6-max-preview、qwen3.7-plus、qwen3.7-plus-2026-05-26、qwen3.6-plus、qwen3.6-plus-2026-04-02、qwen3.6-flash、qwen3.6-flash-2026-04-16、kimi-k2.6 (Alibaba Cloud Model Studio にデプロイ)、kimi-k2.7-code (Alibaba Cloud Model Studio にデプロイ、デフォルトで有効)、kimi/kimi-k2.7-code-highspeed (Moonshot AI 提供、デフォルトで有効)、および kimi/kimi-k2.7-code (Moonshot AI 提供、デフォルトで有効) でサポートされています。 HTTP 経由で呼び出す場合、preserve_thinking は parameters オブジェクト内に配置します。Java SDK はサポートされていません。 |
thinking_budget integer (任意) 思考プロセスの最大長。これは、Qwen3.7、Qwen3.6、Qwen3.5、Qwen3-VL、および Qwen3 モデルの商用版およびオープンソース版に適用されます。詳細については、「思考長の制限」をご参照ください。 デフォルト値は、モデルの最大 Chain-of-Thought 長です。詳細については、「モデルの選択」をご参照ください。 Java SDK では、このパラメーターは `thinkingBudget` です。HTTP 経由で呼び出す場合、thinking_budget は parameters オブジェクト内に配置します。 デフォルト値は、モデルの最大 Chain-of-Thought 長です。 |
reasoning_effort string (任意) デフォルト値は high です。 DeepSeek-V4 および GLM シリーズモデルの推論労力を制御します。有効な値は high (高労力推論) および max (最大労力推論) です。`low` および `medium` は `high` にマッピングされ、`xhigh` は `max` にマッピングされます。 これは、glm-5.2、glm-5.1、glm-5、deepseek-v4-pro、および deepseek-v4-flash に適用されます。 HTTP 経由で呼び出す場合、reasoning_effort は parameters オブジェクト内に配置します。 |
tool_stream boolean (任意) デフォルト値は false です。 このパラメーターは、複雑なツールパラメーターのストリーミング出力動作にのみ影響し、ストリーミング呼び出しでのみ有効です。すべてのパラメータータイプが文字列である単純なツールパラメーターは、ストリーミング呼び出しが有効である限りストリーミングできます。tool_stream はそれらに影響を与えません。複雑なツールとは、ツール定義の一部のパラメータータイプが配列またはオブジェクトであるツールです。現在、Qwen および GLM シリーズのみがこれをサポートしています。 Qwen シリーズのサポートリスト: Qwen シリーズの使用法リファレンス: 複雑なツールとは、ツール定義の一部のパラメータータイプが配列またはオブジェクトであるツールです。 GLM シリーズのサポートリスト: glm-4.6、glm-4.7、glm-5、および glm-5.1。 GLM シリーズの使用法リファレンス: HTTP 経由で呼び出す場合、tool_stream は parameters オブジェクト内に配置します。 |
enable_code_interpreter boolean (任意) デフォルト値は false です。 コードインタープリター機能を有効にするかどうかを指定します。詳細については、「コードインタープリター」をご参照ください。 有効値: true:機能を有効にします。
false:機能を無効にします。
Java SDK はサポートされていません。HTTP 経由で呼び出す場合、enable_code_interpreter は parameters オブジェクト内に配置します。 |
clear_thinking boolean (任意) デフォルト値は `false` です。 マルチターン対話において、モデルのコンテキスト入力として前のターンの reasoning_content (思考プロセス) を使用するかどうかを制御します。これは、GLM シリーズモデル glm-5.2、glm-5.1、glm-5、および glm-4.7 のみでサポートされています。 true:機能を有効にします。これにより、前のターンの reasoning_content が無視され、表示可能なテキスト、ツール呼び出し、および結果のみがコンテキスト入力として使用されます。これにより、コンテキストの長さとコストを削減できます。
false (デフォルト):機能を無効にします。これにより、前のターンの reasoning_content が保持され、コンテキストとともにモデルに提供されます。保存された思考を有効にしたい場合は、履歴の reasoning_content を完全、無修正、元の順序でメッセージに渡す必要があります。欠落、トリミング、書き換え、または並べ替えは、パフォーマンスを低下させるか、機能が有効にならない原因となります。
|
repetition_penalty float (任意) モデル生成中の連続するシーケンスの繰り返しに対するペナルティ。`repetition_penalty` の値が高いほど、モデルの出力における繰り返しを減らすことができます。値 1.0 はペナルティなしを示します。値は 0 より大きい必要があります。 Java SDK では、このパラメーターは repetitionPenalty です。HTTP 経由で呼び出す場合、repetition_penalty は parameters オブジェクト内に配置します。 qwen-vl-plus_2025-01-25 モデルをテキスト抽出に使用する場合、`repetition_penalty` を 1.0 に設定することを推奨します。 QVQ モデルのデフォルトの `repetition_penalty` 値を変更することは推奨しません。 |
presence_penalty float (任意) モデルがテキストを生成する際のコンテンツの繰り返しを制御します。 有効値: [-2.0, 2.0]。正の値は繰り返しを減らし、負の値は増やします。 クリエイティブライティングやブレインストーミングなど、多様性、楽しさ、創造性が求められるシナリオでは、この値を増やすことができます。技術文書やフォーマルなテキストなど、一貫性と用語の正確性が重視されるシナリオでは、この値を減らすことができます。 デフォルトの presence_penalty 値 Qwen3.7 (ノンシンキングモード)、Qwen3.6 (ノンシンキングモード)、Qwen3.5-Omni、Qwen3.5 (ノンシンキングモード)、qwen3-max-preview (思考モード)、Qwen3 (ノンシンキングモード)、Qwen3-Instruct シリーズ/1.7b/4b (思考モード)、QVQ シリーズ、qwen-max、qwen2.5-vl シリーズ、qwen-vl-max シリーズ、qwen-vl-plus、Qwen3-VL (ノンシンキング):1.5; qwen3-8b/14b/32b/30b-a3b/235b-a22b (思考モード)、qwen-plus/qwen-plus-latest/2025-04-28 (思考モード)、qwen-turbo/qwen-turbo/2025-04-28 (思考モード):0.5; その他すべては 0.0 です。 DeepSeek シリーズ (Alibaba Cloud 提供):deepseek-r1、deepseek-r1-0528、deepseek-r1-distill-qwen 蒸留版:1; Kimi シリーズ (Alibaba Cloud 提供):kimi-k2.7-code、kimi-k2.6、kimi-k2.5:0.0; Kimi シリーズ (Moonshot AI 提供):0.0; MiniMax シリーズ (Alibaba Cloud 提供):MiniMax-M2.5、MiniMax-M2.1:0.0; その他の DeepSeek、Kimi、GLM、および MiniMax モデルにはデフォルト値がありません。 仕組み パラメーター値が正の場合、モデルはテキスト内に既に存在するトークンにペナルティを適用します。ペナルティはトークンの出現回数とは関係ありません。これにより、これらのトークンが再出現する可能性が減少し、コンテンツの繰り返しが減り、単語の多様性が増します。 例 プロンプト: 次の文を中国語に翻訳してください: 「この映画は良いです。プロットも良く、演技も良く、音楽も良く、そして全体的に、映画全体がとにかく良いのです。実際、本当に良いです。プロットはとても良く、演技もとても良く、音楽もとても良いのです。」 パラメーター値 2.0:この映画は素晴らしいです。プロットは素晴らしく、演技は最高で、音楽も非常に美しいです。全体として、映画全体が信じられないほどです。実際、本当に傑出しています。ストーリーラインは非常にエキサイティングで、パフォーマンスは素晴らしく、サウンドトラックはとても感動的です。 パラメーター値 0.0:この映画は良いです。プロットは良く、演技は良く、音楽も良いです。全体として、映画全体が非常に良いです。実際、本当に素晴らしいです。プロットは非常に良く、演技も非常に優れており、音楽も同様に傑出しています。 パラメーター値 -2.0:この映画は良いです。プロットは良く、演技は良く、音楽も良いです。全体として、映画全体が良いです。実際、本当に良いです。プロットは非常に良く、演技は非常に良く、音楽も非常に良いです。 qwen-vl-plus モデルをテキスト抽出に使用する場合、presence_penalty を 1.5 に設定します。 QVQ モデルのデフォルトの presence_penalty 値は変更しないでください。 Java SDK はこのパラメーターの設定をサポートしていません。HTTP 経由で呼び出す場合、presence_penalty は parameters オブジェクト内に配置します。 |
vl_high_resolution_images boolean (任意) デフォルト値: false 入力画像のピクセル制限を 16384 トークンに対応するピクセル数に増やすかどうかを指定します。詳細については、「高解像度画像の処理」をご参照ください。 vl_high_resolution_images: true は固定解像度戦略を使用し、max_pixels 設定を無視します。解像度を超えた場合、画像の総ピクセル数はこの制限内に収まるように縮小されます。
各モデルのピクセル制限を表示するにはクリック vl_high_resolution_images が True の場合、ピクセル制限はモデルによって異なります:
Qwen3.7 シリーズ、Qwen3.6 シリーズ、Qwen3.5 シリーズ、Qwen3-VL シリーズ、qwen-vl-max、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-0815、および モデルの場合、値は 16777216 です。(各 Token は 32*32 ピクセルに対応します。合計値は 16384*32*32 として計算されます。) QVQ シリーズ、その他の Qwen2.5-VL シリーズ モデル:12845056 (1 token は 28*28 ピクセルに対応し、これは 16384*28*28 です)
vl_high_resolution_images が false の場合、ピクセル制限は max_pixels によって決定されます。入力画像のピクセル数が max_pixels を超える場合、画像は max_pixels の制限内に収まるように縮小されます。各モデルのデフォルトのピクセル制限は、max_pixels のデフォルト値です。
Java SDK では、このパラメーターは vlHighResolutionImages (V2.20.8 以降が必要) です。HTTP 経由で呼び出す場合、vl_high_resolution_images は parameters オブジェクト内に配置します。 |
vl_enable_image_hw_output boolean (任意) デフォルト値は false です。 縮小された画像のディメンションを返すかどうかを指定します。モデルは入力画像を縮小します。このパラメーターを `True` に設定すると、縮小された画像の高さと幅が返されます。ストリーミング出力が有効になっている場合、この情報は最後のチャンクで返されます。これは Qwen-VL モデルでサポートされています。 Java SDK では、このパラメーターは vlEnableImageHwOutput です。必要な最小 Java SDK バージョンは 2.20.8 です。HTTP 経由で呼び出す場合、vl_enable_image_hw_output は parameters オブジェクト内に配置します。 |
max_tokens integer (任意、非推奨予定) このパラメーターは非推奨になります。新しい統合では、max_completion_tokens を使用してください。 モデルの回答の最大長。Chain-of-Thought の内容は除外されます。つまり、モデルの回答 = モデルの出力 – Chain-of-Thought (もしあれば)。 デフォルト値と最大値は両方ともモデルの最大出力長です。 モデルの回答がこの値を超えると、生成は早期に停止し、返される finish_reason は length になります。 Java SDK では、このパラメーターは maxTokens です。Qwen-VL モデルの場合、Java SDK では maxLength ですが、2.18.4 より後のバージョンでは `maxTokens` として設定することもサポートしています。HTTP 経由で呼び出す場合、max_tokens は parameters オブジェクト内に配置します。 |
max_completion_tokens integer (任意) Chain-of-Thought とモデルの回答を含む、モデルの出力の最大長。モデルの出力がこの値を超えると、生成は早期に停止し、返される finish_reason は length になります。 デフォルト値と最大値は両方ともモデルの最大出力長です。 max_tokens との違い:max_completion_tokens は完全なモデル出力 (Chain-of-Thought + 回答) を制限しますが、max_tokens は回答部分のみを制限します。思考モデルには、max_completion_tokens を使用することを推奨します。
以下のモデルがサポートされています: Qwen Max:Qwen3.7-Max およびそれ以降のモデル Qwen Plus:Qwen3.5-Plus およびそれ以降のモデル Qwen Flash:Qwen3.5-Flash およびそれ以降のモデル Kimi:kimi-k2.5 およびそれ以降のモデル GLM:glm-5 およびそれ以降のモデル MiniMax:MiniMax-M2.5 およびそれ以降のモデル DeepSeek:deepseek-v3、deepseek-r1、deepseek-r1-0528、deepseek-v3.1、deepseek-v3.2、deepseek-v3.2-exp、deepseek-v4-pro、deepseek-v4-flash、およびそれ以降のモデル
上記のモデルリストには、第三者から直接提供されるモデルは含まれていません。 実際の出力トークン数と指定された max_completion_tokens 値との間に最大 10 トークンの差がある場合があります。 Java SDK は現在このパラメーターをサポートしていません。HTTP 経由で呼び出す場合、max_completion_tokens は parameters オブジェクト内に配置します。 |
seed integer (任意) 乱数シード。このパラメーターは、同じ入力とパラメーターで再現可能な結果を保証するために使用されます。呼び出しで同じ seed 値を渡し、他のパラメーターが変更されない場合、モデルは可能な限り同じ結果を返します。 有効値: [0,2<sup>31</sup>−1]。 HTTP 経由で呼び出す場合、seed は parameters オブジェクト内に配置します。 |
stream boolean (任意) デフォルト値は false です。 返信をストリーミングするかどうかを指定します。有効な値は次のとおりです: このパラメーターは Python SDK でのみサポートされています。Java SDK でストリーミング出力を実装するには、streamCall インターフェイスを呼び出します。HTTP 経由でストリーミング出力を実装するには、ヘッダーで X-DashScope-SSE を enable として指定します。 Qwen3 商用版 (思考モード)、Qwen3 オープンソース版、QwQ、および QVQ はストリーミング出力のみをサポートします。 |
incremental_output boolean (任意) デフォルトは false です。Qwen3-Max、Qwen3-VL、Qwen3 オープンソース版、QwQ、および QVQ モデルの場合、デフォルトは true です。 ストリーミング出力モードで増分出力を有効にするかどうかを指定します。このパラメーターを true に設定することを推奨します。 値: false:各出力には、これまでに生成されたシーケンス全体が含まれます。最後の出力が完全な生成結果です。 I
I like
I like apple
I like apple.
true (推奨):出力は増分です。後続の出力には、以前に出力されたコンテンツは含まれません。完全な結果を得るには、これらのチャンクをリアルタイムで 1 つずつ読み取る必要があります。 I
like
apple
.
Java SDK では、このパラメーターは incrementalOutput です。HTTP 経由で呼び出す場合、incremental_output は parameters オブジェクト内に配置します。 QwQ モデルと思考モードの Qwen3 モデルは、このパラメーターを true に設定することのみをサポートします。Qwen3 商用版モデルのデフォルト値は false であるため、思考モードでは手動で true に設定する必要があります。 Qwen3 オープンソース版モデルは、このパラメーターを false に設定することをサポートしていません。 |
response_format object (任意) デフォルト値は {"type": "text"} です。 返されるコンテンツのフォーマット。有効な値は次のとおりです: 詳細については、「構造化出力」をご参照ください。 サポートされているモデルの一覧については、「サポートされているモデル」をご参照ください。 {"type": "json_object"} を指定する場合、プロンプトでモデルに JSON を出力するように明示的に指示する必要があります (例:「JSON 形式で出力してください」)。そうしないと、エラーが発生します。
Java SDK では、このパラメーターは `responseFormat` です。HTTP 経由で呼び出す場合、response_format は parameters オブジェクト内に配置します。 プロパティ type string (必須) 返されるコンテンツのフォーマット。有効な値は次のとおりです: |
result_format string (任意) デフォルトは text です。Qwen3-Max、Qwen3-VL、QwQ モデル、Qwen3 オープンソースモデル (qwen3-next-80b-a3b-instruct を除く)の場合、デフォルトは `message` です。 返されるデータのフォーマット。マルチターン対話を容易にするために、このパラメーターを message に設定することを推奨します。 プラットフォームは後でデフォルト値を message に統一します。 Java SDK では、このパラメーターは resultFormat です。HTTP 経由で呼び出す場合、result_format は parameters オブジェクト内に配置します。 モデルが Qwen-VL、QVQ の場合、値を text に設定しても効果はありません。 Qwen3-Max、Qwen3-VL、および Qwen3 モデルは、思考モードでは message にのみ設定できます。Qwen3 商用版モデルのデフォルト値は text であるため、message に設定する必要があります。 Java SDK を使用して Qwen3 オープンソースモデルを呼び出し、text を渡した場合、応答は message 形式で返されます。 |
logprobs boolean (任意) デフォルト値は false です。 出力トークンの対数確率を返すかどうかを指定します。有効な値は次のとおりです: 以下のモデルがサポートされています: qwen-plus シリーズのスナップショットモデル (安定版モデルを除く) qwen-turbo シリーズのスナップショットモデル (安定版モデルを除く) qwen3-vl-plus シリーズ (安定版モデルを含む) qwen3-vl-flash シリーズ (安定版モデルを含む) Qwen3 オープンソースモデル
HTTP 経由で呼び出す場合、logprobs は parameters オブジェクト内に配置します。 |
top_logprobs integer (任意) デフォルト値は 0 です。 各生成ステップで返す最も可能性の高い候補トークンの数を指定します。 有効値: [0, 5] このパラメーターは、logprobs が true の場合にのみ有効です。 Java SDK では、このパラメーターは topLogprobs です。HTTP 経由で呼び出す場合、top_logprobs は parameters オブジェクト内に配置します。 |
n integer (任意) デフォルト値は 1 です。 生成する応答の数。有効値は 1-4 です。クリエイティブライティングや広告コピーなど、複数の応答を生成する必要があるシナリオでは、より大きな `n` 値を設定できます。 現在、Qwen3 (ノンシンキングモード) モデルのみがサポートされています。`tools` パラメーターが渡された場合、値は 1 に固定されます。 より大きな `n` 値を設定しても入力トークンの消費は増加しませんが、出力トークンの消費は増加します。 HTTP 経由で呼び出す場合、n は parameters オブジェクト内に配置します。 |
stop string または array (任意) ストップワードを指定するために使用されます。stop で指定された文字列または token_id が生成されたテキストに現れると、生成は即座に停止します。 モデルの出力を制御するために禁止用語を渡すことができます。 stop が配列の場合、token_id と文字列の両方を要素として入力することはできません。たとえば、["Hello",104307] を指定することはできません。 HTTP 経由で呼び出す場合、stop は parameters オブジェクト内に配置します。 |
tools array (任意) 関数呼び出し中にモデルが呼び出すための 1 つ以上のツールオブジェクトを含む配列。詳細については、「関数呼び出し」をご参照ください。 tools を使用する場合、result_format を message に設定する必要があります。
関数呼び出しを開始するか、ツール実行結果を送信する場合、tools パラメーターを設定する必要があります。 プロパティ type string (必須) ツールの種類。現在、function のみがサポートされています。 function object (必須) プロパティ name string (必須) ツール関数の名前。文字と数字で構成され、アンダースコアとハイフンを含めることができます。最大長は 64 文字です。 description string (必須) ツール関数の説明。モデルがいつ、どのようにツール関数を呼び出すかを選択するのに役立ちます。 parameters object (任意) デフォルト値は {} です。 ツールのパラメーターの説明。有効な JSON スキーマである必要があります。JSON スキーマの説明については、このリンクをご参照ください。parameters パラメーターが空の場合、時間クエリツールなど、ツールに入力パラメーターがないことを意味します。 ツール呼び出しの精度を向上させるために、parameters を渡すことを推奨します。 HTTP 経由で呼び出す場合、tools は parameters オブジェクト内に配置します。これは、qwen-vl シリーズモデルでは一時的にサポートされていません。 |
tool_choice string または object (任意) デフォルト値は auto です。 ツール選択戦略。このパラメーターを設定して、特定の種類の問題に対してツール呼び出しメソッドを強制することができます。たとえば、常に特定のツールを使用するか、すべてのツールを無効にするなどです。 auto
LLM はツール戦略を自律的に選択します。 none
特定のリクエストでツール呼び出しを一時的に無効にしたい場合は、tool_choice パラメーターを none に設定できます。 {"type": "function", "function": {"name": "the_function_to_call"}}
特定のツールへの呼び出しを強制したい場合は、tool_choice パラメーターを {"type": "function", "function": {"name": "the_function_to_call"}} に設定できます。ここで、the_function_to_call は指定されたツール関数の名前です。 思考モードのモデルは、特定のツールへの呼び出しを強制することをサポートしていません。
Java SDK では、このパラメーターは toolChoice です。HTTP 経由で呼び出す場合、tool_choice は parameters オブジェクト内に配置します。 |
parallel_tool_calls boolean (任意) デフォルト値は false です。 並列ツール呼び出しを有効にするかどうかを指定します。 有効値: 並列ツール呼び出しの詳細については、「並列ツール呼び出し」をご参照ください。 Java SDK では、このパラメーターは parallelToolCalls です。HTTP 経由で呼び出す場合、parallel_tool_calls は parameters オブジェクト内に配置します。 |