Interpretador de código
Corra Python em uma caixa de areia
Quando o modelo encontra uma tarefa que se beneficia de computação, como matemática, análise de dados ou geração de gráficos, ela automaticamente gera código, o executa e incorpora o resultado em sua resposta.
Começando.
Os exemplos a seguir mostram uma solicitação completa de intérprete de código com saída.
Responses API
```python Python {12}
import os
from openai import OpenAI
client = OpenAI(
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://maas.qwencloudapi.com/compatible-mode/v1"
)
response = client.responses.create(
model="qwen3.8-max",
input="What is 12 to the power of 3?",
tools=[{"type": "code_interpreter"}],
extra_body={"enable_thinking": True}
)
print(response.output_text)
print(response.usage)
```
```javascript Node.js {13}
import OpenAI from "openai";
import process from 'process';
const openai = new OpenAI({
apiKey: process.env.DASHSCOPE_API_KEY,
baseURL: "https://maas.qwencloudapi.com/compatible-mode/v1"
});
async function main() {
const response = await openai.responses.create({
model: "qwen3.8-max",
input: "What is 12 to the power of 3?",
tools: [{ type: "code_interpreter" }],
enable_thinking: true
});
console.log(response.output_text);
console.log(response.usage);
}
main();
```
```bash curl {7}
curl -X POST https://maas.qwencloudapi.com/compatible-mode/v1/responses \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-max",
"input": "What is 12 to the power of 3?",
"tools": [{"type": "code_interpreter"}],
"enable_thinking": true
}'
```
? Responder exemplo ?
```plaintext
12 to the power of 3 equals **1728**.
Calculation:
12^3 = 12 x 12 x 12 = 144 x 12 = 1728
```
Chat Completions
A API do Chat Completions não devolve o código executado pelo intérprete.
```bash curl {12}
curl -X POST https://maas.qwencloudapi.com/compatible-mode/v1/chat/completions \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "qwen3.8-max",
"messages": [
{
"role": "user",
"content": "What is 123 to the power of 21?"
}
],
"enable_code_interpreter": true,
"enable_thinking": true,
"stream": true
}'
```
? Responder exemplo ?
```plaintext
123 to the power of 21 is: 77269364466549865653073473388030061522211723
```
DashScope
O Java SDK não é suportado.
```python Python {10}
import os
import dashscope
dashscope.base_http_api_url = 'https://maas.qwencloudapi.com/api/v1'
response = dashscope.Generation.call(
api_key=os.getenv("DASHSCOPE_API_KEY"),
model="qwen3.8-max",
messages=[{"role": "user", "content": "What is 123 to the power of 21?"}],
enable_code_interpreter=True,
enable_thinking=True,
result_format="message",
stream=True
)
for chunk in response:
print(chunk["output"])
```
```bash curl {16}
curl -X POST https://maas.qwencloudapi.com/api/v1/services/aigc/text-generation/generation \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-H "X-DashScope-SSE: enable" \
-d '{
"model": "qwen3.8-max",
"input":{
"messages":[
{
"role": "user",
"content": "What is 123 to the power of 21?"
}
]
},
"parameters": {
"enable_code_interpreter": true,
"enable_thinking": true,
"result_format": "message"
}
}'
```
? Responder exemplo ?
```plaintext
123 to the power of 21 is: 77269364466549865653073473388030061522211723
```
Como funciona
Uma vez ativado, o modelo processa cada pedido em etapas:
Thinking
O modelo analisa o pedido e determina como resolver o problema.
Code execution
O modelo gera e executa código Python em uma caixa de areia.
Integração de resultados
O modelo processa os resultados da execução e determina os próximos passos.
Resposta
O modelo gera uma resposta em linguagem natural.
Os passos 2 e 3 podem repetir várias vezes em um único pedido.
Modelos apoiados.
Modelos recomendados
**Responde API **
- Qwen-Max: Qwen3.8-Max série, Qwen3.7-Max Série
- Qwen-Flash: qwen3.8-flash
- Qwen-Plus: Qwen3.7-Plus série, Qwen3.6-Plus série, Qwen3.5-Plus Série
- DeepSeek: deepseek-v4.1-flash, deepseek-v4-pro-0813, deepseek-v4-flash-0731, deepseek-v4-pro
- GLM: glm-5.2
- Qwen3.8 Série de código aberto
**Chat Completions API / DashScope
- Qwen-Max (Modo de pensamento): Qwen3.7-Max Série (requer [modo de pensamento] (/developer-guides/text-generation/thinking))
- Qwen-Plus: Qwen3.5-Plus Série
Outros modelos
Esses modelos também suportam o Interpretador de Código, mas podem não funcionar tão bem. Só suportada através da API Responses.
- Qwen-Flash: qwen3.8-flash, Qwen3.7-Flash série, Qwen3.6-Flash série, Qwen3.5-Flash Série
- Qwen3.8 Série de código aberto (
qwen3.8-2.4t-a95b) - Qwen3.6 Série de código aberto (excluindo qwen3.6-27b)
- Qwen3.5 Série de código aberto
- DeepSeek:
deepseek-v4.1-flash,deepseek-v4-pro-0813,deepseek-v4-flash-0731,deepseek-v4-pro - GLM:
glm-5.2
Recupere o código executado
A API DashScope devolve o código que o intérprete executou no tool_info Campo de cada pedaço de transmissão. Cada entrada contém o código e uma type de code_interpreter:
"tool_info": [
{
"code_interpreter": {"code": "123**21"},
"type": "code_interpreter"
}
]
Quando o modelo chama o intérprete várias vezes em um único pedido, tool_info Acumule todas as chamadas. A contagem total de chamadas está disponível em usage.plugins:
"plugins": {"code_interpreter": {"count": 2}}
A API do Chat Completions não devolve o código executado. Use a API Responses ou a API DashScope se precisar inspecionar o código gerado.
Limitações
-
O intérprete de código só funciona com streaming (
stream: true). Pedidos de não-transmissão retornam um erro. A API de Respostas não tem essa limitação. -
O intérprete de código e [função chamando] (/developer-guides/tool-calling/function-calling) são mutuamente exclusivos e não podem ser habilitados ao mesmo tempo.
Permitir ambos resulta em um erro.
-
Quando o interpretador de código está habilitado, uma única solicitação desencadeia inferências de vários modelos. O
usageO campo agrega o consumo de fichas em todas as inferências.
Contagem
O intérprete de código é temporariamente livre, mas aumenta o consumo de fichas.