Qwen-Turbo
Copy success!
Overview
The Turbo model of the Qwen3 series. It effectively integrates thinking mode and non-thinking mode, allowing for mode switching during conversations. Its reasoning capabilities rival those of QwQ-32B with a smaller parameter size, while its general capabilities significantly surpass those of Qwen2.5-Turbo, achieving the SOTA level in the same scale within the industry.
Input
Text
Output
Text
Features
Prefix Completion
Enable Partial Mode when calling the Qwen API to make the model continue strictly from your provided prefix text.View docsFunction Calling
Use function calling to connect large language models with external tools and systems.View docsCache
Context Cache stores shared prefixes for long-context requests to reduce repeated computation, improve latency, and lower cost.View docsStructured Outputs
Structured Outputs help ensure the model returns a JSON string in the expected format.View docsPricing
- Input$0.05Per 1M tokens
- Output$0.2Per 1M tokens
- Input(Thinking)$0.05Per 1M tokens
- Output(Thinking)$0.5Per 1M tokens
- Input(Implicit Cache)$0.01Per 1M tokens
- Input(Thinking Implicit Cache)$0.01Per 1M tokens
- Thinking Output(Batch File)$0.25Per 1M tokens
- Input(Batch File)$0.025Per 1M tokens
- Output(Batch File)$0.1Per 1M tokens
- Input(Thinking Batch File)$0.025Per 1M tokens
Rate Limits & Context
- Max Input98K
- Max Output8K
- Context131K
- TPMTokens Per Minute5M
- RPMRequests Per Minute600
API Reference
Call APICopy success!
123456789101112131415161718192021222324252627282930
from openai import OpenAI
import os
client = OpenAI(
# If the environment variable is not set, replace it with your Model Studio API key: api_key="sk-xxx"
api_key=os.getenv("DASHSCOPE_API_KEY"),
base_url="https://dashscope-intl.aliyuncs.com/compatible-mode/v1",
)
messages = [{"role": "user", "content": "Who are you"}]
completion = client.chat.completions.create(
model="qwen-turbo", # You can replace this with another deep thinking models
messages=messages,
extra_body={"enable_thinking": True},
stream=True
)
is_answering = False # Indicates whether the response phase has started
print("\n" + "=" * 20 + "Thinking process" + "=" * 20)
for chunk in completion:
if not chunk.choices:
continue
delta = chunk.choices[0].delta
if hasattr(delta, "reasoning_content") and delta.reasoning_content is not None:
if not is_answering:
print(delta.reasoning_content, end="", flush=True)
if hasattr(delta, "content") and delta.content:
if not is_answering:
print("\n" + "=" * 20 + "Full response" + "=" * 20)
is_answering = True
print(delta.content, end="", flush=True)