É possível chamar modelos usando a API Chat compatível com OpenAI. Este documento descreve os parâmetros de entrada e saída e fornece exemplos de chamada.
Instruções
-
Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado
-
Escreva o texto em português do Brasil DO ZERO — esqueça a estrutura das frases em inglês
-
Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão
-
Copie os placeholders de xref (
{XREF_N}) literalmente, sem traduzi-los ou modificá-los -
Aplique todas as regras específicas do idioma com rigor
-
Siga as regras de stopwords com tolerância zero
-
Utilize o modo imperativo em etapas numeradas e listas de procedimentos
-
Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento
-
Varie os inícios de frase em listas e tabelas — nenhum início deve se repetir mais de 3 vezes
-
Retorne APENAS o documento markdown em português do Brasil, sem explicações
Singapore
Configuração de chamada do SDK para
base_url:https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1Requisição HTTP:
POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completionsUS (Virginia)
Defina a chamada do SDK para
base_urlcomo:https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1Endpoint HTTP:
POST https://{WorkspaceId}.us-east-1.maas.aliyuncs.com/compatible-mode/v1/chat/completionsChina (Beijing)
Parâmetro
base_urlna configuração do SDK:https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1Solicitação via HTTP:
POST https://{WorkspaceId}.cn-beijing.maas.aliyuncs.com/compatible-mode/v1/chat/completionsHong Kong (China)
Para chamadas de SDK, configure
base_urlcom o valor:https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1URL de requisição HTTP:
POST https://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com/compatible-mode/v1/chat/completionsGermany (Frankfurt)
Ao configurar o SDK, utilize este endereço para
base_url:https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1Destino da requisição HTTP:
POST https://{WorkspaceId}.eu-central-1.maas.aliyuncs.com/compatible-mode/v1/chat/completionsJapan (Tokyo)
Configuração de chamada do SDK para
base_url:https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1Requisição HTTP:
POST https://{WorkspaceId}.ap-northeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions
Substitua {WorkspaceId} pelo seu workspace ID real.
Obtain an API key e defina-o como uma variável de ambiente. Se você utilizar um SDK da OpenAI, também será necessário install the SDK.
ImportanteO Alibaba Cloud Model Studio lançou domínios específicos por workspace para as regiões China (Beijing), Singapore e China (Hong Kong). Os novos domínios dedicados oferecem desempenho superior e maior estabilidade para requisições de inferência. Recomendamos a migração para os novos domínios:
- China (Beijing): de
https://dashscope.aliyuncs.comparahttps://{WorkspaceId}.cn-beijing.maas.aliyuncs.com - Singapore: de
https://dashscope-intl.aliyuncs.comparahttps://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com - China (Hong Kong): de
https://cn-hongkong.dashscope.aliyuncs.comparahttps://{WorkspaceId}.cn-hongkong.maas.aliyuncs.com
O {WorkspaceId} corresponde ao ID do seu workspace, disponível na página Workspace Details no console do Alibaba Cloud Model Studio. O domínio existente permanece totalmente funcional.
Instruções
-
Leia o conteúdo em inglês para compreender O QUE precisa ser comunicado
-
Escreva o português brasileiro DO ZERO — esqueça a estrutura das frases em inglês
-
Preserve toda a formatação markdown, blocos de código, links e imagens exatamente como estão
-
Copie os placeholders xref (
{XREF_N}) literalmente, sem traduzir ou modificar -
Aplique todas as regras específicas de idioma rigorosamente
-
Aplique as regras de stopwords com tolerância zero
-
Use o modo imperativo em passos numerados e listas de procedimentos
-
Garanta a consistência terminológica — o mesmo termo deve ter a mesma tradução em todo o documento
-
Varie os inícios de frase em listas e tabelas — nenhum iniciador deve se repetir 3 vezes ou mais
-
Retorne APENAS o documento markdown em português brasileiro, sem explicações
Corpo da requisição
Entrada de texto
Python
import os from openai import OpenAI client = OpenAI( # If the environment variable is not configured, replace the following line with your Model Studio API key: api_key="sk-xxx" # API keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key api_key=os.getenv("DASHSCOPE_API_KEY"), # Replace {WorkspaceId} with your actual workspace ID. URLs vary by region. base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1", ) completion = client.chat.completions.create( # This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/en/model-studio/getting-started/models model="qwen3.8-max", 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
// This code uses OpenAI SDK version 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 keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key .apiKey(System.getenv("DASHSCOPE_API_KEY")) // Replace {WorkspaceId} with your actual workspace ID. URLs vary by region. .baseUrl("https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1") .build(); ChatCompletionCreateParams params = ChatCompletionCreateParams.builder() .addUserMessage("Who are you?") .model("qwen3.8-max") .build(); try { ChatCompletion chatCompletion = client.chat().completions().create(params); System.out.println(chatCompletion); } catch (Exception e) { System.err.println("Error occurred: " + e.getMessage()); e.printStackTrace(); } } }Node.js
import OpenAI from "openai"; const openai = new OpenAI( { // If the environment variable is not configured, replace the following line with your Model Studio API key: apiKey: "sk-xxx", // API keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key apiKey: process.env.DASHSCOPE_API_KEY, // Replace {WorkspaceId} with your actual workspace ID. URLs vary by region. baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1" } ); async function main() { const completion = await openai.chat.completions.create({ model: "qwen3.8-max", // This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/en/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 keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key option.WithAPIKey(os.Getenv("DASHSCOPE_API_KEY")), // defaults to os.LookupEnv("OPENAI_API_KEY") // Replace {WorkspaceId} with your actual workspace ID. URLs vary by region. option.WithBaseURL("https://{WorkspaceId}.ap-southeast-1.maas.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) { // If the environment variable is not configured, replace the following line with your Model Studio API key: string? apiKey = "sk-xxx"; // API keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/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; } // Set the request URL and content // Replace {WorkspaceId} with your actual workspace ID. URLs vary by region. string url = "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions"; // This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/en/model-studio/getting-started/models string jsonContent = @"{ ""model"": ""qwen-plus"", ""messages"": [ { ""role"": ""system"", ""content"": ""You are a helpful assistant."" }, { ""role"": ""user"", ""content"": ""Who are you?"" } ] }"; // Send the request and get the response string result = await SendPostRequestAsync(url, jsonContent, apiKey); // Print the result Console.WriteLine(result); } private static async Task<string> SendPostRequestAsync(string url, string jsonContent, string apiKey) { using (var content = new StringContent(jsonContent, Encoding.UTF8, "application/json")) { // Set request headers httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", apiKey); httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // Send the request and get the response HttpResponseMessage response = await httpClient.PostAsync(url, content); // Process the response if (response.IsSuccessStatusCode) { return await response.Content.ReadAsStringAsync(); } else { return $"Request failed: {response.StatusCode}"; } } } }PHP (HTTP)
<?php // Set the request URL // Replace {WorkspaceId} with your actual workspace ID. URLs vary by region. $url = 'https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions'; // If the environment variable is not configured, replace the following line with your Model Studio API key: $apiKey = "sk-xxx"; // API keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key $apiKey = getenv('DASHSCOPE_API_KEY'); // Set request headers $headers = [ 'Authorization: Bearer '.$apiKey, 'Content-Type: application/json' ]; // Set the request body $data = [ // This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/en/model-studio/getting-started/models "model" => "qwen-plus", "messages" => [ [ "role" => "system", "content" => "You are a helpful assistant." ], [ "role" => "user", "content" => "Who are you?" ] ] ]; // Initialize a cURL session $ch = curl_init(); // Set cURL options curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_POST, true); curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); // Execute the cURL session $response = curl_exec($ch); // Check for errors if (curl_errno($ch)) { echo 'Curl error: ' . curl_error($ch); } // Close the cURL resource curl_close($ch); // Print the response echo $response; ?>curl
Substitua {WorkspaceId} pelo ID do seu workspace. As URLs variam conforme a região. Você pode obter uma chave de API em https://www.alibabacloud.com/help/en/model-studio/get-api-key.
curl -X POST https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions \ -H "Authorization: Bearer $DASHSCOPE_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "model": "qwen3.8-max", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Who are you?" } ] }'Saída em streaming
Para mais informações sobre o uso, consulte Streaming output.
Python
import os from openai import OpenAI client = OpenAI( # If the environment variable is not configured, replace the following line with your Model Studio API key: api_key="sk-xxx" # API keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key api_key=os.getenv("DASHSCOPE_API_KEY"), base_url="https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1", ) completion = client.chat.completions.create( model="qwen3.8-max", # This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/en/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 keys vary by region. Get API Key: https://www.alibabacloud.com/help/en/model-studio/get-api-key apiKey: process.env.DASHSCOPE_API_KEY, baseURL: "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1" } ); async function main() { const completion = await openai.chat.completions.create({ model: "qwen3.8-max", // This example uses qwen-plus. You can replace it with another model name as needed. Model list: https://www.alibabacloud.com/help/en/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
Substitua {WorkspaceId} pelo ID do seu workspace. As URLs variam conforme a região. Você pode obter uma chave de API em https://www.alibabacloud.com/help/en/model-studio/get-api-key.
curl --location "https://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1/chat/completions" \ --header "Authorization: Bearer $DASHSCOPE_API_KEY" \ --header "Content-Type: application/json" \ --data '{ "model": "qwen3.8-max", "messages": [ { "role": "system", "content": "You are a helpful assistant." }, { "role": "user", "content": "Who are you?" } ], "stream":true }'Entrada de imagem
modelPara mais informações sobre como modelos de linguagem grandes analisam imagens, consulte Image and video understanding.
string(Required)Nome do modelo.Modelos suportados: Qwen Large Language Model (versões comerciais e open source), Qwen-VL, Qwen-Coder, Qwen-Omni, Qwen-Math, DeepSeek, Kimi, GLM e MiniMax.Para nomes específicos de modelos e detalhes de faturamento, consulte o console do Model Studio.
messages
array(Required)Contexto transmitido ao modelo de linguagem grande, organizado em ordem conversacional.
stream
boolean(Optional) Valor padrão:falseEspecifica se a resposta deve ser em modo de saída streaming. Para mais informações, consulte Streaming output.
Valores válidos:
false: O modelo retorna o conteúdo completo após a conclusão da geração.true: O modelo gera o conteúdo conforme ele é produzido. Um chunk de dados é retornado cada vez que uma parte do conteúdo é gerada. Leia esses chunks para montar a resposta completa.
Recomendamos definir este parâmetro como
truepara melhorar a experiência do usuário e reduzir o risco de timeouts.ObservaçãoPara chamadas sem streaming, o timeout máximo é de pelo menos 300 segundos e varia conforme a região e o modelo. Se não for concluído a tempo, o service interrompe a solicitação e retorna o conteúdo gerado em vez de um erro. Recomendamos o uso de chamadas com streaming para cenários que exigem saídas longas. Para mais informações, consulte a descrição de timeout em Overview of text generation models.
stream_options
object(Optional)Itens de configuração para saída streaming. Este parâmetro só tem efeito quando
streamestá definido comotrue.modalities
array(Optional) Valor padrão:["text"]Modalidade dos dados de saída. Este parâmetro se aplica apenas aos modelos Qwen-Omni. Para mais informações, consulte Non-real-time (Qwen-Omni).
Valores válidos:
["text","audio"]: Saída de texto e áudio.["text"]: Apenas saída de texto.
audio
object(Optional)Voz e formato do áudio de saída. Este parâmetro se aplica apenas aos modelos Qwen-Omni e exige que o parâmetro
modalitiesesteja definido como["text","audio"]. Para mais informações, consulte Non-real-time (Qwen-Omni).Propriedades
voice
string(Required)Voz do áudio de saída. Para mais informações, consulte Non-real-time (Qwen-Omni).
format
string(Required)Formato do áudio de saída. Apenas
wavé suportado.temperature
float(Opcional)Temperatura de amostragem que controla a diversidade do texto gerado pelo modelo.
Valores mais altos resultam em textos mais diversos, enquanto valores mais baixos produzem textos mais determinísticos.
Intervalo de valores: [0, 2)
Tanto temperature quanto top_p controlam a diversidade do texto gerado. Recomendamos definir apenas um deles. Para mais informações, consulte Overview.
Não modifique o valor padrão de temperature para modelos QVQ.
top_p
float(Opcional)Limiar de probabilidade para amostragem de núcleo, responsável por controlar a diversidade do texto gerado pelo modelo.
Um top_p mais alto gera textos mais diversos. Um top_p mais baixo resulta em textos mais determinísticos.
Intervalo de valores: (0, 1.0]
Tanto temperature quanto top_p influenciam a diversidade do texto gerado. Recomendamos configurar apenas um desses parâmetros. Para mais detalhes, consulte Overview.
Não modifique o valor padrão de top_p para modelos QVQ.
top_k
integer(Opcional)Define o número de tokens candidatos para amostragem durante a geração. Valores maiores aumentam a aleatoriedade da saída, enquanto valores menores tornam a saída mais determinística. Se definido como
nullou superior a 100, a estratégiatop_ké desativada e apenas a estratégiatop_pentra em vigor. O valor deve ser um número inteiro maior ou igual a 0.Valores padrão de top_k
Série QVQ: 10;
Série QwQ: 40;
modelos anteriores à série qwen-vl-plus, e qwen2.5-omni-7b: 1;
Série Qwen3-Omni-Flash: 50;
Demais modelos: 20.
Série GLM (fornecida pela Alibaba Cloud): 20;
As séries DeepSeek, Kimi e MiniMax não suportam o parâmetro top_k.
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração: extra_body={"top_k":xxx}.
Não altere o valor padrão de top_k para modelos QVQ.
repetition_penalty
float(Opcional)Penalidade de repetição aplicada a sequências consecutivas durante a geração do modelo. Aumentar repetition_penalty reduz a repetição na saída. O valor 1.0 indica ausência de penalidade. Não há intervalo estrito, desde que o valor seja maior que 0.
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração: extra_body={"repetition_penalty":xxx}.
Ao usar o modelo qwen-vl-plus_2025-01-25 para extração de texto, defina repetition_penalty como 1.0.
Mantenha o valor padrão de repetition_penalty para modelos QVQ.
presence_penalty
float(Opcional)Controla a repetição de conteúdo quando o modelo gera texto.
Intervalo de valores: [-2.0, 2.0]. Valores positivos diminuem a repetição, enquanto valores negativos a aumentam.
Aumente este valor em cenários que exigem diversidade, diversão ou criatividade, como escrita criativa ou brainstorming. Diminua o valor em contextos que priorizam consistência e precisão terminológica, como documentos técnicos ou textos formais.
Valores padrão de presence_penalty
Qwen3.8 (modo sem pensamento), Qwen3.7 (modo sem pensamento), Qwen3.6 (modo sem pensamento), Qwen3.5-Omni, Qwen3.5 (modo sem pensamento), qwen3-max-preview (modo de pensamento), Qwen3 (modo sem pensamento), série Qwen3-Instruct/1.7b/4b (modo de pensamento), série QVQ, qwen-max, série qwen2.5-vl, série qwen-vl-max, qwen-vl-plus, Qwen3-VL (sem pensamento): 1.5;
qwen3-8b/14b/32b/30b-a3b/235b-a22b (modo de pensamento), qwen-plus/qwen-plus-latest/2025-04-28 (modo de pensamento), qwen-turbo/qwen-turbo/2025-04-28 (modo de pensamento): 0.5;
Todos os demais: 0.0.
Série DeepSeek (fornecida pela Alibaba Cloud): deepseek-r1, deepseek-r1-0528, versão destilada deepseek-r1-distill-qwen: 1;
Série Kimi (fornecida pela Alibaba Cloud): kimi-k2.7-code, kimi-k2.6, kimi-k2.5: 0.0;
Série Kimi (fornecida pela Moonshot AI): 0.0;
Série MiniMax (fornecida pela Alibaba Cloud): MiniMax-M2.5, MiniMax-M2.1: 0.0;
Outros modelos DeepSeek, Kimi, GLM e MiniMax não possuem valor padrão.
Como funciona
Se o valor do parâmetro for positivo, o modelo aplica uma penalidade aos tokens já presentes no texto. Essa penalidade independe da frequência de aparição do token. Isso reduz a probabilidade de reaparecimento desses tokens, diminuindo a repetição de conteúdo e aumentando a diversidade vocabular.
Exemplo
Prompt: Traduza esta frase para chinês: "This movie is good. The plot is good, the acting is good, the music is good, and overall, the whole movie is just good. It is really good, in fact. The plot is so good, and the acting is so good, and the music is so good."
Valor do parâmetro 2.0: This movie is great. The plot is fantastic, the acting is superb, and the music is also very beautiful. Overall, the entire film is just incredible. It is actually truly outstanding. The storyline is very exciting, the performances are excellent, and the soundtrack is so moving.
Valor do parâmetro 0.0: This movie is good. The plot is good, the acting is good, and the music is good. Overall, the whole movie is very good. In fact, it is really great. The plot is very good, the acting is also very excellent, and the music is equally outstanding.
Valor do parâmetro -2.0: This movie is good. The plot is good, the acting is good, and the music is good. Overall, the whole movie is good. In fact, it is really good. The plot is very good, the acting is very good, and the music is very good.
Ao utilizar o modelo qwen-vl-plus para extração de texto, configure presence_penalty como 1.5.
Evite alterar o valor padrão de presence_penalty em modelos QVQ.
response_format
object(Opcional) Valor padrão:{"type": "text"}Formato da resposta. Valores válidos:
{"type": "text"}: Gera uma resposta em texto.{"type": "json_object"}: Produz uma string formatada em JSON padrão.{"type": "json_schema", "json_schema": {...}}: Produz uma string JSON estritamente em conformidade com o JSON Schema especificado, o que permite controlar com precisão a estrutura da saída e os tipos dos campos.
Para mais informações, consulte Structured output. Os modos
json_objectejson_schemasão compatíveis com modelos diferentes. Para mais informações, consulte Supported models.Caso especifique
{"type": "json_object"}, instrua explicitamente o modelo a gerar JSON no prompt, por exemplo: "Por favor, responda em formato JSON". Caso contrário, ocorrerá um erro. Caso especifique{"type": "json_schema", ...}, o prompt não precisa conter a palavra-chave JSON.Propriedades
type
string(Obrigatório)Formato do conteúdo retornado. Valores válidos:
text: Retorna uma resposta em texto.json_object: Retorna uma string formatada em JSON padrão.json_schema: Retorna uma string JSON estritamente em conformidade com a estrutura definida no campojson_schema.
json_schema
object(Opcional)Obrigatório quando
typeéjson_schema. Define a estrutura JSON que a saída do modelo deve seguir. Para mais informações, consulte Obtendo saída estruturada.Ao usar o método
parsedo SDK da OpenAI, você pode passar diretamente uma classe Pydantic do Python ou um objeto Zod do Node.js. O SDK converte automaticamente para JSON Schema, sem necessidade de construí-lo manualmente.Propriedades
name
string(Obrigatório)O nome do schema.
schema
object(Obrigatório)O objeto JSON Schema que descreve a estrutura da saída. Use
propertiespara definir a estrutura dos campos,requiredpara listar os campos obrigatórios eadditionalPropertiespara controlar se campos não definidos no schema podem ser retornados. Recomendamos definiradditionalPropertiescomofalse, para que apenas os campos definidos sejam retornados. Tipos de dados compatíveis: string, number, integer, boolean, object, array e enum. Para mais informações, consulte Guia de configuração.strict
boolean(Opcional)Indica se a estrutura definida por
schemadeve ser seguida estritamente. Recomendamos definir este parâmetro comotrue.max_tokens
integer(Opcional, será descontinuado)Este parâmetro será descontinuado. Para novas integrações, utilize
max_completion_tokens.O significado deste parâmetro varia conforme o modelo:
- deepseek-v4-pro, deepseek-v4-pro-0813, deepseek-v4-flash, deepseek-v4-flash-0731: Número máximo de tokens para a soma da resposta do modelo e do conteúdo da cadeia de pensamento. Se a saída exceder esse valor, a geração é interrompida antecipadamente e o
finish_reasonretornado élength. - glm-5.2: Quando o parâmetro
thinking_budgetnão é informado,max_tokensrepresenta o limite máximo de tokens para a soma da resposta e da cadeia de pensamento; se ultrapassado, a geração para precocemente comfinish_reasonigual alength. Ao informarthinking_budget,max_tokenslimita apenas a resposta do modelo, enquanto os tokens da cadeia de pensamento são controlados separadamente porthinking_budget. - Outros modelos: Limite máximo de tokens para a resposta do modelo. Caso o conteúdo gerado ultrapasse esse valor, a geração cessa prematuramente e o
finish_reasonretornado serálength.
Os valores padrão e máximo correspondem ao comprimento máximo de saída do modelo.
max_completion_tokens
integer(Opcional)Comprimento máximo da saída do modelo, abrangendo tanto a cadeia de pensamento quanto a resposta final. Se a saída superar esse limite, a geração é interrompida e o
finish_reasonretornado élength.Tanto o valor padrão quanto o máximo equivalem ao comprimento máximo de saída suportado pelo modelo.
Diferença em relação a
max_tokens:max_completion_tokensrestringe a saída completa (cadeia de pensamento + resposta), ao passo quemax_tokenslimita apenas a parte da resposta. Para modelos de pensamento, recomendamos o uso demax_completion_tokens.Modelos compatíveis:
- Qwen Max: Qwen3.7-Max e posteriores
- Qwen Plus: Qwen3.5-Plus e posteriores
- Qwen Flash: Qwen3.5-Flash e posteriores
- Kimi: kimi-k2.5 e posteriores
- GLM: glm-5 e posteriores
- MiniMax: MiniMax-M2.5 e posteriores
- DeepSeek: deepseek-v3, deepseek-r1, deepseek-r1-0528, deepseek-v3.1, deepseek-v3.2, deepseek-v3.2-exp, deepseek-v4-pro, deepseek-v4-flash e posteriores
A lista acima não inclui modelos fornecidos diretamente por terceiros.
Pode haver uma diferença de até 10 tokens entre a contagem real de tokens de saída e o valor especificado em
max_completion_tokens.vl_high_resolution_images
boolean(Opcional) Valor padrão:falseDefine se o limite de pixels das imagens de entrada deve ser elevado para a quantidade correspondente a 16384 tokens. Para mais detalhes, consulte Processing high-resolution images.
-
vl_high_resolution_images: trueadota uma estratégia de resolução fixa e ignora a configuraçãomax_pixels. Se a resolução for excedida, a contagem total de pixels da imagem é reduzida proporcionalmente para permanecer dentro desse limite.Clique para ver os limites de pixels de cada modelo
Quando
vl_high_resolution_imageséTrue, os limites de pixels variam conforme o modelo:- Para as séries Qwen3.8, Qwen3.7, Qwen3.6,
Qwen3.5,Qwen3-VL,qwen-vl-max,qwen-vl-max-0813,qwen-vl-plus,qwen-vl-plus-0815e modelos , o valor é16777216. (CadaTokencorresponde a32 32pixels. O valor total é calculado como1638432*32.) Série QVQe demais modelos dasérie Qwen2.5-VL:12845056(1tokenequivale a28 28pixels, totalizando1638428*28)
- Para as séries Qwen3.8, Qwen3.7, Qwen3.6,
-
Com
vl_high_resolution_imagesdefinido comofalse, o limite de pixels segue a configuração demax_pixels. Se a contagem de pixels da imagem de entrada ultrapassarmax_pixels, a imagem é redimensionada para ficar dentro do limite demax_pixels. O limite padrão de pixels de cada modelo corresponde ao valor padrão demax_pixels.
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração: extra_body={"vl_high_resolution_images":xxx}.
n
integer(Opcional) Valor padrão: 1Quantidade de respostas a serem geradas. O intervalo válido é
1-4. Ideal para cenários que demandam múltiplas respostas candidatas, como escrita criativa ou textos publicitários.Compatível apenas com Qwen3 (non-thinking mode).
Se o parâmetro
toolsfor utilizado, definancomo 1.Aumentar n eleva o consumo de tokens de saída, mas não afeta o consumo de tokens de entrada.
enable_thinking
boolean(Opcional)Em modelos de pensamento misto, que operam nos modos com e sem pensamento, este parâmetro ativa o modo de pensamento. Aplica-se aos modelos Qwen3.7, Qwen3.6, Qwen3.5, Qwen3, Qwen3-Omni-Flash e Qwen3-VL, além das séries DeepSeek-V4-Pro/V4-Flash, DeepSeek-V3.2/V3.2-exp/V3.1, Kimi-K2.7-code (apenas modelo de pensamento), séries Kimi-K2.6/K2.5 e série GLM. A série DeepSeek-V4 já vem com o pensamento ativado por padrão. É possível ajustar a intensidade da inferência através do parâmetro
reasoning_effort.Valores válidos:
-
true: AtivarQuando ativado, o conteúdo do pensamento é retornado no campo
reasoning_content. -
false: Desativar
Valores padrão para diferentes modelos: Supported models
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração:
extra_body={"enable_thinking": xxx}.Em chamadas HTTP diretas (por exemplo, via curl) sem o SDK da OpenAI, não utilize
extra_body. Insiraenable_thinkingno nível superior do corpo da requisição (body), ao lado de parâmetros comomodelemessages, por exemplo:"enable_thinking": true.Os modelos MiniMax e MiniMax-M3 da Xiyu Technology não utilizam este parâmetro. Utilize o parâmetro
thinkingem seu lugar.thinking
object(Opcional) Valor padrão:{"type":"adaptive"}Gerencia o modo de pensamento dos modelos MiniMax/MiniMax-M3 fornecidos pela MiniMax.
Valores válidos para
thinking.type:adaptive: Automático (padrão). O modelo decide se deve pensar.disabled: Desativa o pensamento e responde diretamente.
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração:
extra_body={"thinking": {"type": "adaptive"}}.preserve_thinking
boolean(Opcional) Valor padrão:false(Valor padrão para qwen3.8-max:true)Indica se o reasoning_content das mensagens do assistente no histórico da conversa deve ser anexado à entrada do modelo. Indicado para situações em que o modelo precisa consultar o processo de pensamento anterior.
Atualmente compatível com qwen3.7-max, qwen3.7-max-2026-05-20 e snapshots subsequentes, qwen3.6-max-preview, qwen3.7-plus, qwen3.7-plus-2026-05-26, qwen3.6-plus, qwen3.6-plus-2026-04-02, qwen3.8-flash, qwen3.7-flash, qwen3.7-flash-2026-07-15, qwen3.6-flash, qwen3.6-flash-2026-04-16, qwen3.8-max (ativado por padrão), kimi-k2.6 (implantado no Alibaba Cloud Model Studio), kimi-k2.7-code (implantado no Alibaba Cloud Model Studio, ativado por padrão), kimi/kimi-k2.7-code-highspeed (fornecido pela Moonshot AI, ativado por padrão) e kimi/kimi-k2.7-code (fornecido pela Moonshot AI, ativado por padrão).
Importante (qwen3.8-max): No qwen3.8-max, preserve_thinking é true por padrão. Envie todo o reasoning_content histórico no campo reasoning_content. NÃO concatene reasoning_content no campo content. Essa prática pode degradar o desempenho do modelo.
- Se as mensagens históricas não possuírem reasoning_content, ativar este parâmetro não causará erros.
- Quando ativado, o reasoning_content da conversa histórica integra a contagem de tokens de entrada e é faturado.
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração:
extra_body={"preserve_thinking": True}.thinking_budget
integer(Opcional)Número máximo de tokens destinados ao processo de pensamento. Aplica-se aos modelos Qwen3.8, Qwen3.7, Qwen3.6, Qwen3.5, Qwen3-VL, Qwen3, GLM e Kimi, exceto kimi-k3, que não suporta este parâmetro. Para mais informações, consulte Limit thinking length.
O valor padrão corresponde ao comprimento máximo da cadeia de pensamento do modelo. Consulte a lista de modelos para mais detalhes.
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração:
extra_body={"thinking_budget": xxx}.reasoning_effort
string(Opcional)Regula a intensidade da inferência dos modelos. Os valores válidos e padrões variam conforme o modelo.
Séries DeepSeek-V4 e GLM (Valor padrão:
high)Valores válidos:
high: Inferência de alta intensidademax: Inferência de intensidade máxima
low e medium são mapeados para high, e xhigh é mapeado para max.
Aplica-se a glm-5.2, glm-5.1, glm-5, deepseek-v4-pro e deepseek-v4-flash (exceto deepseek-v4-flash-0731).
ZHIPU/GLM-5.3, modelo kimi-k3(fornecido pela Alibaba Cloud): Valor padrão:
maxValores válidos:
max(padrão): raciocínio profundohigh: raciocínio aprimoradolow: raciocínio leve
Este modelo sempre executa o pensamento.
enable_thinkingaceita apenastrue. Enviarfalsecausará falha na requisição da API.deepseek-v4-flash-0731 & deepseek-v4-pro-0813: Valor padrão:
highValores válidos:
max(padrão): Inferência de intensidade máximahigh: Inferência padrãolow: Inferência de baixa intensidade
Mapeamento de valores padrão da OpenAI:
mediumé mapeado para high,xhighé mapeado para high.kimi/kimi-k3 (Valor padrão:
max; apenasmaxé suportado)Valor válido:
max: Inferência de intensidade máxima
qwen3.8-max: Valor padrão:
xhighValores válidos:
xhigh(padrão): Inferência de intensidade máximamedium: Inferência padrãolow: Inferência de baixa intensidade
Mapeamento de valores padrão da OpenAI:
maxé mapeado para xhigh,highé mapeado para xhigh,minimalé mapeado para low, enoneé mapeado para enable_thinking=False.Definir valores diferentes dos válidos ou mapeados acima resultará em erro.
Na série qwen3.8, reasoning_effort e thinking_budget não podem ser configurados simultaneamente. Definir ambos gerará um erro. Contudo, eles permitem conversão mútua:
- Sem thinking_budget definido, os níveis de reasoning_effort são mapeados automaticamente para thinking_budget:
lowcorresponde a 4096,mediumcorresponde a 16384 exhighcorresponde a 262144. - Sem reasoning_effort definido, thinking_budget é convertido automaticamente para reasoning_effort: 0–4096 corresponde a
low, 4097–16384 corresponde amediume 16385–262144 corresponde axhigh. - Se nenhum dos dois for definido, utilizam-se o thinking_budget padrão (131072) e o reasoning_effort padrão (xhigh).
Este não é um parâmetro padrão da OpenAI. Ao chamar usando o SDK Python, inclua-o no objeto extra_body. Configuração:
extra_body={"reasoning_effort": "high"}.tool_stream
boolean(Opcional) Valor padrão:falseTem efeito apenas quando
Lista de compatibilidade da série Qwen:stream=true. Atualmente, esse parâmetro é compatível somente com as séries Qwen e GLM.- Série qwen-max: modalidade de texto das séries qwen3.8-max e qwen3.7-max
- Série qwen-plus: modalidade de texto das séries qwen3.7-plus e qwen3.6-plus, além da modalidade omni da série qwen3.5-plus
- Série qwen-flash: modalidade omni das séries qwen3.8-flash, qwen3.7-flash, qwen3.6-flash e qwen3.5-flash
O
tool_streamafeta apenas parâmetros de ferramentas complexas. Para parâmetros normais, a saída em streaming é ativada desde questream=true. Ferramentas complexas são aquelas cuja definição contém tipos de parâmetro comoarrayouobject.tool_stream=false: Os parâmetros de ferramentas complexas são gerados de uma só vez. Esse é o comportamento padrão e oferece maior precisão para formatos complexos.tool_stream=true: Os parâmetros de ferramentas complexas são gerados em streaming, o que evita riscos de timeout em formatos complexos.
Lista de compatibilidade da série GLM: glm-4.6, glm-4.7, glm-5 e glm-5.1.
Referência de uso para a série GLM:tool_stream=false: Os parâmetros da ferramenta são gerados de uma só vez. Esse é o comportamento padrão e oferece maior precisão para formatos complexos.tool_stream=true: Os parâmetros da ferramenta são gerados em streaming, o que evita riscos de timeout em formatos complexos.
Este parâmetro não é um parâmetro padrão da OpenAI. Ao chamar usando o Python SDK, coloque-o no objeto extra_body. Configuração:
extra_body={"tool_stream": true}.enable_code_interpreter
boolean(Opcional) Valor padrão:falseDefine se o recurso de interpretador de código deve ser ativado. Para mais informações, consulte Code interpreter.
Valores válidos:
true: Ativarfalse: Desativar
Este parâmetro não é um parâmetro padrão da OpenAI. Ao chamar usando o Python SDK, coloque-o no objeto extra_body. Configuração:
extra_body={"enable_code_interpreter": xxx}.seed
integer(Opcional)Semente de número aleatório. Utilize este parâmetro para garantir resultados reproduzíveis com a mesma entrada e os mesmos parâmetros. Se você passar o mesmo valor de
seedem uma chamada e os demais parâmetros permanecerem inalterados, o modelo retornará o mesmo resultado sempre que possível.Intervalo de valores:
[0,2<sup>31</sup>−1].logprobs
boolean(Opcional) Valor padrão:falseDetermina se as probabilidades logarítmicas dos tokens de saída devem ser retornadas. Valores válidos:
-
trueRetornar
-
falseNão retornar
O conteúdo gerado durante a fase de raciocínio (
reasoning_content) não retorna probabilidades logarítmicas.Modelos compatíveis
- Modelos snapshot da série qwen-plus (exceto versões estáveis)
- Modelos snapshot da série qwen-turbo (exceto versões estáveis)
- Modelos da série qwen3-vl-plus (incluindo versões estáveis)
- Modelos da série qwen3-vl-flash (incluindo versões estáveis)
- Modelos open source do Qwen3
top_logprobs
integer(Opcional) Valor padrão: 0Especifica a quantidade de tokens candidatos mais prováveis a serem retornados em cada etapa de geração.
Intervalo de valores: [0, 5]
Esse parâmetro só tem efeito quando
logprobsétrue.stop
string or array(Opcional)Utilizado para definir palavras de parada. Quando uma string ou
token_idespecificado emstopaparece no texto gerado, a geração é interrompida imediatamente.É possível passar palavras sensíveis para controlar a saída do modelo.
Quando stop for um array, não é permitido combinar
token_ide strings como elementos. Por exemplo, não especifique["Hello",104307].tools
array(Opcional)Um array contendo um ou mais objetos de ferramenta que o modelo pode chamar via Function Calling. Para mais informações, consulte Function calling.
Se
toolsestiver definido e o modelo determinar que uma ferramenta precisa ser chamada, a resposta retornará as informações da ferramenta emtool_calls.Propriedades
type
string(Obrigatório)Tipo da ferramenta. Atualmente, apenas
functioné suportado.function
object(Obrigatório)Propriedades
name
string(Obrigatório)Nome da ferramenta. São permitidos apenas letras, números, sublinhados (
_) e hifens (-). O comprimento máximo é de 64 tokens.description
string(Obrigatório)Descrição da ferramenta, que auxilia o modelo a decidir quando e como chamá-la.
parameters
object(Opcional) Valor padrão:{}Descrição dos parâmetros da ferramenta, que deve ser um JSON Schema válido. Para detalhes sobre JSON Schema, consulte este link. Se o parâmetro
parametersestiver vazio, a ferramenta não possui parâmetros de entrada, como ocorre em uma ferramenta de consulta de hora.Para melhorar a precisão das chamadas de ferramenta, recomendamos passar
parameters.tool_choice
string or object(Opcional) Valor padrão:autoEstratégia de seleção de ferramentas. Defina este parâmetro para forçar um método específico de chamada de ferramenta para determinado tipo de problema, como usar sempre uma ferramenta específica ou desativar todas as ferramentas.
Valores válidos:
-
autoO modelo de linguagem grande escolhe a estratégia de ferramenta.
-
noneSe não quiser chamar nenhuma ferramenta, defina o parâmetro
tool_choicecomonone. -
{"type": "function", "function": {"name": "the_function_to_call"}}Para forçar a chamada de uma ferramenta específica, defina o parâmetro
tool_choicecomo{"type": "function", "function": {"name": "the_function_to_call"}}, ondethe_function_to_callé o nome da função da ferramenta especificada.Modelos em modo de raciocínio não suportam a imposição de chamada de uma ferramenta específica.
parallel_tool_calls
boolean(Opcional) Valor padrão:falseDefine se a chamada paralela de ferramentas deve ser ativada. Para mais informações, consulte Parallel tool calling.
Valores válidos:
true: Ativarfalse: Desativar
enable_search
boolean(Opcional) Valor padrão:falseDefine se a busca na web deve ser ativada. Para mais informações, consulte Web search.
Valores válidos:
-
true: Ativar.Se a busca na web não for executada após a ativação, otimize o prompt ou defina o parâmetro
forced_searchemsearch_optionspara habilitar a busca forçada. -
false: Desativar.
Ativar o recurso de busca na web pode aumentar o consumo de tokens.
Este parâmetro não é um parâmetro padrão da OpenAI. Ao chamar usando o Python SDK, coloque-o no objeto extra_body. Configuração:
extra_body={"enable_search": True}.search_options
object(Opcional)Estratégia para busca na web. Para mais informações, consulte Web search.
Propriedades
forced_search
boolean(Opcional) Valor padrão:falseDefine se a busca na web deve ser forçada. Este parâmetro só tem efeito quando
enable_searchestá definido comotrue.Valores válidos:
- true: Forçar ativação.
- false: Não forçar ativação. O modelo decide se realiza a busca na web.
search_strategy
string(Opcional) Valor padrão:turboEstratégia de busca. Este parâmetro só tem efeito quando
enable_searchestá definido comotrue.Valores válidos:
-
turbo(Padrão): Equilibra velocidade de resposta e eficácia da busca. Adequado para a maioria dos cenários. -
max: Adota uma estratégia de busca mais abrangente. Pode acionar motores de busca de múltiplas fontes para obter resultados mais detalhados, mas o tempo de resposta pode ser maior. -
agent: Permite chamar a ferramenta de busca na web e o modelo de linguagem grande várias vezes para realizar recuperação de informações em múltiplas turnos e integração de conteúdo.Esta estratégia aplica-se apenas a 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, qwen3.5-omni-plus, qwen3.5-omni-plus-2026-03-15, qwen3.5-omni-flash e qwen3.5-omni-flash-2026-03-15.
-
agent_max: Suporta web scraping baseado na estratégiaagent. Para mais informações, consulte Web scraping.Esta estratégia aplica-se apenas ao modo de raciocínio do qwen3-max e qwen3-max-2026-01-23.
enable_search_extension
boolean(Opcional) Valor padrão:falseDefine se a busca vertical deve ser ativada. Este parâmetro só tem efeito quando
enable_searchestá definido comotrue.Valores válidos:
true: Ativar.false: Desativar.
Este parâmetro não é um parâmetro padrão da OpenAI. Ao chamar usando o Python SDK, coloque-o no objeto extra_body. Configuração:
extra_body={"search_options": xxx}.clear_thinking
boolean(Opcional) Valor padrão: falseControla se o
reasoning_content(processo de raciocínio) de turnos anteriores em uma conversa de múltiplos turnos é usado como entrada de contexto para o modelo. Este parâmetro é compatível apenas com os modelos da série GLM: glm-5.2, glm-5.1, glm-5 e glm-4.7.Este parâmetro não é um parâmetro padrão da OpenAI. Ao chamar usando o Python SDK, coloque-o no objeto extra_body. Configuração:
extra_body={"skill": [...]}.true: Ignora oreasoning_contentde turnos anteriores e usa apenas texto visível, chamadas de ferramenta, resultados e outro conteúdo não inferencial como entrada de contexto. Isso reduz o tamanho do contexto e o custo.false(Padrão): Mantém oreasoning_contentde turnos anteriores e o fornece ao modelo junto com o contexto. Para ativar o Pensamento Preservado, você deve passar oreasoning_contenthistórico completo, sem modificações e na ordem original dentro das mensagens. A ausência, corte, reescrita ou reordenação degrada o desempenho ou causa falhas.
Objeto de resposta de chat (saída não streaming)
{ "choices": [ { "message": { "role": "assistant", "content": "I am a large-scale language model developed by Alibaba Cloud. My name is Qwen." }, "finish_reason": "stop", "index": 0, "logprobs": null } ], "object": "chat.completion", "usage": { "prompt_tokens": 3019, "completion_tokens": 104, "total_tokens": 3123, "prompt_tokens_details": { "cached_tokens": 2048 } }, "created": 1735120033, "system_fingerprint": null, "model": "qwen3.8-max", "id": "chatcmpl-6ada9ed2-7f33-9de2-8bb0-78bd4035025a" }id
stringIdentificador exclusivo desta chamada.
choices
arrayArray com o conteúdo gerado pelo modelo.
Properties
finish_reason
stringMotivo pelo qual o modelo interrompeu a geração.
Considere os três cenários a seguir:
stop: O modelo parou porque acionou o parâmetrostopna entrada ou finalizou naturalmente.length: A geração foi interrompida por exceder o comprimento máximo.tool_calls: O modelo parou pois precisa chamar uma ferramenta.
index
integerÍndice deste objeto no array
choices.logprobs
objectInformações sobre a probabilidade dos tokens na saída do modelo.
Properties
content
arrayArray contendo cada token e sua respectiva probabilidade logarítmica.
Properties
token
stringTexto do token atual.
bytes
arrayLista dos bytes UTF-8 brutos do token atual. Útil para restaurar com precisão o conteúdo de saída, como emojis ou caracteres chineses.
logprob
floatProbabilidade logarítmica do token atual. Um valor de retorno
nullindica probabilidade extremamente baixa.top_logprobs
arrayTokens candidatos mais prováveis na posição do token atual. A quantidade de tokens corresponde ao parâmetro de solicitação
top_logprobs. Cada elemento contém:Properties
token
stringTexto do token candidato.
bytes
arrayLista dos bytes UTF-8 brutos do token atual. Útil para restaurar com precisão o conteúdo de saída, como emojis ou caracteres chineses.
logprob
floatProbabilidade logarítmica deste token candidato. Um valor nulo indica probabilidade extremamente baixa.
message
objectMensagem produzida pelo modelo.
Properties
content
stringConteúdo da resposta do modelo.
reasoning_content
stringConteúdo da cadeia de pensamento do modelo.
refusal
stringAtualmente, este parâmetro é fixo como
null.role
stringFunção da mensagem. O valor é fixo como
assistant.audio
objectAtualmente, este parâmetro é fixo como
null.function_call (a ser descontinuado)
objectEste valor é fixo como
null. Para mais informações, consulte o parâmetrotool_calls.tool_calls
arrayInformações sobre a ferramenta e seus parâmetros de entrada que o modelo decidiu chamar.
Properties
id
stringIdentificador exclusivo desta chamada de ferramenta.
type
stringTipo da ferramenta. Atualmente, apenas
functioné suportado.function
objectDetalhes da ferramenta
Properties
name
stringNome da ferramenta.
arguments
stringInformações dos parâmetros de entrada, formatadas como uma string JSON.
Como a resposta do modelo de linguagem grande é aleatória, as informações dos parâmetros de saída podem não estar em conformidade com a assinatura da função. Valide os parâmetros antes de chamar a função.
index
integerÍndice desta chamada de ferramenta no array
tool_calls.created
integerTimestamp Unix, em segundos, indicando quando a solicitação foi criada.
model
stringModelo utilizado nesta solicitação.
object
stringO valor é sempre
chat.completion.service_tier
stringAtualmente, este parâmetro é fixo como
null.system_fingerprint
stringAtualmente, este parâmetro é fixo como
null.usage
objectInformações sobre o consumo de tokens nesta solicitação.
Properties
completion_tokens
integerQuantidade de tokens na saída do modelo.
prompt_tokens
integerNúmero de tokens de entrada. Para mais informações, consulte Additional notes.
total_tokens
integerTotal de tokens consumidos. Corresponde à soma de
prompt_tokensecompletion_tokens.completion_tokens_details
object(Opcional)Classificação detalhada dos tokens de saída. Este campo é retornado apenas por alguns modelos.
Properties
audio_tokens
integer(Opcional)Número de tokens de áudio na saída. Retornado apenas para modelos com saída de áudio.
reasoning_tokens
integer(Opcional)Quantidade de tokens no processo de raciocínio. Retornado apenas para modelos de raciocínio.
text_tokens
integer(Opcional)Número de tokens no texto de saída.
prompt_tokens_details
objectClassificação detalhada dos tokens de entrada.
Properties
audio_tokens
integerAtualmente, este parâmetro é fixo como
null.cached_tokens
integerNúmero de tokens que atingiram o cache. Para mais informações sobre o Context Cache, consulte Context cache.
text_tokens
integerQuantidade de tokens de texto na entrada.
image_tokens
integerNúmero de tokens de imagem na entrada.
video_tokens
integerQuantidade de tokens referentes ao arquivo de vídeo ou lista de imagens de entrada.
cache_creation
objectInformações de criação do explicit cache.
Properties
ephemeral_5m_input_tokens
integerNúmero de tokens usados para criar o cache explícito.
cache_creation_input_tokens
integerQuantidade de tokens utilizados na criação do cache explícito.
cache_type
stringAo usar explicit cache, o valor do parâmetro é
ephemeral. Caso contrário, este parâmetro não existe.Objeto de chunk de resposta de chat (saída streaming)
{"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":"assistant","tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"I am","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" a large-scale","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" language","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" model from Alibaba","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" Cloud. My name","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":" is Qwen","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":".","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":null,"index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[{"delta":{"content":"","function_call":null,"refusal":null,"role":null,"tool_calls":null},"finish_reason":"stop","index":0,"logprobs":null}],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":null} {"id":"chatcmpl-e30f5ae7-3063-93c4-90fe-beb5f900bd57","choices":[],"created":1735113344,"model":"qwen3.8-max","object":"chat.completion.chunk","service_tier":null,"system_fingerprint":null,"usage":{"completion_tokens":17,"prompt_tokens":22,"total_tokens":39,"completion_tokens_details":null,"prompt_tokens_details":{"audio_tokens":null,"cached_tokens":0}}}id
stringIdentificador exclusivo desta chamada. Todos os objetos de chunk compartilham o mesmo ID.
choices
arrayArray com o conteúdo gerado pelo modelo, podendo conter um ou mais objetos. Se o parâmetro
include_usageestiver definido comotrue,choicesserá um array vazio no último chunk.Properties
delta
objectObjeto incremental da solicitação.
Properties
content
stringConteúdo incremental da mensagem.
reasoning_content
stringConteúdo incremental da cadeia de pensamento.
function_call
objectEste valor tem como padrão
null. Para mais informações, consulte o parâmetrotool_calls.audio
objectResposta gerada ao utilizar o modelo Qwen-Omni.
Properties
data
stringDados de áudio incrementais codificados em Base64.
expires_at
integerTimestamp indicando quando a solicitação foi criada.
refusal
objectAtualmente, este parâmetro é fixo como
null.role
stringFunção do objeto de mensagem incremental. Possui valor apenas no primeiro chunk.
tool_calls
arrayInformações sobre a ferramenta e seus parâmetros de entrada que o modelo decidiu chamar.
Properties
index
integerÍndice desta chamada de ferramenta no array
tool_calls.id
stringIdentificador exclusivo desta chamada de ferramenta.
function
objectInformações sobre a ferramenta chamada.
Properties
arguments
stringParâmetros de entrada incrementais. Os
argumentsde todos os chunks são concatenados para formar o conjunto completo de parâmetros de entrada.Como a resposta do modelo de linguagem grande é aleatória, as informações dos parâmetros de saída podem não estar em conformidade com a assinatura da função. Valide os parâmetros antes de chamar a função.
name
stringNome da ferramenta. Possui valor apenas no primeiro chunk.
type
stringTipo da ferramenta. Atualmente, apenas
functioné suportado.finish_reason
stringMotivo pelo qual o modelo interrompeu a geração. O valor pode ser um dos seguintes:
stop: O modelo parou porque acionou o parâmetrostopna entrada ou finalizou naturalmente.- O valor permanece
nullaté que a geração seja concluída. length: A geração foi interrompida por exceder o comprimento máximo.tool_calls: O modelo parou pois precisa chamar uma ferramenta.
index
integerÍndice da resposta atual no array
choices. Quando o parâmetro de entrada n for maior que 1, utilize este parâmetro para concatenar o conteúdo completo correspondente às diferentes respostas.logprobs
objectInformações de probabilidade do objeto atual.
Properties
content
arrayArray de tokens com informações de probabilidade logarítmica.
Properties
token
stringToken atual.
bytes
arrayLista dos bytes UTF-8 brutos do token atual. Útil ao processar emojis e caracteres chineses.
logprob
floatProbabilidade logarítmica do token atual. Um valor nulo indica probabilidade extremamente baixa.
top_logprobs
arrayTokens mais prováveis na posição do token atual e suas probabilidades logarítmicas. A quantidade de elementos corresponde ao parâmetro de entrada
top_logprobs.Properties
token
stringToken atual.
bytes
arrayLista dos bytes UTF-8 brutos do token atual. Útil ao processar emojis e caracteres chineses.
logprob
floatProbabilidade logarítmica do token atual. Um valor nulo indica probabilidade extremamente baixa.
created
integerTimestamp indicando quando esta solicitação foi criada. Cada chunk possui o mesmo timestamp.
model
stringModelo utilizado nesta solicitação.
object
stringO valor é sempre
chat.completion.chunk.service_tier
stringAtualmente, este parâmetro é fixo como
null.system_fingerprint
stringAtualmente, este parâmetro é fixo como
null.usage
objectTokens consumidos por esta solicitação. Exibido apenas no último chunk quando
include_usageestá definido comotrue.Properties
completion_tokens
integerQuantidade de tokens na saída do modelo.
prompt_tokens
integerNúmero de tokens de entrada.
total_tokens
integerTotal de tokens, correspondendo à soma de
prompt_tokensecompletion_tokens.completion_tokens_details
object(Opcional)Informações detalhadas sobre os tokens de saída. Este campo é retornado apenas por alguns modelos.
Properties
audio_tokens
integer(Opcional)Número de tokens de áudio na saída. Retornado apenas para modelos com saída de áudio.
reasoning_tokens
integer(Opcional)Quantidade de tokens no processo de raciocínio. Retornado apenas para modelos de raciocínio.
text_tokens
integer(Opcional)Número de tokens de texto na saída.
prompt_tokens_details
objectClassificação detalhada dos tokens de entrada.
Properties
audio_tokens
integerNúmero de tokens de áudio na entrada.
A quantidade de tokens de áudio em um arquivo de vídeo é retornada neste parâmetro.
text_tokens
integerQuantidade de tokens de texto na entrada.
video_tokens
integerNúmero de tokens do vídeo de entrada, que pode ser uma lista de imagens ou um arquivo de vídeo.
image_tokens
integerQuantidade de tokens de imagem na entrada.
cached_tokens
integerNúmero de tokens que atingiram o cache. Para mais informações sobre o Context Cache, consulte Context cache.
cache_creation
objectInformações de criação do explicit cache.
Properties
ephemeral_5m_input_tokens
integerNúmero de tokens usados para criar o cache explícito.
cache_creation_input_tokens
integerQuantidade de tokens utilizados na criação do cache explícito.
cache_type
stringTipo de cache. O valor é fixo como
ephemeral.
Códigos de erro
Se a chamada do modelo falhar e retornar uma mensagem de erro, consulte Error codes para resolver o problema.