Qwen3: Model Sizes, Thinking Modes, Context, and Setup

Qwen3 was released on April 29, 2025 as a family of dense and mixture-of-experts language models. The April release is also identified as Qwen3-2504 to distinguish it from later dated checkpoints.

Last verified: July 21, 2026.

The official core lineup contains Qwen3-8B, not Qwen3-7B. The April post-trained checkpoints support Thinking and non-thinking behavior in one checkpoint.

Official Qwen3 April model lineup

The post-trained April checkpoints use the IDs below. Matching Base repositories also exist, but Base models are pretraining foundations rather than ready-made chat assistants.

Exact post-trained IDArchitectureContextLicense
Qwen/Qwen3-0.6BDense32,768Apache 2.0
Qwen/Qwen3-1.7BDense32,768Apache 2.0
Qwen/Qwen3-4BDense32,768 native; up to 131,072 with YaRNApache 2.0
Qwen/Qwen3-8BDense32,768 native; up to 131,072 with YaRNApache 2.0
Qwen/Qwen3-14BDense32,768 native; up to 131,072 with YaRNApache 2.0
Qwen/Qwen3-32BDense32,768 native; up to 131,072 with YaRNApache 2.0
Qwen/Qwen3-30B-A3BMixture of Experts32,768 native; up to 131,072 with YaRNApache 2.0
Qwen/Qwen3-235B-A22BMixture of Experts32,768 native; up to 131,072 with YaRNApache 2.0

The “A3B” and “A22B” labels refer to parameters activated during token processing. They do not mean that only 3B or 22B parameters must be downloaded or stored.

How Thinking mode works in Qwen3

The April post-trained Qwen3 checkpoints are hybrid models. One checkpoint can operate in either of two response modes:

  • Thinking enabled: the model performs an explicit reasoning phase before its final answer.
  • Thinking disabled: the model generates a direct response without the Thinking output contract.

In Transformers, enable_thinking=True is the default for these April checkpoints. Passing enable_thinking=False to the chat template provides a hard non-thinking switch. The /think and /no_think instructions are softer per-turn controls when the hard switch remains enabled.

Qwen3-2507 is a separate checkpoint series

Qwen3-2507 does not use one hybrid checkpoint. It separates Instruct and Thinking behavior into different repositories.

SizeInstruct checkpointThinking checkpointNative context
4BQwen/Qwen3-4B-Instruct-2507Qwen/Qwen3-4B-Thinking-2507262,144
30B-A3BQwen/Qwen3-30B-A3B-Instruct-2507Qwen/Qwen3-30B-A3B-Thinking-2507262,144
235B-A22BQwen/Qwen3-235B-A22B-Instruct-2507Qwen/Qwen3-235B-A22B-Thinking-2507262,144
  • Instruct-2507 checkpoints are non-thinking models.
  • Thinking-2507 checkpoints are Thinking models.
  • The April enable_thinking toggle should not be presented as a mode switch for the separated 2507 checkpoints.
  • One-million-token extensions must be verified on the specific 2507 model card rather than assigned to every size.

Correct reasoning parser for Qwen3

Checkpoint typevLLM reasoning parser
April Qwen3 hybrid checkpointqwen3
Qwen3 Thinking-2507 checkpointdeepseek_r1
Qwen3 Instruct-2507 checkpointNo reasoning parser required

Using deepseek_r1 for an April Qwen3 checkpoint is an incorrect configuration. Parser choice must match the checkpoint generation.

Serve Qwen3-8B with vLLM

This command uses the native 32,768-token context and the official Qwen3 reasoning parser.

pip install "vllm>=0.9.0"

vllm serve Qwen/Qwen3-8B \
  --port 8000 \
  --max-model-len 32768 \
  --enable-reasoning \
  --reasoning-parser qwen3

Call the local API with the OpenAI JavaScript SDK

npm install openai
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "EMPTY",
  baseURL: "http://localhost:8000/v1",
});

const completion = await client.chat.completions.create({
  model: "Qwen/Qwen3-8B",
  messages: [
    {
      role: "user",
      content: "Explain native context and YaRN-extended context."
    }
  ],
  max_tokens: 512,
});

console.log(completion.choices[0].message.content);

Run Qwen3 in non-thinking mode with Transformers

pip install "transformers>=4.51.0" accelerate
from transformers import AutoModelForCausalLM, AutoTokenizer

model_id = "Qwen/Qwen3-8B"

tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    torch_dtype="auto",
    device_map="auto",
)

messages = [
    {
        "role": "user",
        "content": "Explain why native and extended context limits differ."
    }
]

prompt = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True,
    enable_thinking=False,
)

inputs = tokenizer([prompt], return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512)

new_tokens = outputs[0][inputs.input_ids.shape[-1]:]
print(tokenizer.decode(new_tokens, skip_special_tokens=True))

Qwen3 capabilities and boundaries

  • Core Qwen3 checkpoints process text and generate text.
  • They do not generate images, audio, or video.
  • Tool use requires an application or agent layer that executes the proposed tool call and returns the result.
  • Model output may contain factual, reasoning, or coding errors.
  • Context length affects KV-cache memory and serving cost.
  • Hardware requirements depend on the exact checkpoint, precision, quantization, context, batching, and framework.

Frequently asked questions

Is there an official Qwen3-7B model?

No. The official core lineup contains Qwen3-8B. Code and download links using Qwen3-7B should be corrected.

Does every Qwen3 checkpoint switch between Thinking modes?

No. The April post-trained checkpoints are hybrid. The 2507 series separates Instruct and Thinking into different repositories.

Does Qwen3 have one universal context limit?

No. Context depends on the checkpoint and generation. The April models distinguish native and YaRN-extended limits, while the 2507 checkpoints document a 262,144-token native context.

Official sources

For coding-specific checkpoints, see the Qwen3-Coder guide. Multimodal models are covered separately under Qwen3-VL and Qwen3-Omni.

This independent guide is not operated by Alibaba Cloud or the Qwen team.

Leave a Reply

Your email address will not be published. Required fields are marked *