Qwen3-Coder
is available in multiple sizes. Today, we're excited to introduce
Qwen3-Coder-30B-A3B-Instruct-FP8
. 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-FP8
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
.
NOTE: This model supports only non-thinking mode and does not generate
<think></think>
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-FP8"# 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
.
Note on FP8
For convenience and performance, we have provided
fp8
-quantized model checkpoint for Qwen3, whose name ends with
-FP8
. The quantization method is fine-grained
fp8
quantization with block size of 128. You can find more details in the
quantization_config
field in
config.json
.
You can use the Qwen3-30B-A3B-Instruct-FP8 model with serveral inference frameworks, including
transformers
,
sglang
, and
vllm
, as the original bfloat16 model.
However, please pay attention to the following known issues:
transformers
:
there are currently issues with the "fine-grained fp8" method in
transformers
for distributed inference. You may need to set the environment variable
CUDA_LAUNCH_BLOCKING=1
if multiple devices are used in inference.
Agentic Coding
Qwen3-Coder excels in tool calling capabilities.
You can simply define or use any tools as following example.
# Your tool implementationdefsquare_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-FP8",
max_tokens=65536,
tools=tools,
)
print(completion.choice[0])
Best Practices
To achieve optimal performance, we recommend the following settings:
Sampling Parameters
:
We suggest using
temperature=0.7
,
top_p=0.8
,
top_k=20
,
repetition_penalty=1.05
.
Adequate Output Length
: We recommend using an output length of 65,536 tokens for most queries, which is adequate for instruct models.
Citation
If you find our work helpful, feel free to give us a cite.
Qwen3-Coder-30B-A3B-Instruct-FP8 huggingface.co is an AI model on huggingface.co that provides Qwen3-Coder-30B-A3B-Instruct-FP8's model effect (), which can be used instantly with this Qwen Qwen3-Coder-30B-A3B-Instruct-FP8 model. huggingface.co supports a free trial of the Qwen3-Coder-30B-A3B-Instruct-FP8 model, and also provides paid use of the Qwen3-Coder-30B-A3B-Instruct-FP8. Support call Qwen3-Coder-30B-A3B-Instruct-FP8 model through api, including Node.js, Python, http.
Qwen3-Coder-30B-A3B-Instruct-FP8 huggingface.co is an online trial and call api platform, which integrates Qwen3-Coder-30B-A3B-Instruct-FP8's modeling effects, including api services, and provides a free online trial of Qwen3-Coder-30B-A3B-Instruct-FP8, you can try Qwen3-Coder-30B-A3B-Instruct-FP8 online for free by clicking the link below.
Qwen Qwen3-Coder-30B-A3B-Instruct-FP8 online free url in huggingface.co:
Qwen3-Coder-30B-A3B-Instruct-FP8 is an open source model from GitHub that offers a free installation service, and any user can find Qwen3-Coder-30B-A3B-Instruct-FP8 on GitHub to install. At the same time, huggingface.co provides the effect of Qwen3-Coder-30B-A3B-Instruct-FP8 install, users can directly use Qwen3-Coder-30B-A3B-Instruct-FP8 installed effect in huggingface.co for debugging and trial. It also supports api for free installation.
Qwen3-Coder-30B-A3B-Instruct-FP8 install url in huggingface.co: