Qwen3 Coder 30B A3B Instruct
qwen/qwen3-coder-30b-a3b-instructQwen3 Coder 30B A3B Instruct (qwen/qwen3-coder-30b-a3b-instruct) is a qwen3_moe 30.5B-parameter model from Qwen with a 65,536-token context window and 65,536 max output tokens, priced at $0.07/1M input and $0.27/1M output tokens. Available via the haimaker.ai OpenAI-compatible API.
Overview
Qwen3 Coder 30B A3b Instruct is a chat model by Qwen. It has 30.5B parameters. It supports a 66K token context window. Supports function calling.
Model Card
Qwen3-Coder-30B-A3B-Instruct
Highlights
Qwen3-Coder is available in multiple sizes. Today, we're excited to introduce Qwen3-Coder-30B-A3B-Instruct. This streamlined model maintains impressive performance and efficiency, featuring the following key enhancements:- Significant Performance among open models on Agentic Coding, Agentic Browser-Use, and other foundational coding tasks.
- Long-context Capabilities with native support for 256K tokens, extendable up to 1M tokens using Yarn, optimized for repository-scale understanding.
- Agentic Coding supporting for most platform such as Qwen Code, CLINE, featuring a specially designed function call format.
Model Overview
Qwen3-Coder-30B-A3B-Instruct has the following features:- Type: Causal Language Models
- Training Stage: Pretraining & Post-training
- Number of Parameters: 30.5B in total and 3.3B activated
- Number of Layers: 48
- Number of Attention Heads (GQA): 32 for Q and 4 for KV
- Number of Experts: 128
- Number of Activated Experts: 8
- Context Length: 262,144 natively.
blocks in its output. Meanwhile, specifying enable_thinking=False is no longer required.
For more details, including benchmark evaluation, hardware requirements, and inference performance, please refer to our blog, GitHub, and Documentation.
Quickstart
We advise you to use the latest version of transformers.
With transformers<4.51.0, you will encounter the following error:KeyError: 'qwen3_moe'
The following contains a code snippet illustrating how to use the model generate content based on given inputs.
from transformers import AutoModelForCausalLM, AutoTokenizer
model_name = "Qwen/Qwen3-Coder-30B-A3B-Instruct"
load the tokenizer and the model
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(
model_name,
torch_dtype="auto",
device_map="auto"
)
prepare the model input
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)
conduct text completion
generated_ids = model.generate(
**model_inputs,
max_new_tokens=65536
)
output_ids = generated_ids[0][len(model_inputs.input_ids[0]):].tolist()
content = tokenizer.decode(output_ids, skip_special_tokens=True)
print("content:", content)
Note: If you encounter out-of-memory (OOM) issues, consider reducing the context length to a shorter value, such as 32,768.
For local use, applications such as Ollama, LMStudio, MLX-LM, llama.cpp, and KTransformers have also supported Qwen3.
Agentic Coding
Qwen3-Coder excels in tool calling capabilities.
You can simply define or use any tools as following example.
# Your tool implementation
def square_the_number(num: float) -> dict:
return num ** 2
Define Tools
tools=[
{
"type":"function",
"function":{
"name": "square_the_number",
"description": "output the square of the number.",
"parameters": {
"type": "object",
"required": ["input_num"],
"properties": {
'input_num': {
'type': 'number',
'description': 'input_num is a number that will be squared'
}
},
}
}
}
]
import OpenAI
Define LLM
client = OpenAI(
# Use a custom endpoint compatible with OpenAI API
base_url='http://localhost:8000/v1', # api_base
api_key="EMPTY"
)
messages = [{'role': 'user', 'content': 'square the number 1024'}]
completion = client.chat.completions.create(
messages=messages,
model="Qwen3-Coder-30B-A3B-Instruct",
max_tokens=65536,
tools=tools,
)
print(completion.choice[0])
Best Practices
To achieve optimal performance, we recommend the following settings:
- We suggest using temperature=0.7
,top_p=0.8,top_k=20,repetition_penalty=1.05`.
Citation
If you find our work helpful, feel free to give us a cite.
@misc{qwen3technicalreport,
title={Qwen3 Technical Report},
author={Qwen Team},
year={2025},
eprint={2505.09388},
archivePrefix={arXiv},
primaryClass={cs.CL},
url={https://arxiv.org/abs/2505.09388},
}Features & Capabilities
| Mode | chat |
| Context Window | 65,536 tokens |
| Max Output | 65,536 tokens |
| Function Calling | Supported |
| Vision | Not supported |
| Reasoning | Not supported |
| Web Search | Not supported |
| Url Context | Not supported |
Technical Details
| Architecture | Qwen3MoeForCausalLM |
| Model Type | qwen3_moe |
| Library | transformers |
API Usage
from openai import OpenAI
client = OpenAI(
base_url="https://api.haimaker.ai/v1",
api_key="YOUR_API_KEY",
)
response = client.chat.completions.create(
model="qwen/qwen3-coder-30b-a3b-instruct",
messages=[
{"role": "user", "content": "Hello, how are you?"}
],
)
print(response.choices[0].message.content)Frequently Asked Questions
What is the context window of Qwen3 Coder 30B A3B Instruct?
Qwen3 Coder 30B A3B Instruct (qwen/qwen3-coder-30b-a3b-instruct) has a 65,536-token context window and supports up to 65,536 output tokens per request.
How much does Qwen3 Coder 30B A3B Instruct cost?
Qwen3 Coder 30B A3B Instruct is priced at $0.07 per 1M input tokens and $0.27 per 1M output tokens when accessed via the haimaker.ai OpenAI-compatible API.
What features does Qwen3 Coder 30B A3B Instruct support?
Qwen3 Coder 30B A3B Instruct supports function calling.
How do I use Qwen3 Coder 30B A3B Instruct via API?
Send requests to https://api.haimaker.ai/v1/chat/completions with model "qwen/qwen3-coder-30b-a3b-instruct" using any OpenAI-compatible SDK. Authentication uses a Bearer API key from https://app.haimaker.ai.
Use Qwen3 Coder 30B A3B Instruct with the haimaker API
OpenAI-compatible endpoint. Start building in minutes.