リクエストボディ | テキスト入力Pythonimport os
import dashscope
dashscope.base_http_api_url = 'https://dashscope-intl.aliyuncs.com/api/v1'
# 上記の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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(
# 環境変数が設定されていない場合は、次の行を 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 バージョン 2.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 {
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
// 上記の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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()
// 環境変数が設定されていない場合は、次の行を 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 はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation に置き換えてください。
$url = "https://dashscope-intl.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://dashscope-intl.aliyuncs.com/api/v1/services/aigc/text-generation/generation', {
// 上記の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を 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)
{
// 環境変数が設定されていない場合は、次の行を 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("API key not set. Make sure the 'DASHSCOPE_API_KEY' environment variable is set.");
return;
}
// リクエスト URL とコンテンツを設定します。
// 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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";
// この例では 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 リクエストを作成します。
// 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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)
}
// リクエストヘッダーを設定します。
// 環境変数が設定されていない場合は、次の行を 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シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、「API キーの取得と設定 次の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を 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"
}
}'
ストリーミング出力詳細については、「ストリーミング出力」をご参照ください。 テキスト生成モデルPythonimport os
import dashscope
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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(
# 環境変数が設定されていない場合は、次の行を 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 {
// 次の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を 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# ======= 重要 =======
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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" \
--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
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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(
# シンガポールリージョンと北京リージョンの 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 {
// 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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();
// 可変マップを作成する必要があります。
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);
}
}
curl# ======= 重要 =======
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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' \
-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
}
}'
画像入力大規模モデルを使用して画像を分析する方法の詳細については、「視覚的理解」をご参照ください。 Pythonimport os
import dashscope
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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(
# シンガポールリージョンと北京リージョンの API キーは異なります。API キーを取得するには、https://www.alibabacloud.com/help/model-studio/get-api-key をご参照ください。
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation に置き換えてください。
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://dashscope-intl.aliyuncs.com/api/v1"; // 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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()
// 環境変数が設定されていない場合は、次の行を Model Studio API キーを使用して .apiKey("sk-xxx") に置き換えてください。
// 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を https://dashscope.aliyuncs.com/api/v1/services/aigc/text-generation/generation に置き換えてください。
.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シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、「API キーの取得と設定 次の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を 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?"}
]
}
]
}
}'
ビデオ入力次のコードは、ビデオフレームを渡す例です。ビデオファイルを渡すなど、他の使用方法の詳細については、「視覚的理解」をご参照ください。 Pythonimport os
# DashScope SDK バージョン 1.20.10 以降が必要です。
import dashscope
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
dashscope.base_http_api_url = 'https://dashscope-intl.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 specific process 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='qwen2.5-vl-72b-instruct', # この例では qwen2.5-vl-72b-instruct を使用しています。必要に応じてモデル名を置き換えることができます。モデルのリストについては、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 {
// 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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"; // この例では qwen2.5-vl-72b-instruct を使用しています。必要に応じてモデル名を置き換えることができます。モデルのリストについては、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 specific process 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シンガポールリージョンと北京リージョンの API キーは異なります。詳細については、「API キーの取得と設定 次の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を 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"
}
]
}
]
}
}'
ツール呼び出し関数呼び出しフローの完全なコードについては、「テキスト生成モデルの概要」をご参照ください。 Pythonimport os
import dashscope
# 次の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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(
# 環境変数が設定されていない場合は、次の行を 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("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()
// シンガポールリージョンと北京リージョンの 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();
Generation gen = new Generation(Protocol.HTTP.getValue(), "https://dashscope-intl.aliyuncs.com/api/v1");
// 上記の base_url はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を 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);
}
}
curlシンガポールリージョンと北京リージョンの API キーは異なります。詳細については、「API キーの取得と設定 次の URL はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、URL を 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"]
}
}]
}
}'
非同期呼び出し# Dashscope Python SDK のバージョンは 1.19.0 以降である必要があります。
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 はシンガポールリージョン用です。北京リージョンのモデルを使用する場合は、base_url を https://dashscope.aliyuncs.com/api/v1 に置き換えてください。
async def main():
response = await AioGeneration.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=[{"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://dashscope.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'you are a helpful assisstant'},
# '{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://dashscope.aliyuncs.com/api/v1'
messages = [
{'role': 'system', 'content': 'you are a helpful assisstant'},
# '{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://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 (必須) モデルの名前。 サポートされているモデルには、Qwen 大規模言語モデル (商用およびオープンソース)、Qwen-VL、Qwen-Coderが含まれます。 具体的なモデル名と課金情報については、モデルリストをご参照ください。 |
messages array (必須) 大規模言語モデルに渡すコンテキストを、会話の順序で配置します。 HTTP を使用して呼び出しを行う場合、messages は input オブジェクト内に配置してください。 メッセージタイプ System メッセージ object (任意) 大規模言語モデルのロール、トーン、タスクの目的、または制約を設定するシステムメッセージです。このメッセージは通常、messages 配列の先頭に配置されます。 QwQ モデルにシステムメッセージを設定することは推奨されません。QVQ モデルにシステムメッセージを設定しても効果はありません。 プロパティ content string (必須) メッセージの内容。 role string (必須) システムメッセージのロール。値は system に固定されています。 User メッセージ object (必須) モデルに質問、命令、またはコンテキストを渡すユーザーメッセージです。 プロパティ content string or array (必須) メッセージの内容。入力がテキストのみの場合は文字列、画像などのマルチモーダルデータを含む場合や明示的なキャッシュが有効な場合は配列になります。 プロパティ image string (任意) 画像理解のための画像ファイルを指定します。画像は以下の 3 つの方法のいずれかで渡すことができます。 適用モデル: Qwen-VL、QVQ 値の例: {"image":"https://xxxx.jpeg"} fps float (任意) 1 秒あたりに抽出するフレーム数。有効値: [0.1, 10]。デフォルト値: 2.0。 このパラメーターには 2 つの機能があります。 値の例は以下の通りです。 画像リスト入力: {"video":["https://xx1.jpg",...,"https://xxn.jpg"], "fps":2} 動画ファイル入力: {"video": "https://xx1.mp4", "fps":2}
fps 値が大きいほど、スポーツイベントやアクション映画などの高速な動きのシナリオに適しています。fps 値が小さいほど、長い動画や静的なシーンのあるコンテンツに適しています。
min_pixels integer (任意) 入力画像または動画フレームの最小ピクセルしきい値。入力画像または動画フレームが min_pixels より小さい場合、総ピクセル数が min_pixels を超えるまでスケールアップされます。 画像入力: 動画ファイルまたは画像シーケンス入力: モデル: Qwen-VL、QVQ 有効値: min_pixels の有効値 Qwen3-VL (商用およびオープンソース)、qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-0815: デフォルト値: 65536。最小値: 4096 その他の qwen-vl-plus、qwen-vl-max、オープンソース Qwen2.5-VL、および QVQ モデル: デフォルト値: 50176。最小値: 3136
値の例: 動画入力: {"video":"https://xxxx.mp4","min_pixels": 65536} 画像シーケンス入力: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"min_pixels": 65536}
max_pixels integer (任意) 入力画像または動画フレームの最小ピクセルしきい値。入力画像または動画フレームが [min_pixels, max_pixels] の間にある場合、モデルは元の画像を認識します。max_pixels より大きい場合、総ピクセル数が max_pixels を下回るまでスケールダウンされます。 画像入力: 動画ファイルまたは画像シーケンス入力: モデル: Qwen-VL、QVQ 有効値: max_pixels の有効値 qwen3-vl-plusシリーズ、qwen3-vl-flashシリーズ、qwen3-vl-235b-a22b-thinking、qwen3-vl-235b-a22b-instruct: デフォルト値: 655360。最大値: 2048000
その他のオープンソース Qwen3-VL、qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-0815: デフォルト値: 655360。最大値: 786432 その他の qwen-vl-plus、qwen-vl-max、オープンソース Qwen2.5-VL、および QVQ モデル: デフォルト値: 501760。最大値: 602112
値の例: 動画入力: {"video":"https://xxxx.mp4","max_pixels": 655360} 画像シーケンス入力: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"max_pixels": 655360}
total_pixels integer (任意) 動画から抽出されたすべてのフレームの総ピクセル数を制限します (フレームあたりのピクセル数 × フレーム数として計算)。 動画の総ピクセル数がこの制限を超えた場合、システムは動画フレームをスケールダウンします。ただし、単一フレームのピクセル数が [min_pixels, max_pixels] の範囲内に収まるようにします。 モデル: Qwen-VL、QVQ 有効値: total_pixels の有効値 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-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-0815: デフォルト値と最小値: 67108864。これは 65536 画像トークンに相当します (1 画像トークンあたり 32×32 ピクセル)。 その他の qwen-vl-plus、qwen-vl-max、オープンソース Qwen2.5-VL、および QVQ モデル: デフォルト値と最小値: 51380224。これは 65536 画像トークンに相当します (1 画像トークンあたり 28×28 ピクセル)。
値の例: 動画入力: {"video":"https://xxxx.mp4","total_pixels": 134217728} 画像シーケンス入力: {"video":["https://xx1.jpg",...,"https://xxn.jpg"],"total_pixels": 134217728}
フレーム数が多い長い動画の場合、この値を下げるとトークン消費量と処理時間を削減できますが、画像の詳細が失われる可能性があります。 cache_control object (任意) このパラメーターは、明示的キャッシュをサポートするモデルでのみサポートされます。このパラメーターは、明示的なキャッシュを有効にするために使用されます。 プロパティ type string (必須) 値は ephemeral に固定されています。 role string (必須) ユーザーメッセージのロール。値は user に固定されています。 Assistant メッセージ object (任意) ユーザーのメッセージに対するモデルの応答。 プロパティ content 文字列 (任意) メッセージの内容。このパラメーターは、アシスタントメッセージで tool_calls パラメーターが指定されている場合にのみ任意です。 role string (必須) 値は assistant に固定されています。 partial boolean (任意) 部分モードを有効にするかどうかを指定します。詳細については、「部分モード」をご参照ください。 サポートされているモデル Qwen-Max シリーズ qwen3-max、qwen3-max-2025-09-23、qwen3-max-preview (非思考モード)、qwen-max、qwen-max-latest、および qwen-max-2025-01-25 以降のスナップショットモデル Qwen-Plus シリーズ (非思考モード) qwen-plus、qwen-plus-latest、および qwen-plus-2025-01-25 以降のスナップショットモデル Qwen-Flash シリーズ (非思考モード) qwen-flash、および qwen-flash-2025-07-28 以降のスナップショットモデル Qwen-Coder シリーズ qwen3-coder-plus、qwen3-coder-flash、qwen3-coder-480b-a35b-instruct、qwen3-coder-30b-a3b-instruct Qwen-VL シリーズ qwen3-vl-plus シリーズ (非思考モード) qwen3-vl-plus、および qwen3-vl-plus-2025-09-23 以降のスナップショットモデル qwen3-vl-flash シリーズ (非思考モード) qwen3-vl-flash、および qwen3-vl-flash-2025-10-15 以降のスナップショットモデル qwen-vl-max シリーズ qwen-vl-max、qwen-vl-max-latest、および qwen-vl-max-2025-04-08 以降のスナップショットモデル qwen-vl-plus シリーズ qwen-vl-plus、qwen-vl-plus-latest、および qwen-vl-plus-2025-01-25 以降のスナップショットモデル
Qwen-Turbo シリーズ (非思考モード) qwen-turbo、qwen-turbo-latest、および qwen-turbo-2024-11-01 以降のスナップショットモデル Qwen オープンソースシリーズ Qwen3 オープンソースモデル (非思考モード)、Qwen2.5 シリーズテキストモデル、Qwen3-VL オープンソースモデル (非思考モード)
tool_calls array (任意) 関数呼び出しを開始した後に返されるツールと入力パラメーター情報。このパラメーターには 1 つ以上のオブジェクトが含まれ、前のモデル応答の tool_calls フィールドから取得されます。 プロパティ type string ツールタイプ。現在、function のみがサポートされています。 function object ツールと入力パラメーター情報。 プロパティ arguments string 入力パラメーター情報。JSON 文字列形式。 index integer tool_calls 配列内の現在のツール情報のインデックス。
Tool メッセージ object (任意) ツールの出力情報。 プロパティ content string (必須) ツール関数の出力内容。値は文字列である必要があります。 role string (必須) 値は tool に固定されています。 tool_call_id string (任意) 関数呼び出しを開始した後に返される ID。ID は response.output.choices[0].message.tool_calls[$index]["id"] から取得できます。このパラメーターは、Tool メッセージを対応するツールに関連付けるために使用されます。 |
temperature float (任意) サンプリング温度。モデルによって生成されるテキストの多様性を制御します。 温度が高いほど、生成されるテキストの多様性が高まります。温度が低いほど、より決定論的なテキストが生成されます。 値の範囲は [0, 2) です。 HTTP を使用して呼び出しを行う場合、temperature は parameters オブジェクト内に配置してください。 QVQ モデルのデフォルトの温度値を変更することは推奨されません。 |
top_p float (任意) ニュークリアスサンプリングの確率しきい値。このパラメーターは、モデルによって生成されるテキストの多様性を制御します。 top_p 値が高いほど、生成されるテキストの多様性が高まります。top_p 値が低いほど、より決定論的なテキストが生成されます。 値の範囲は (0, 1.0] です。 デフォルトの top_p 値 Qwen3 (非思考モード)、Qwen3-Instruct シリーズ、Qwen3-Coder シリーズ、qwen-max シリーズ、qwen-plus シリーズ (非思考モード)、qwen-flash シリーズ (非思考モード)、qwen-turbo シリーズ (非思考モード)、Qwen オープンソースシリーズ、qwen-vl-max-2025-08-13、および Qwen3-VL (非思考モード): 0.8 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、および qwen2.5-vl-72b-instruct: 0.001 QVQ シリーズ、qwen-vl-plus-2025-07-10、qwen-vl-plus-2025-08-15 : 0.5 qwen3-max-preview (思考モード)、Qwen3-Omni-Flash シリーズ: 1.0 Qwen3 (思考モード)、Qwen3-VL (思考モード)、Qwen3-Thinking、QwQ シリーズ、および Qwen3-Omni-Captioner: 0.95 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 シリーズ、qwen-vl-plus-2025-07-10、および qwen-vl-plus-2025-08-15: 10 QwQ シリーズ: 40 その他の qwen-vl-plus シリーズ、qwen-vl-max-2025-08-13 より前のモデル、qwen2.5-omni-7b: 1 Qwen3-Omni-Flash シリーズ: 50 その他すべてのモデル: 20 Java SDK では、このパラメーターは topK という名前です。HTTP を使用して呼び出しを行う場合、top_k は parameters オブジェクト内に配置してください。 QVQ モデルのデフォルトの top_k 値を変更することは推奨されません。 |
enable_thinking boolean (任意) ハイブリッド思考モデルを使用する場合、このパラメーターは思考モードを有効にするかどうかを指定します。Qwen3 および Qwen3-VL モデルに適用されます。詳細については、「ディープシンキング」をご参照ください。 有効値: true
このパラメーターが有効な場合、思考内容は reasoning_content フィールドで返されます。 false
モデルごとのデフォルト値: モデルの可用性 Java SDK では、このパラメーターは enableThinking という名前です。HTTP を使用して呼び出しを行う場合、enable_thinking は parameters オブジェクト内に配置してください。 |
thinking_budget integer (任意) 思考プロセスの最大長。これは Qwen3-VL、および商用およびオープンソース版の Qwen3 モデルに適用されます。詳細については、「思考長の制限」をご参照ください。 デフォルト値は、モデルの最大 Chain-of-Thought 長です。詳細については、「モデルリスト」をご参照ください。 Java SDK では、このパラメーターは thinkingBudget という名前です。HTTP を使用して呼び出しを行う場合、thinking_budget は parameters オブジェクト内に配置してください。 値は、モデルの最大 Chain-of-Thought 長にデフォルト設定されます。 |
enable_code_interpreter boolean (任意) デフォルト値: false コードインタープリター機能を有効にするかどうかを指定します。このパラメーターは、思考モードの qwen3-max-preview にのみ適用されます。詳細については、「コードインタープリター」をご参照ください。 有効値: このパラメーターは Java SDK ではサポートされていません。HTTP を使用して呼び出しを行う場合、enable_code_interpreter は parameters オブジェクト内に配置してください。 |
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-max-preview (思考モード)、Qwen3 (非思考モード)、Qwen3-Instruct シリーズ、qwen3-0.6b/1.7b/4b (思考モード)、QVQ シリーズ、qwen-max、qwen-max-latest、qwen-max-latest、qwen2.5-vl シリーズ、qwen-vl-max シリーズ、qwen-vl-plus、Qwen3-VL (非思考): 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 (思考モード)、qwen-plus/qwen-plus-latest/2025-04-28 (思考モード)、qwen-turbo/qwen-turbo/2025-04-28 (思考モード): 0.5; その他すべてのモデル: 0.0。 仕組み パラメーター値が正の場合、モデルは現在のテキストに既に存在するトークンにペナルティを適用します。ペナルティはトークンの出現回数とは関係ありません。これにより、これらのトークンが再出現する可能性が減り、コンテンツの繰り返しが減少し、語彙の多様性が増加します。 例 プロンプト: この文を英語に翻訳してください: "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." パラメーター値 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. パラメーター値 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. パラメーター値 -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. qwen-vl-plus-2025-01-25 モデルをテキスト抽出に使用する場合、`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-VL シリーズ、qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、および qwen-vl-plus-0815: 16777216 (各 token は 32*32 ピクセルに対応、つまり 16384*32*32)
QVQ シリーズ、その他の Qwen2.5-VL モデル: 12845056 (各 token は 28*28 ピクセルに対応、つまり 16384*28*28)
vl_high_resolution_images が false の場合: 実際の解像度は max_pixels とデフォルトの制限の両方によって決定され、2 つのうち大きい方が使用されます。画像がこのピクセル制限を超える場合、ダウンスケールされます。
各モデルのデフォルトのピクセル制限を表示するにはクリックしてください vl_high_resolution_images が false の場合、モデルごとに異なるデフォルトのピクセル制限があります。
Qwen3-VL シリーズ: 2621440 (2560*32*32、つまりデフォルトの token 制限は 2560)
qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、および qwen-vl-plus-0815: 1310720 (1280*32*32、つまりデフォルトの token 制限は 1280)
QVQ シリーズ、その他の Qwen2.5-VL モデル: 1003520 (1280*28*28、つまりデフォルトの token 制限は 1280)
Java SDK では、このパラメーターは vlHighResolutionImages という名前です。最小必須バージョンは 2.20.8 です。HTTP を使用して呼び出しを行う場合、vl_high_resolution_imagesparameters オブジェクト内に配置してください。 |
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_input_tokens integer (任意) 入力の最大許容トークン長。このパラメーターは現在、qwen-plus-0728 および qwen-plus-latest モデルでのみサポートされています。 qwen-plus-latest のデフォルト値: 129,024 デフォルト値は将来 1,000,000 に調整される可能性があります。 qwen-plus-2025-07-28 のデフォルト値: 1,000,000
Java SDK は現在このパラメーターをサポートしていません。HTTP を使用して呼び出しを行う場合、max_input_tokens は parameters オブジェクト内に配置してください。 |
max_tokens integer (任意) モデルの出力におけるトークンの最大数を制限します。生成されたコンテンツがこの値を超えると、生成は途中で停止し、返される finish_reason は length になります。 デフォルト値と最大値は、モデルの最大出力長です。詳細については、「モデルリスト」をご参照ください。 このパラメーターは、要約やキーワードの生成など、出力長を制御する必要があるシナリオや、コストと応答時間を削減する場合に役立ちます。 max_tokens がトリガーされると、応答の `finish_reason` フィールドは length になります。
max_tokens は、思考モデルの Chain-of-Thought の長さを制限しません。
Java SDK では、このパラメーターは maxTokens という名前です。Qwen-VL モデルの場合、Java SDK では maxLength という名前ですが、バージョン 2.18.4 以降では maxTokens として設定することもサポートされています。HTTP を使用して呼び出しを行う場合、max_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 (推奨): 出力は増分です。つまり、後続の出力には以前に生成されたコンテンツは含まれません。完全な結果を得るには、これらのフラグメントをリアルタイムで読み取る必要があります。 I
like
apple
.
Java SDK では、このパラメーターは incrementalOutput という名前です。HTTP を使用して呼び出しを行う場合、incremental_output は parameters オブジェクト内に配置してください。 QwQ モデルおよび思考モードの Qwen3 モデルは、true 値のみをサポートします。Qwen3 商用モデルのデフォルト値は false であるため、思考モードを使用する場合はこのパラメーターを手動で true に設定する必要があります。 Qwen3 オープンソースモデルは false 値をサポートしていません。 |
response_format object (任意) デフォルト値: {"type": "text"} 返されるコンテンツのフォーマット。有効値: {"type": "text"}: テキスト応答を出力します。
{"type": "json_object"}: 標準フォーマットの JSON 文字列を出力します。
{"type": "json_schema","json_schema": {...} }: 指定したフォーマットで JSON 文字列を出力します。
リファレンス: 構造化出力。 サポートされているモデルのリストについては、「サポートされているモデル」をご参照ください。 {"type": "json_object"} を指定する場合、プロンプトでモデルに JSON を出力するように明示的に指示する必要があります (例: "JSON 形式で出力してください")。そうしないと、エラーが発生します。
Java SDK では、このパラメーターは responseFormat です。HTTP 呼び出しを行う場合、response_format は parameters オブジェクト内に配置してください。 プロパティ type string (必須) 返されるコンテンツのフォーマット。有効値: json_schema object type が json_schema の場合に必須です。出力のスキーマを指定します。 プロパティ name string (必須) スキーマの一意の名前。名前には、文字 (大文字と小文字を区別しない)、数字、アンダースコア (_)、およびハイフン (-) のみを含めることができます。名前の長さは最大 64 文字です。 description string (任意) スキーマの目的の説明。モデルが出力のセマンティックコンテキストを理解するのに役立ちます。 schema object (任意) JSON スキーマ標準に従い、モデルの出力のデータ構造を定義するオブジェクト。 JSON スキーマの構築方法の詳細については、「JSON スキーマ strict boolean (任意) デフォルト値: false モデルがすべてのスキーマ制約に厳密に従う必要があるかどうかを指定します。 |
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 出力トークンの対数確率を返すかどうかを指定します。有効値: 以下のモデルがサポートされています: HTTP を使用して呼び出しを行う場合、logprobs は parameters オブジェクト内に配置してください。 |
top_logprobs integer (任意) デフォルト値: 0 各生成ステップで返す、最も可能性の高い候補トークンの数を指定します。 値の範囲: [0, 5] このパラメーターは、logprobs が true に設定されている場合にのみ有効です。 Java SDK では、パラメーターは topLogprobs です。HTTP 呼び出しの場合は、parameters オブジェクトで top_logprobs を指定します。 |
n integer (任意) デフォルト値: 1 生成する応答の数。値は 1 から 4 の範囲である必要があります。クリエイティブライティングや広告コピーなど、複数の応答を生成する必要があるシナリオでは、より大きな n 値を設定できます。 現在、このパラメーターは qwen-plus および Qwen3 (非思考モード) モデルでのみサポートされています。tools パラメーターが渡されると、値は 1 に固定されます。 より大きな n 値を設定しても入力トークンの消費量は増加しませんが、出力トークンの消費量は増加します。 HTTP を使用して呼び出しを行う場合、n は parameters オブジェクト内に配置してください。 |
stop string or 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 objcet (必須) ツールのパラメーターの説明。値は有効な JSON スキーマである必要があります。JSON スキーマの説明については、このリンクをご参照ください。parameters パラメーターが空の場合、関数には入力パラメーターがありません。 HTTP を使用して呼び出しを行う場合、tools は parameters オブジェクト内に配置してください。このパラメーターは、qwen-vl シリーズモデルでは一時的にサポートされていません。 |
tool_choice string or object (任意) デフォルト値: auto ツール選択戦略。特定の種類の質問に対してツール呼び出しを強制する場合、たとえば、常に特定のツールを使用するか、すべてのツールを無効にする場合、このパラメーターを設定できます。 auto
大規模言語モデルがツール戦略を独立して選択します。 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 オブジェクト内に配置してください。 |