Os modelos Qwen no Model Studio oferecem suporte a interfaces compatíveis com OpenAI. Migre seu código OpenAI existente para o Model Studio alterando apenas a chave de API, a URL base e o nome do modelo.
Informações de compatibilidade
BASE_URL
A BASE_URL é o endpoint de rede para acessar o service de modelo. Ao usar a interface compatível com OpenAI no Model Studio, configure a BASE_URL conforme descrito abaixo.
Para chamadas via OpenAI SDK ou outros SDKs compatíveis com OpenAI, utilize a seguinte BASE_URL:
Solucionar falhas em chamadas : Se uma chamada pela interface compatível com OpenAI falhar com erro 404, 401, 403 ou de conexão, verifique as configurações a seguir:
Chamadas entre regiões
Uma chave de API do Model Studio está vinculada à região onde foi criada. Ao chamar a URL base de uma região, use obrigatoriamente uma chave de API criada nessa mesma região. O sistema rejeita chaves de API de outras regiões com um erro de autenticação.
Essa regra se aplica a todas as regiões que fornecem um endpoint, incluindo China (Beijing), US (Virginia), Singapore e Japan (Tokyo), além de China (Hong Kong). Crie a chave de API no console da região cujo endpoint você pretende chamar.
Por exemplo, ao usar uma chave de API criada na região China (Beijing) para chamar o endpoint US (Virginia), a solicitação retorna HTTP 401 com a mensagem de erro Incorrect API key provided e o código de erro invalid_api_key. Esse erro indica que a chave de API e o endpoint pertencem a regiões diferentes, e não que a chave é inválida ou carece de permissões.
Modelos suportados
Modelos suportados: grandes modelos de linguagem Qwen (edições comerciais e open-source), Qwen-VL, Qwen-Coder, Qwen-Omni, Qwen-Math, DeepSeek , Kimi , GLM , MiniMax .
O Qwen-Audio não oferece suporte ao protocolo compatível com OpenAI. Utilize o protocolo DashScope como alternativa.
Chamada via OpenAI SDK
Pré-requisitos
- Python instalado em sua máquina.
- Versão mais recente do OpenAI SDK instalada.
- Model Studio ativado e chave de API obtida. Para instruções, consulte Obter chave de API.
- (Recomendado) Configure a chave de API como variável de ambiente para reduzir o risco de exposição. Também é possível configurá-la diretamente no código, mas isso aumenta o risco de exposição.
- Selecione o modelo desejado na lista de modelos suportados.
Uso
Os exemplos a seguir demonstram como usar o OpenAI SDK para acessar modelos Qwen no Model Studio.
Exemplo sem streaming
Exemplo com streaming
Exemplo de chamada de ferramenta
O exemplo a seguir demonstra a chamada de ferramentas (function call) por meio da interface compatível com OpenAI, utilizando uma ferramenta de consulta meteorológica e outra de consulta de hora. O código suporta chamadas de ferramenta em múltiplas rodadas.
Parâmetros de solicitação
Os parâmetros de solicitação estão alinhados com a interface OpenAI. A tabela a seguir descreve os parâmetros suportados atualmente:
Parâmetro | Tipo | Padrão | Descrição |
|---|---|---|---|
model | string | - | Modelo a ser utilizado. Para modelos disponíveis, consulte Supported models. |
messages | array | - | Histórico da conversa entre o usuário e o modelo. Cada elemento do array segue o formato |
top_p (opcional) | float | - | Limiar de probabilidade para amostragem nuclear. Por exemplo, um valor de 0,8 mantém apenas o menor conjunto de tokens cuja probabilidade acumulada seja de pelo menos 0,8. Valores válidos: (0, 1,0). Valores maiores aumentam a aleatoriedade; valores menores aumentam o determinismo. |
temperature (opcional) | float | - | Controla a aleatoriedade e a diversidade das respostas do modelo. Valores maiores achatam a distribuição de probabilidade, selecionando mais tokens de baixa probabilidade para uma saída mais diversa. Valores menores tornam a distribuição mais aguda, favorecendo tokens de alta probabilidade para uma saída mais determinística. Valores válidos: [0, 2). Não recomendamos o uso do valor 0. |
presence_penalty (opcional) | float | - | Controla a repetição em toda a sequência gerada. Valores maiores reduzem a repetição. Valores válidos: [-2,0, 2,0]. Suportado apenas em modelos comerciais Qwen e modelos open-source qwen1.5 e posteriores. |
n (opcional) | integer | 1 | Número de respostas a serem geradas. Valores válidos: |
max_tokens (opcional) | integer | - | Número máximo de tokens que o modelo pode gerar. Por exemplo, se o modelo suporta até 2k tokens de saída, defina este valor como 1k para evitar respostas excessivamente longas. Diferentes modelos possuem limites distintos de saída. Consulte a lista de modelos para detalhes. |
seed (opcional) | integer | - | Semente aleatória para geração, usada para controlar a aleatoriedade da saída do modelo. Aceita inteiros de 64 bits sem sinal. |
stream (opcional) | boolean | False | Controla o uso de saída em streaming. Com o streaming ativado, a interface retorna um gerador. Itere sobre ele para obter resultados, onde cada saída corresponde à sequência incremental gerada. |
stop (opcional) | string ou array | None | Controla a interrupção precisa da geração de conteúdo. A geração para automaticamente quando o modelo está prestes a produzir a string ou token_id especificado. Pode ser do tipo string ou array. Tipo string: a geração para quando o modelo está prestes a produzir a palavra de parada especificada. Tipo array: os elementos podem ser token_ids, strings ou arrays de token_ids. A geração para quando o token gerado ou seu token_id corresponder a um elemento em stop. Quando stop é do tipo array, não é possível misturar token_ids e strings como elementos. |
tools (opcional) | array | None | Biblioteca de ferramentas disponível para chamada pelo modelo. Durante um fluxo de chamada de função, o modelo seleciona uma ferramenta desta biblioteca. Cada ferramenta possui a seguinte estrutura: O parâmetro tools não pode ser usado simultaneamente com stream=True. |
stream_options (opcional) | object | None | Configura a exibição do uso de tokens na saída em streaming. Só tem efeito quando stream é True. Para contar tokens no modo streaming, defina |
Parâmetros de resposta
Parâmetro | Tipo | Descrição | Observações |
|---|---|---|---|
id | string | ID gerado pelo sistema para esta solicitação. | - |
model | string | Nome do modelo usado nesta solicitação. | - |
system_fingerprint | string | Versão de configuração usada pelo runtime do modelo. Atualmente não suportado; retorna uma string vazia. | - |
choices | array | Detalhes do conteúdo gerado pelo modelo. | - |
choices[i].finish_reason | string | Motivo da interrupção da geração. Valores: null (ainda gerando), stop (parado devido a uma condição de parada), length (parado por exceder o comprimento máximo). | - |
choices[i].message | object | Mensagem produzida pelo modelo. | - |
choices[i].message.role | string | Função do modelo. Valor fixo: assistant. | - |
choices[i].message.content | string | Texto gerado pelo modelo. | - |
choices[i].index | integer | Número de sequência do resultado gerado. Padrão: 0. | - |
created | integer | Timestamp (em segundos) do resultado gerado. | - |
usage | object | Informações de medição indicando o consumo de tokens para esta solicitação. | - |
usage.prompt_tokens | integer | Contagem de tokens do texto de entrada do usuário. | - |
usage.completion_tokens | integer | Contagem de tokens da resposta gerada pelo modelo. | - |
usage.total_tokens | integer | Soma de usage.prompt_tokens e usage.completion_tokens. | - |
Chamada via langchain_openai SDK
Pré-requisitos
- Python instalado em sua máquina.
- langchain_openai SDK instalado.
- Model Studio ativado e chave de API obtida. Para instruções, consulte Obter chave de API.
- (Recomendado) Configure a chave de API como variável de ambiente para reduzir o risco de exposição. Também é possível configurá-la diretamente no código, mas isso aumenta o risco de exposição.
- Selecione o modelo desejado na lista de modelos suportados.
Uso
Os exemplos a seguir mostram como usar o langchain_openai SDK para acessar modelos Qwen no Model Studio.
Saída sem streaming
A saída sem streaming utiliza o método invoke:
Saída com streaming
A saída com streaming utiliza o método stream. Não é necessário configurar um parâmetro stream separadamente.
Chamada via HTTP
Chame o Model Studio por meio de solicitações HTTP e receba respostas na mesma estrutura das respostas HTTP da OpenAI.
Pré-requisitos
- Model Studio ativado e chave de API obtida. Para instruções, consulte Obter chave de API.
- (Recomendado) Configure a chave de API como variável de ambiente para reduzir o risco de exposição. Também é possível configurá-la diretamente no código, mas isso aumenta o risco de exposição.
Endpoint
Exemplos de solicitação
Os exemplos abaixo utilizam comandos cURL para chamar a API.
$DASHSCOPE_API_KEY pela sua chave de API real.Saída sem streaming
Saída com streaming
Para usar a saída com streaming, defina o parâmetro stream como true no corpo da solicitação.
Resposta de erro
Quando uma solicitação falha, a resposta inclui os campos code e message indicando a causa:
Configurar um cliente de terceiros
Chame modelos do Model Studio a partir de qualquer cliente de terceiros que suporte o protocolo compatível com OpenAI. Os passos abaixo usam o cliente Zhipu como exemplo:
- Nas configurações de provedor do cliente, selecione Custom provider.
-
Base URL: Insira a URL base que o OpenAI SDK usa para sua região. Para a URL base de cada região, consulte BASE_URL. A URL base termina com
/compatible-mode/v1e não inclui/chat/completions. Como as URLs base variam por região, use aquela correspondente à região da sua chave de API. Por exemplo, para a região Singapore, insirahttps://{WorkspaceId}.ap-southeast-1.maas.aliyuncs.com/compatible-mode/v1. Substitua{WorkspaceId}pelo ID do seu workspace, encontrado na página de detalhes do workspace no console do Model Studio. O domínio legadohttps://dashscope.aliyuncs.compermanece disponível, mas utilize o domínio específico do workspace sempre que possível. - API Key: Insira a chave de API do Model Studio referente à região apontada pela URL base. Crie e obtenha uma chave de API na página de gerenciamento de API Key do console do Model Studio.
-
Model name: Insira o nome de um grande modelo de linguagem que suporte o protocolo compatível com OpenAI. Para os modelos disponíveis, consulte Supported models. Por exemplo,
qwen3-vl-32b-thinking. Este nome de modelo é apenas um exemplo e não indica que o modelo oferece cota gratuita. - Salve a configuração e inicie uma conversa para verificar se o cliente de terceiros consegue chamar o modelo.
error.message definido como current user api does not support http call e error.type definido como invalid_request_error. Esse erro significa que o modelo inserido não suporta chamadas HTTP pela interface compatível com OpenAI. Substitua-o por um modelo listado em Supported models e tente novamente. Por exemplo, qvq-max não suporta este método de chamada.
Códigos de erro
Código de erro | Descrição |
|---|---|
400 - Invalid Request Error | A solicitação é inválida. Consulte a mensagem de erro para detalhes. |
401 - Incorrect API key provided | A chave de API está incorreta. |
429 - Rate limit reached for requests | Limite de QPS ou QPM excedido. |
429 - You exceeded your current quota, please check your plan and billing details | Cota excedida ou conta inadimplente. |
500 - The server had an error while processing your request | Erro no servidor. |
503 - The engine is currently overloaded, please try again later | Servidor sobrecarregado. Tente novamente mais tarde. |