リクエストボディ
POST
/chat/completions
[デバッグ]
テキスト入力
Python import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合、以下の行を api_key="sk-xxx" に置き換えてください。
# API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
api_key=os.getenv("DASHSCOPE_API_KEY"),
# 以下はシンガポール リージョンのベース URL です。
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
model="qwen-plus",
messages=[
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"},
],
# extra_body={"enable_thinking": False},
)
print(completion.model_dump_json())
Java // このコードは OpenAI SDK バージョン 2.6.0 を使用しています
import com.openai.client.OpenAIClient;
import com.openai.client.okhttp.OpenAIOkHttpClient;
import com.openai.models.chat.completions.ChatCompletion;
import com.openai.models.chat.completions.ChatCompletionCreateParams;
public class Main {
public static void main(String[] args) {
OpenAIClient client = OpenAIOkHttpClient.builder()
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
.apiKey(System.getenv("DASHSCOPE_API_KEY"))
// 以下はシンガポール リージョンのベース URL です。
.baseUrl("https://dashscope-intl.aliyuncs.com/compatible-mode/v1")
.build();
ChatCompletionCreateParams params = ChatCompletionCreateParams.builder()
.addUserMessage("Who are you?")
.model("qwen-plus")
.build();
try {
ChatCompletion chatCompletion = client.chat().completions().create(params);
System.out.println(chatCompletion);
} catch (Exception e) {
System.err.println("エラーが発生しました: " + e.getMessage());
e.printStackTrace();
}
}
}
Node.js import OpenAI from "openai";
const openai = new OpenAI(
{
// 環境変数が設定されていない場合、以下の行を apiKey: "sk-xxx" に置き換えてください。
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
apiKey: process.env.DASHSCOPE_API_KEY,
// 以下はシンガポール リージョンのベース URL です。
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
);
async function main() {
const completion = await openai.chat.completions.create({
model: "qwen-plus", // モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages: [
{ role: "system", content: "You are a helpful assistant." },
{ role: "user", content: "Who are you?" }
],
});
console.log(JSON.stringify(completion))
}
main();
Go package main
import (
"context"
"os"
"github.com/openai/openai-go"
"github.com/openai/openai-go/option"
)
func main() {
client := openai.NewClient(
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY")
// 以下はシンガポール リージョンのベース URL です。
option.WithBaseURL("https://dashscope-intl.aliyuncs.com/compatible-mode/v1/"),
)
chatCompletion, err := client.Chat.Completions.New(
context.TODO(), openai.ChatCompletionNewParams{
Messages: openai.F(
[]openai.ChatCompletionMessageParamUnion{
openai.UserMessage("Who are you?"),
},
),
Model: openai.F("qwen-plus"),
},
)
if err != nil {
panic(err.Error())
}
println(chatCompletion.Choices[0].Message.Content)
}
C# (HTTP) using System.Net.Http.Headers;
using System.Text;
class Program
{
private static readonly HttpClient httpClient = new HttpClient();
static async Task Main(string[] args)
{
// 環境変数が設定されていない場合、以下の行を string? apiKey = "sk-xxx"; に置き換えてください。
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
string? apiKey = Environment.GetEnvironmentVariable("DASHSCOPE_API_KEY");
if (string.IsNullOrEmpty(apiKey))
{
Console.WriteLine("API キーが設定されていません。「DASHSCOPE_API_KEY」環境変数が設定されていることを確認してください。");
return;
}
// リクエスト URL とコンテンツを設定します
// 以下はシンガポール リージョンのベース URL です。
string url = "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions";
// モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
string jsonContent = @"{
""model"": ""qwen-plus"",
""messages"": [
{
""role"": ""system"",
""content"": ""You are a helpful assistant.""
},
{
""role"": ""user"",
""content"": ""Who are you?""
}
]
}";
// リクエストを送信し、応答を取得します
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 $"リクエストが失敗しました: {response.StatusCode}";
}
}
}
}
PHP (HTTP) <?php
// リクエスト URL を設定します
// 以下はシンガポール リージョンのベース URL です。
$url = 'https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions';
// 環境変数が設定されていない場合、以下の行を $apiKey = "sk-xxx"; に置き換えてください。
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
$apiKey = getenv('DASHSCOPE_API_KEY');
// リクエストヘッダーを設定します
$headers = [
'Authorization: Bearer '.$apiKey,
'Content-Type: application/json'
];
// リクエストボディを設定します
$data = [
// モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
"model" => "qwen-plus",
"messages" => [
[
"role" => "system",
"content" => "You are a helpful assistant."
],
[
"role" => "user",
"content" => "Who are you?"
]
]
];
// cURL セッションを初期化します
$ch = curl_init();
// cURL オプションを設定します
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
// cURL セッションを実行します
$response = curl_exec($ch);
// エラーを確認します
if (curl_errno($ch)) {
echo 'Curl エラー: ' . curl_error($ch);
}
// cURL リソースを閉じます
curl_close($ch);
// 応答を出力します
echo $response;
?>
curl
API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions に置き換えてください。 curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
]
}'
ストリーミング出力
詳細については、「ストリーミング出力 」をご参照ください。
Python import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合、以下の行を api_key="sk-xxx" に置き換えてください。
# API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-plus", // モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages=[{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"}],
stream=True,
stream_options={"include_usage": True}
)
for chunk in completion:
print(chunk.model_dump_json())
Node.js import OpenAI from "openai";
const openai = new OpenAI(
{
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
);
async function main() {
const completion = await openai.chat.completions.create({
model: "qwen-plus", // モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages: [
{"role": "system", "content": "You are a helpful assistant."},
{"role": "user", "content": "Who are you?"}
],
stream: true,
});
for await (const chunk of completion) {
console.log(JSON.stringify(chunk));
}
}
main();
curl
API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。
中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions に置き換えてください。 curl --location "https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions" \
--header "Authorization: Bearer $DASHSCOPE_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Who are you?"
}
],
"stream":true
}'
イメージ入力
大規模言語モデルによる画像分析の詳細については、「画像とビデオの理解 」をご参照ください。
Python import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合、以下の行を api_key="sk-xxx" に置き換えてください。
# API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
model="qwen-vl-plus", // モデルリスト: https://www.alibabacloud.com/help/model-studio/models
messages=[{"role": "user","content": [
{"type": "image_url",
"image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
{"type": "text", "text": "What is this?"},
]}]
)
print(completion.model_dump_json())
Node.js import OpenAI from "openai";
const openai = new OpenAI(
{
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
);
async function main() {
const response = await openai.chat.completions.create({
model: "qwen-vl-max", // モデルリスト: https://www.alibabacloud.com/help/model-studio/models
messages: [{role: "user",content: [
{ type: "image_url",image_url: {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
{ type: "text", text: "What is this?" },
]}]
});
console.log(JSON.stringify(response));
}
main();
curl
API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。
中国 (北京) リージョンのモデルを使用する場合は、URL を https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions に置き換えてください。 curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-vl-plus",
"messages": [{
"role": "user",
"content": [
{"type": "image_url","image_url": {"url": "https://dashscope.oss-cn-beijing.aliyuncs.com/images/dog_and_girl.jpeg"}},
{"type": "text","text": "What is this?"}
]}]
}'
ビデオ入力
以下の例は、画像のリストを渡す方法を示しています。ビデオファイルを渡すなどのその他の使用例については、「視覚理解 」をご参照ください。
Python import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合、以下の行を api_key="sk-xxx" に置き換えてください。
# API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
completion = client.chat.completions.create(
# モデルリスト: https://www.alibabacloud.com/help/model-studio/models
model="qwen-vl-max",
messages=[{
"role": "user",
"content": [
{
"type": "video",
"video": [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"]
},
{
"type": "text",
"text": "Describe the process in this video."
}]}]
)
print(completion.model_dump_json())
Node.js // package.json で "type": "module" を指定していることを確認してください。
import OpenAI from "openai";
const openai = new OpenAI({
// 環境変数が設定されていない場合、以下の行を apiKey: "sk-xxx" に置き換えてください。
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
});
async function main() {
const response = await openai.chat.completions.create({
// モデルリスト: https://www.alibabacloud.com/help/model-studio/models
model: "qwen-vl-max",
messages: [{
role: "user",
content: [
{
type: "video",
video: [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
]
},
{
type: "text",
text: "Describe the process in this video."
}
]}]
});
console.log(JSON.stringify(response));
}
main();
curl
API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。API キーの取得 をご参照ください。以下はシンガポール リージョンのベース URL です。 curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"model": "qwen-vl-max",
"messages": [
{
"role": "user",
"content": [
{
"type": "video",
"video": [
"https://img.alicdn.com/imgextra/i3/O1CN01K3SgGo1eqmlUgeE9b_!!6000000003923-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01BjZvwg1Y23CF5qIRB_!!6000000003000-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i4/O1CN01Ib0clU27vTgBdbVLQ_!!6000000007859-0-tps-3840-2160.jpg",
"https://img.alicdn.com/imgextra/i1/O1CN01aygPLW1s3EXCdSN4X_!!6000000005710-0-tps-3840-2160.jpg"
]
},
{
"type": "text",
"text": "Describe the process in this video."
}
]
}
]
}'
ツール呼び出し
完全な関数呼び出しワークフローコードについては、「関数呼び出し 」をご参照ください。
Python import os
from openai import OpenAI
client = OpenAI(
# 環境変数が設定されていない場合、以下の行を api_key="sk-xxx" に置き換えてください。
# API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
tools = [
// ツール 1: 現在時刻の取得 (パラメーター不要)
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful when you want to know the current time.",
"parameters": {} // 現在時刻を取得するのに必要な入力パラメーターがないため、parameters は空の辞書です。
}
},
// ツール 2: 天気予報の取得 (場所パラメーターが必要)
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful when you want to check the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
// 天気予報を照会するには、場所を指定する必要があります。そのため、パラメーターを location に設定します。
"location": {
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
}
},
"required": ["location"]
}
}
}
]
messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}]
completion = client.chat.completions.create(
model="qwen-plus", // モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages=messages,
tools=tools
)
print(completion.model_dump_json())
Node.js import OpenAI from "openai";
const openai = new OpenAI(
{
// 環境変数が設定されていない場合、以下の行を apiKey: "sk-xxx" に置き換えてください。
// API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。詳細については、API キーの取得をご参照ください。コード例では、環境変数を使用しない場合、DASHSCOPE_API_KEY を実際のキーに置き換えてください。
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1"
}
);
const messages = [{"role": "user", "content": "What is the weather like in Hangzhou?"}];
const tools = [
// ツール 1: 現在時刻の取得 (パラメーター不要)
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful when you want to know the current time.",
// 現在時刻を取得するのに必要な入力パラメーターがないため、parameters は空です。
"parameters": {}
}
},
// ツール 2: 天気予報の取得 (場所パラメーターが必要)
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful when you want to check the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
// 天気予報を照会するには、場所を指定する必要があります。そのため、パラメーターを location に設定します。
"location": {
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
}
},
"required": ["location"]
}
}
}
];
async function main() {
const response = await openai.chat.completions.create({
model: "qwen-plus", // モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
messages: messages,
tools: tools,
});
console.log(JSON.stringify(response));
}
main();
curl
API キーはリージョン (北京 vs シンガポール/バージニア) によって異なります。API キーの取得 をご参照ください。以下はシンガポール リージョンのベース URL です。 curl -X POST https://dashscope-intl.aliyuncs.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen-plus",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is the weather like in Hangzhou?"
}
],
"tools": [
{
"type": "function",
"function": {
"name": "get_current_time",
"description": "Useful when you want to know the current time.",
"parameters": {}
}
},
{
"type": "function",
"function": {
"name": "get_current_weather",
"description": "Useful when you want to check the weather in a specific city.",
"parameters": {
"type": "object",
"properties": {
"location":{
"type": "string",
"description": "A city or district, such as Beijing, Hangzhou, or Yuhang District."
}
},
"required": ["location"]
}
}
}
]
}'
非同期呼び出し import os
import asyncio
from openai import AsyncOpenAI
import platform
client = AsyncOpenAI(
# 環境変数を設定していない場合、以下の行を Model Studio API キー (api_key="sk-xxx") に置き換えてください。
# 中国 (北京) リージョンのモデルを使用する場合は、中国 (北京) リージョンの API キーを使用する必要があります。取得するには、https://bailian.console.alibabacloud.com/?tab=model#/api-key にアクセスしてください。
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
async def main():
response = await client.chat.completions.create(
messages=[{"role": "user", "content": "Who are you?"}],
model="qwen-plus", # ここでは、qwen-plus を例として使用しています。
# 必要なモデル名に置き換えてください。モデルリスト: https://www.alibabacloud.com/help/model-studio/getting-started/models
)
print(response.model_dump_json())
if platform.system() == "Windows":
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
asyncio.run(main())
model string (必須)
使用するモデルの名前です。
サポートされているモデルには、Qwen 大規模言語モデル (商用およびオープンソース)、Qwen-VL、Qwen-Coder、Qwen-Omni、Qwen-Math が含まれます。
具体的なモデル名と請求情報については、 テキスト生成 - Qwen をご参照ください。
messages 配列 (必須)
モデルに対する会話履歴を、時系列順に並べたもの。
メッセージの種類
システムメッセージ オブジェクト (任意)
大規模言語モデルのロール、トーン、タスク目的、または制約を定義するシステムメッセージ。これを messages 配列の先頭に配置します。
QwQ モデルにはシステムメッセージを設定しないでください。システムメッセージは QVQ モデルには効果がありません。
プロパティ
content 文字列 (必須)
モデルのロール、動作、応答スタイル、およびタスク制約を定義するシステム命令。
role 文字列 (必須)
システムメッセージのロール。値は固定で system です。
ユーザー メッセージ オブジェクト (必須)
モデルに対して質問、命令、またはコンテキストを渡すユーザー メッセージ。
プロパティ
content 文字列または配列 (必須)
メッセージ本文。テキストのみの入力の場合は文字列、マルチモーダル入力(例:画像)または明示的キャッシュが有効な場合は配列となります。
マルチモーダルモデルまたは明示的キャッシュが有効な場合のプロパティ
type 文字列 (必須)
有効な値:
text
テキスト入力の場合、text を指定します。
image_url
画像入力の場合、image_url を指定します。
input_audio
音声入力の場合、input_audio を指定します。
video
動画入力(画像リストとして)の場合、video を指定します。
video_url
動画ファイル入力の場合、video_url を指定します。
一部の Qwen-VL モデルのみが動画ファイル入力をサポートしています。詳細については、「動画理解(Qwen-VL) 」をご参照ください。QVQ および Qwen-Omni モデルは、動画ファイルの直接入力をサポートしています。
text 文字列
入力テキスト。このパラメーターは、type が text の場合に必須です。
image_url オブジェクト
入力画像情報。このパラメーターは、type が image_url の場合に必須です。
プロパティ
url 文字列 (必須)
画像の URL または Base64 Data URL。ローカルファイルを渡す場合は、「画像および動画の理解 」をご参照ください。
input_audio オブジェクト
入力音声情報。このパラメーターは、type が input_audio の場合に必須です。
プロパティ
format 文字列 (必須)
入力音声のフォーマット(例:mp3 や wav)。
video 配列
画像リストとして表現された動画情報。このパラメーターは、type が video の場合に必須です。使用方法については、「動画理解(Qwen-VL) 」、「動画理解(QVQ) 」、または「動画理解(Qwen-Omni) 」をご参照ください。
例:
[
"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"
]
video_url オブジェクト
入力動画ファイル情報。このパラメーターは、type が video_url の場合に必須です。
Qwen-VL は動画ファイルの視覚情報を理解できますが、Qwen-Omni は視覚情報と音声情報の両方を理解できます。
fps 浮動小数点数 (任意)
1 秒あたりに抽出するフレーム数。値の範囲は [0.1, 10] です。デフォルト値は 2.0 です。
機能説明
fps は以下の機能を提供します:
大きな fps 値は、スポーツイベントやアクション映画など高速動作のシナリオに適しています。小さな fps 値は、長尺動画や静止シーンが多いコンテンツに適しています。
例
画像リスト入力の場合:{"video":["https://xx1.jpg",...,"https://xxn.jpg"],"fps":2}
動画ファイル入力の場合:{"video": "https://xx1.mp4","fps":2}
min_pixels 整数 (任意)
入力画像または動画フレームの最小ピクセル数しきい値を設定します。入力画像または動画フレームのピクセル数が min_pixels より小さい場合、その合計ピクセル数が min_pixels を超えるまで拡大されます。Qwen-VL および QVQ モデルに適用されます。
値の範囲
画像入力の場合:
Qwen3.5-Omni、Qwen3.5、Qwen3-VL:デフォルト値および最小値は 65536 です。
qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-0815:デフォルト値および最小値は 4096 です。
その他の qwen-vl-plus モデル、その他の qwen-vl-max モデル、Qwen2.5-VL オープンソースシリーズ、および QVQ シリーズ モデル:デフォルト値および最小値は 3136 です。
動画ファイルまたは画像リスト入力の場合:
Qwen3.5-Omni、Qwen3.5、Qwen3-VL(商用版およびオープンソース版を含む)、qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-0815:デフォルト値は 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 整数 (任意)
入力画像または動画フレームの最大ピクセル数しきい値を設定します。入力画像または動画のピクセル数が [min_pixels, max_pixels] の範囲内にある場合、モデルは元の画像を処理します。ピクセル数が max_pixels を超える場合、その合計ピクセル数が max_pixels を下回るまで画像が縮小されます。Qwen-VL および QVQ モデルに適用されます。
例
画像入力の場合:{"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 整数 (任意)
動画から抽出されたすべてのフレームの合計ピクセル数(1 フレームあたりのピクセル数 × 抽出フレーム総数)を制限します。動画の合計ピクセル数がこの制限を超える場合、システムは動画フレームを縮小しますが、各フレームのピクセル数が [min_pixels, max_pixels] の範囲内となるよう保証します。Qwen-VL および QVQ モデルに適用されます。
抽出フレーム数の多い長尺動画では、トークン使用量および処理時間を削減するためにこの値を下げることを推奨します。ただし、画像のディテールが失われる可能性があります。
値の範囲
Qwen3.5-Omni、Qwen3.5 シリーズ、Qwen3-VL 非オープンソース シリーズ、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 ピクセル)に相当します。
例
動画ファイル入力の場合:{"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 オブジェクト (任意)
明示的キャッシュを有効化します。「明示的キャッシュ 」をご参照ください。
プロパティ
type 文字列 (必須)
ephemeral のみがサポートされています。
role 文字列 (必須)
ユーザー メッセージのロール。値は固定で user です。
アシスタント メッセージ オブジェクト (任意)
モデルの応答。通常、マルチターン対話において、この応答はコンテキストとしてモデルに再送信されます。
プロパティ
content 文字列 (任意)
モデルの応答のテキスト本文。tool_calls が含まれる場合、content は空でも構いません。それ以外の場合は、content が必須です。
role 文字列 (必須)
アシスタント メッセージのロール。値は固定で assistant です。
partial ブール値 (任意)デフォルト値は false
部分補完モードを有効にするかどうかを指定します。
有効な値:
「部分補完モード 」をご参照ください。
tool_calls 配列 (任意)
関数呼び出しを開始した後に返されるツールおよび入力パラメーター情報。1 つ以上のオブジェクトを含み、前のモデル応答の tool_calls フィールドから取得されます。
プロパティ
type 文字列 (必須)
ツールの種類。現在は function のみがサポートされています。
function オブジェクト (必須)
ツールおよび入力パラメーター情報。
プロパティ
arguments 文字列 (必須)
入力パラメーター情報。JSON 文字列としてフォーマットされます。
index 整数 (必須)
現在のツール情報が tool_calls 配列内で持つインデックス。
ツール メッセージ オブジェクト (任意)
ツールの出力情報。
プロパティ
content 文字列 (必須)
ツール関数の出力内容。文字列である必要があります。ツールが構造化データ(例:JSON)を返す場合、それを文字列にシリアル化してください。
role 文字列 (必須)
値は固定で tool です。
tool_call_id 文字列 (必須)
関数呼び出しを開始した後に返される ID。completion.choices[0].message.tool_calls[$index].id から取得します。この ID は、ツール メッセージに対応するツールを識別します。
stream boolean (オプション。デフォルト値は false です。)
ストリーミング出力モードを有効化します。詳細については、「ストリーミング出力 」をご参照ください。
有効な値:
読みやすさの向上およびタイムアウトリスクの低減のため、このパラメーターを true に設定することを推奨します。
stream_options オブジェクト (オプション)
ストリーミング出力の設定オプションです。このパラメーターは、stream を true に設定した場合にのみ有効です。
プロパティ
include_usage ブール値 (オプション。デフォルト値は false です。)
応答の最終データブロック にトークン使用量情報を含めるかどうかを指定します。
有効な値:
ストリーミング出力の場合、トークン使用量情報は応答の最終データブロックでのみ表示されます。
modalities 配列 (オプション。デフォルト値は ["text"])
出力データのモダリティです。このパラメーターは、Qwen-Omni モデルにのみ適用されます。詳細については、「非リアルタイム(Qwen-Omni) 」をご参照ください。
有効な値:
audio object (任意)
出力音声のボイスとフォーマットです。このパラメーターは Qwen-Omni モデルにのみ適用され、modalities パラメーターを ["text","audio"] に設定する必要があります。詳細については、「非リアルタイム (Qwen-Omni) 」をご参照ください。
プロパティ
format string (必須)
出力音声のフォーマットです。wav のみがサポートされています。
temperature float (省略可)
サンプリング温度は、生成テキストの多様性をコントロールします。
温度を高くすると、より多様なテキストが生成されます。温度を低くすると、より決定論的なテキストが生成されます。
有効値の範囲:[0, 2)
temperature と top_p の両方が生成テキストの多様性をコントロールします。いずれか一方のみを設定してください。詳細については、「Text generation model overview 」をご参照ください。
QVQ モデルのデフォルト temperature 値は変更しないでください。
top_p float (省略可)
核サンプリングにおける確率のしきい値です。このパラメーターは、モデルが生成するテキストの多様性をコントロールします。
top_p の値を高くすると、より多様なテキストが生成されます。一方、値を低くすると、より決定論的なテキストが生成されます。
有効値:(0, 1.0]
温度(temperature)と top_p の両方が生成テキストの多様性をコントロールします。これらのパラメーターのいずれか一方のみを設定してください。詳細については、「Text generation model overview 」をご参照ください。
QVQ モデルのデフォルトの top_p 値は変更しないでください。
top_k integer (オプション)
生成時のサンプリングに使用する候補トークン数を指定します。値が大きいほど出力のランダム性が高まり、小さいほど決定論的な出力になります。値を null または 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。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用する場合は、extra_body オブジェクト内に含めてください。 次のように設定します:extra_body={"top_k":xxx}。
QVQ モデルについては、デフォルトの top_k 値を変更してはいけません。
repetition_penalty float (オプション)
モデル生成における連続するシーケンスに対する繰り返しペナルティです。repetition_penalty の値を大きくすると、モデルの出力における繰り返しの出現を減らすことができます。値が 1.0 の場合はペナルティがないことを意味します。厳密な値の範囲はありませんが、値は 0 より大きい必要があります。
このパラメーターは、標準の OpenAI パラメーターではありません。Python SDK を使用する場合は、このパラメーターを extra_body オブジェクトに含める必要があります。 設定方法は次のとおりです:extra_body={"repetition_penalty":xxx}。
qwen-vl-plus-2025-01-25 モデルを使用してテキスト抽出を行う場合は、repetition_penalty を 1.0 に設定してください。
QVQ モデルでは、repetition_penalty のデフォルト値を変更しないでください。
presence_penalty float (オプション)
モデルが既に生成済みの内容を繰り返すことをどの程度抑制するかを制御します。
有効な値の範囲:[-2.0, 2.0]。正の値は繰り返しを低減し、負の値は繰り返しを増加させます。
多様性、楽しさ、創造性が求められるクリエイティブライティングやブレインストーミングなどのシナリオでは、この値を増加させてください。一方、一貫性と用語の精度が重視される技術ドキュメントやフォーマルな文書では、この値を減少させてください。
presence_penalty のデフォルト値
Qwen3.5-Omni、Qwen3.5(ノンシンキングモード)、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 です。
仕組み
パラメーター値が正の場合、モデルは生成済みテキスト内にすでに出現しているトークンに対してペナルティを適用します。このペナルティはトークンの出現回数には依存しません。これにより、当該トークンの再出現確率が低下し、繰り返しが減少して語彙の多様性が向上します。
例
プロンプト:「この映画は素晴らしい。ストーリーが素晴らしい、演技が素晴らしい、音楽が素晴らしい、全体として映画全体が本当に素晴らしい。実際、非常に素晴らしい。ストーリーがとても素晴らしいし、演技もとても素晴らしいし、音楽もとても素晴らしい。」という文を中国語に翻訳してください。
パラメーター値 2.0:この映画は非常に素晴らしいです。ストーリーは素晴らしく、演技は見事で、音楽も非常に優れており、全体として映画全体は驚くほど素晴らしいです。実際、それは真に卓越しています。ストーリーは非常に興奮を誘い、演技は抜群で、音楽はとても美しいです。
パラメーター値 0.0:この映画は素晴らしいです。ストーリーは素晴らしい、演技は素晴らしい、音楽も素晴らしい、全体として映画全体は非常に素晴らしいです。実際、それは本当に素晴らしいです。ストーリーは非常に素晴らしい、演技も非常に優れており、音楽も非常に優れています。
パラメーター値 -2.0:この映画は非常に素晴らしいです。ストーリーは非常に素晴らしい、演技は非常に素晴らしい、音楽も非常に素晴らしい、全体として映画全体は非常に素晴らしいです。実際、それは本当に素晴らしいです。ストーリーは非常に素晴らしい、演技も非常に素晴らしい、音楽も非常に素晴らしいです。
qwen-vl-plus-2025-01-25 モデルをテキスト抽出に使用する場合は、presence_penalty を 1.5 に設定してください。
QVQ モデルについては、presence_penalty のデフォルト値を変更してはいけません。
response_format object (オプション。デフォルト値は {"type": "text"} です。)
応答コンテンツのフォーマット。有効な値:
{"type": "text"}:プレーンテキストの応答を返します。
{"type": "json_object"}:標準の JSON 構文に準拠した JSON 文字列を返します。
{"type": "json_schema","json_schema": {...}}:カスタムスキーマに準拠した JSON 文字列を返します。
詳細については、「構造化出力 」をご参照ください。
{"type": "json_object"} を指定する場合は、「JSON 形式で出力してください」のように、プロンプトでモデルに JSON を出力するように明示的に指示する必要があります。そうしない場合、エラーが発生します。
サポートされているモデルについては、「構造化出力 」をご参照ください。
プロパティ
type string (必須)
応答コンテンツのフォーマット。有効な値:
json_schema object
type が json_schema の場合、このフィールドは必須であり、構造化出力の構成を定義します。
プロパティ
name string (必須)
スキーマの一意の名前。名前に使用できるのは、文字 (大文字と小文字を区別しない)、数字、アンダースコア (_)、ハイフン (-) のみです。最大長は 64 文字です。
description string (オプション)
スキーマの目的の説明。これにより、モデルが出力のセマンティックコンテキストを理解するのに役立ちます。
schema object (オプション)
JSON スキーマ標準に準拠したオブジェクト。モデル出力のデータ構造を定義します。
JSON スキーマの作成方法を学ぶには、JSON Schema
strict boolean (オプション。デフォルト値は false です。)
モデルがスキーマ内のすべての制約に厳密に従うように強制するかどうかを指定します。
max_tokens integer (オプション)
モデル出力におけるトークン数の最大値を制限します。生成されたコンテンツがこの値を超えると、生成が早期に停止し、応答内の finish_reason フィールドには length が設定されます。
デフォルト値および最大値は、対象モデルの最大出力長に対応します。詳細については、「テキスト生成 - Qwen 」をご参照ください。
このパラメーターは、要約やキーワードの生成など出力長を制御する必要があるシナリオ、あるいはコスト削減および応答時間の短縮を目的とする場合に有効です。
max_tokens がトリガーされると、応答の finish_reason フィールドは length に設定されます。
max_tokens は、Chain-of-Thought の長さを制限しません。
vl_high_resolution_images boolean (オプション。デフォルト値は false です。)
入力画像の最大ピクセル制限を 16384 トークンに相当するピクセル値まで引き上げます。詳細については、「高解像度画像の処理 」をご参照ください。
vl_high_resolution_images: true の場合:固定解像度戦略を使用し、max_pixels の設定は無視されます。画像がこの解像度を超えた場合、総ピクセル数が制限内に収まるようにダウンスケールされます。
各モデルのピクセル制限
vl_high_resolution_images が true の場合、モデルによってピクセル制限が異なります:
qwen3.5 シリーズ、Qwen3-VL シリーズ、qwen-vl-max、qwen-vl-max-latest、qwen-vl-max-0813、qwen-vl-plus、qwen-vl-plus-latest、qwen-vl-plus-0815、 の各モデル:16,777,216(各 Token は 32*32 ピクセルに相当します。つまり 16384*32*32 です)
QVQ シリーズ、その他の Qwen2.5-VL シリーズのモデル:12,845,056(各 token は 28×28 ピクセルに相当します。つまり 16,384×28×28 です)
vl_high_resolution_images が false の場合、ピクセル制限は max_pixels によって決定されます。入力画像が max_pixels を超えた場合、max_pixels の範囲内に収まるようにダウンスケールされます。各モデルのデフォルトのピクセル制限は、max_pixels のデフォルト値と一致します。
このパラメーターは、標準の OpenAI パラメーターではありません。Python SDK で呼び出しを行う際は、このパラメーターを extra_body オブジェクトに含める必要があります。 構成は次のとおりです:extra_body={"vl_high_resolution_images":xxx}。
n integer (オプション。デフォルトは 1 です)
生成する応答の数。 1~4 の整数である必要があります。クリエイティブライティングや広告コピーなど、複数の応答の候補が必要なシナリオで使用します。
このパラメーターは、Qwen3 (ノンシンキングモード) モデルでのみサポートされています。
tools パラメーターを渡す場合は、n を 1 に設定してください。
n を増やすと出力トークンの消費量は増加しますが、入力トークンの消費量には影響しません。
enable_thinking boolean (オプション)
ハイブリッド思考モデル向けの思考モードを有効化します。このモードは、Qwen3.5、Qwen3、Qwen3-Omni-Flash、および Qwen3-VL モデルで利用可能です。詳細については、「Deep thinking 」をご参照ください。
有効な値:
true:機能を有効化します。
有効化すると、思考内容が reasoning_content フィールドに返されます。
false:無効化されます。
各モデルにおけるデフォルト値については、「対応モデル 」をご参照ください。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出しを行う場合、extra_body オブジェクト内に指定してください。 設定方法は以下のとおりです:extra_body={"enable_thinking": xxx}。
thinking_budget 整数 (オプション)
思考プロセスにおけるトークン数の上限値です。このパラメーターは、Qwen3.5、Qwen3-VL、および Qwen3 モデルの商用版およびオープンソース版に適用されます。「思考長の制限 」をご参照ください。
デフォルト値は、対象モデルの最大 Chain-of-Thought 長度です。「モデル一覧 」をご参照ください。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用する場合、このパラメーターを extra_body オブジェクト内に指定してください。 指定方法は以下のとおりです:extra_body={"thinking_budget": xxx}。
enable_code_interpreter ブール値 (オプション。デフォルト値は false です。)
コードインタープリター機能を有効にするかどうかを指定します。「コードインタープリター 」をご参照ください。
有効な値:
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出しを行う場合、このパラメーターを extra_body オブジェクトに含めます。 次のように設定します: extra_body={"enable_code_interpreter": xxx}。
seed integer (省略可)
乱数のシードです。このパラメーターは、同じ入力およびパラメーターに対して再現可能な結果を保証します。呼び出し時に同じ seed 値を使用し、他のすべてのパラメーターが変更されていない場合、モデルは可能な限り同じ結果を返します。
有効な値:[0,2<sup>31</sup>-1]。
logprobs boolean (オプション):デフォルト値は false
出力トークンのログ確率を返すかどうかを指定します。有効な値は以下のとおりです。
思考フェーズ中に生成されるコンテンツ(reasoning_content)には、ログ確率は含まれません。
対応モデル
Qwen-plus シリーズのスナップショット(安定版モデルを除く)
Qwen-turbo シリーズのスナップショット(安定版モデルを除く)
Qwen3-vl-plus モデル(安定版モデルを含む)
Qwen3-vl-flash モデル(安定版モデルを含む)
Qwen3 オープンソースモデル
top_logprobs 整数 (オプション。デフォルト値:0)
各生成ステップで返す、最も可能性の高い候補トークンの数を指定します。
有効な値:0 ~ 5
このパラメーターは、logprobs が true の場合にのみ有効です。
stop 文字列または配列 (任意)
このパラメーターは、ストップワードを指定します。stop で指定した文字列または token_id がモデルによって生成されたテキストに出現した場合、生成処理は直ちに停止します。
禁止用語を指定することで、モデルの出力をコントロールできます。
stop が配列の場合、要素として token_id と文字列を同時に使用しないでください。たとえば、["Hello",104307] は無効な値です。
tools 配列 (オプション)
モデルが関数呼び出しで呼び出すことのできる、1 個以上のツールオブジェクトから構成される配列です。詳細については、「関数呼び出し 」をご参照ください。
tools を設定し、かつモデルがツールの呼び出しが必要と判断した場合、応答の tool_calls フィールドにツール情報が返されます。
プロパティ
type 文字列 (必須)
ツールの種別です。現在は function のみをサポートしています。
function オブジェクト (必須)
プロパティ
name 文字列 (必須)
ツール名です。英字、数字、アンダースコア (_)、ハイフン (-) のみを使用できます。最大長は 64 トークンです。
description 文字列 (必須)
ツールの説明文です。この説明により、モデルはツールをいつ・どのように呼び出すかを判断します。
parameters オブジェクト (オプション。デフォルト値は {})
ツールのパラメーターは、有効な JSON Schema を使用して記述する必要があります。JSON Schema の詳細については、この リンク をご参照ください。parameters が空の場合、そのツールには入力パラメーターがないことを意味します(例:時刻照会ツールなど)。
ツール呼び出しの精度を向上させるため、parameters を指定することを推奨します。
tool_choice 文字列またはオブジェクト (省略可能。デフォルト値は 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 は指定したツール関数の名前です。
思考モードのモデルでは、特定のツールへの呼び出しを強制することはサポートされていません。
parallel_tool_calls boolean (オプション。デフォルト値は false です。)
並列ツール呼び出しを有効にするかどうかを指定します。詳細については、「並列ツール呼び出し 」をご参照ください。
有効な値:
enable_search boolean (オプション):デフォルト値は false
Web 検索を有効化します。詳細については、「Web 検索 」をご参照ください。
有効な値:
true:有効化。
このパラメーターを有効化しても Web 検索がトリガーされない場合は、プロンプトの最適化を行うか、search_options パラメーター内の forced_search を有効にして強制検索を設定してください。
false:このオプションを無効化します。
Web 検索機能を有効化すると、トークン消費量が増加する場合があります。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合、extra_body オブジェクト内に含めてください。 設定方法は以下のとおりです:extra_body={"enable_search": True}。
search_options オブジェクト (任意)
Web 検索の戦略です。詳細については、「Web 検索 」をご参照ください。
プロパティ
forced_search ブール値 (任意。デフォルト値は false です。)
Web 検索を強制的に実行します。このパラメーターは、enable_search が true の場合にのみ有効です。
有効な値:
search_strategy 文字列 (任意)。デフォルト値:turbo
検索規模の戦略です。このパラメーターは、enable_search が true の場合にのみ有効です。
有効な値:
turbo(デフォルト):応答速度と検索効果のバランスを最適化した戦略です。ほとんどのシナリオに適しています。
max:より包括的な検索戦略を採用し、複数の検索エンジンを呼び出して、より詳細な結果を取得します。応答時間は長くなる可能性があります。
agent:Web 検索ツールおよび大規模言語モデル(LLM)を複数回呼び出し、複数のラウンドにわたって情報を取得・統合します。
この戦略は、qwen3.5-plus、qwen3.5-plus-2026-02-15、qwen3.5-flash、qwen3.5-flash-2026-02-23、qwen3-max、qwen3-max-2026-01-23、および qwen3-max-2025-09-23 のみでサポートされます。
有効化すると、この戦略では 検索ソースの返却 (enable_source: true)のみがサポートされ、その他の Web 検索機能は利用できません。
agent_max:「agent」ポリシーに Web スクレイピング機能を追加します。詳細については、「Web スクレイピング 」をご参照ください。
この戦略は、qwen3.5-plus、qwen3.5-plus-2026-02-15、qwen3.5-flash、qwen3.5-flash-2026-02-23、および qwen3-max と qwen3-max-2026-01-23 の思考モードでのみサポートされます。
有効化すると、この戦略では 検索ソースの返却 (enable_source: true)のみがサポートされ、その他の Web 検索機能は利用できません。
enable_search_extension ブール値 (任意)。デフォルト値:false
ドメイン固有の検索を有効化します。このパラメーターは、enable_search が true の場合にのみ有効です。
有効な値:
true:有効化します。
false:無効化します。
このパラメーターは標準の OpenAI パラメーターではありません。Python SDK を使用して呼び出す場合は、extra_body オブジェクト内に含めてください。 設定方法は以下のとおりです:extra_body={"search_options": xxx}。