Qwen2.5 Coder 32B

Models & AI Labs 💻 Python 🟡 Quiet lately
16.8k stars

Qwen3-Coder is a family of open-weight language models designed for coding agents and local development, with sizes including Qwen3-Coder-Next, 30B-A3B, and 480B-A35B. It solves the problem of efficient, high-performance code generation and agentic tasks by using a hybrid architecture and agentic training. It is for developers who need a powerful code model for tasks like repository-scale understanding, code completion, and building software agents.

Qwen2.5 Coder 32B demo
🖼️ Screenshot from the project README

✨ Key features

  • Efficiency-performance tradeoff comparable to Claude Sonnet on agentic coding.
  • Supports agentic coding platforms like Qwen Code, CLINE, and Claude Code.
  • Native 256K token context, extendable to 1M with Yarn.
  • Supports 358 coding languages.
  • Function calling with new tool parser in SGLang and vLLM.
  • Retains strengths in math and general capabilities.

🎯 Use cases

  • Chat-based code generation and completion.
  • Fill-in-the-middle code insertion.
  • Building coding agents for autonomous tasks.
  • Repository-scale code understanding and modification.
  • Local development assistance with low inference cost.

📦 Installation

🧰 Requirements: Requires Python with transformers library, and a compatible GPU for inference. No API keys mentioned.

To install, use pip to install the required libraries:

pip install transformers torch

Then download the model from Hugging Face or ModelScope using the provided links.

🚀 Usage

from transformers import AutoModelForCausalLM, AutoTokenizer

model_name = "Qwen/Qwen3-Coder-Next"

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

prompt = "write a quick sort algorithm."
messages = [
    {"role": "user", "content": prompt}
]
text = tokenizer.apply_chat_template(
    messages,
    tokenize=False,
    add_generation_prompt=True
)
model_inputs = tokenizer([text], return_tensors="pt").to(model.device)

generated_ids = model.generate(
    **model_inputs,
    max_new_tokens=65536
)
generated_ids = [
    output_ids[len(input_ids):] for input_ids, output_ids in zip(model_inputs.input_ids, generated_ids)
]

response = tokenizer.batch_decode(generated_ids, skip_special_tokens=True)[0]

⚠️ Good to know

The model supports only non-thinking mode and does not generate thinking blocks; it requires the new tokenizer and tool parser for function calling.

❓ FAQ

What model sizes are available?

Qwen3-Coder is available in sizes: Qwen3-Coder-480B-A35B-Instruct, Qwen3-Coder-30B-A3B-Instruct, and Qwen3-Coder-Next, with FP8 and GGUF variants.

How do I use the model for fill-in-the-middle?

Structure the prompt with special tokens: '<|fim_prefix|>' + prefix_code + '<|fim_suffix|>' + suffix_code + '<|fim_middle|>', and use the model as shown in the README example.

Does the model support function calling?

Yes, it supports function calling, but it relies on a new tool parser in SGLang and vLLM, and you must use the updated tokenizer.

What is the context length?

It natively supports 256K tokens, extendable up to 1M using Yarn.

📊 Repository

Stars★ 16,830
Forks🍴 1,244
Open issues🐛 112
Last commit🕒 Mar 24, 2026
Created📅 Apr 2024
Language💻 Python

🤖 Overview, features, install steps and FAQ were generated from the project's README on Sep 4, 2026. Always check the original source before running commands.