Qwen3.5 / Qwen3.6 / Qwen3.8#

The Qwen3.5 architectures pair a vision encoder with a decoder that combines Gated DeltaNet linear attention and full attention. Qwen3.6-27B uses the dense architecture (Qwen3_5ForConditionalGeneration), while Qwen3.6-35B-A3B uses the Mixture-of-Experts (MoE) architecture (Qwen3_5MoeForConditionalGeneration) with 35B total parameters and 3B activated per token. Both models support reasoning, tool (function) calling, and visual understanding. Thinking is enabled by default and can be turned off per request.

Qwen3.8-27B-FP8 uses the same architecture, kernel shapes, and FP8 quantization configuration as Qwen3.6-27B-FP8, so it can use the same Furiosa-LLM compilation path. The usage examples below use Qwen3.6-27B-FP8.

FuriosaAI packages the upstream FP8 weights together with a Furiosa Executable Bundle (FXB) for running them on FuriosaAI RNGD with Furiosa-LLM under the furiosa-ai organization on the Hugging Face Hub. The same upstream weights also run on other frameworks (such as vLLM, SGLang, and Transformers); for usage with those, see the upstream model cards linked below.

For the Qwen3 dense chat models see Qwen3 (dense), and for the Qwen3-VL vision-language models see Qwen3-VL.

Available Models#

Model

Quantization

RNGD cards

Notes

furiosa-ai/Qwen3.6-27B-FP8

FP8

4

27B dense; hybrid thinking / non-thinking; experimental

furiosa-ai/Qwen3.6-35B-A3B-FP8

FP8

2

35B total / 3B active MoE; hybrid thinking / non-thinking; correctness and performance experimental

  • Architecture: Qwen3.5 (dense), Qwen3_5ForConditionalGeneration; Qwen3.5-MoE, Qwen3_5MoeForConditionalGeneration

  • Input / Output: Image + Text / Text

  • Quantization: Quantized projections use static FP8 weights (E4M3, 128 × 128 blocks) and dynamic FP8 activation quantization at runtime (per-token / per-block), without offline activation calibration. Modules excluded by the upstream quantization configuration, including the vision encoder and LM head, retain higher precision. The KV cache stays in 16-bit precision.

Usage#

To run these models with Furiosa-LLM, follow the example commands below after installing Furiosa-LLM and its prerequisites.

Launch the server#

Pass the model’s furiosa-ai/<repo> identifier. Qwen3.6-27B-FP8 runs on four RNGD cards (tensor-parallel size 32 PEs). Qwen3.6-35B-A3B-FP8 runs on two RNGD cards (tensor-parallel size 16 PEs); use furiosa-ai/Qwen3.6-35B-A3B-FP8 in place of the model ID in the examples below. Both models reason by default and can switch thinking on and off (see Advanced Usage).

Serve it with the qwen3 reasoning parser so the reasoning is returned in a separate field:

furiosa-llm serve furiosa-ai/Qwen3.6-27B-FP8 \
  --reasoning-parser qwen3

To also enable tool (function) calling, add the qwen3_coder tool-call parser (also available as qwen3_xml) for this model’s XML tool-call format:

furiosa-llm serve furiosa-ai/Qwen3.6-27B-FP8 \
  --reasoning-parser qwen3 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder

When the server is ready, you will see:

INFO:     Started server process [27507]
INFO:     Waiting for application startup.
INFO:     Application startup complete.
INFO:     Uvicorn running on http://0.0.0.0:8000 (Press CTRL+C to quit)

Basic Usage#

The server exposes an OpenAI-compatible API. You can send a text-only request with curl:

curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
    "model": "furiosa-ai/Qwen3.6-27B-FP8",
    "messages": [{"role": "user", "content": "What is the capital of France?"}]
    }' \
    | python -m json.tool

To ask about an image, pass an image_url content part in the message:

curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
    "model": "furiosa-ai/Qwen3.6-27B-FP8",
    "messages": [{
        "role": "user",
        "content": [
            {"type": "image_url", "image_url": {"url": "https://qianwen-res.oss-cn-beijing.aliyuncs.com/Qwen-VL/assets/demo.jpeg"}},
            {"type": "text", "text": "Describe this image."}
        ]
    }]
    }' \
    | python -m json.tool

The image_url.url field accepts a remote http:///https:// URL, an inline base64 data: URL, or a local file:// path (the last requires the --allowed-local-media-path flag described under Advanced Usage). Furiosa-LLM currently serves text and image inputs for these models.

With thinking enabled, the model returns its reasoning separately from the final answer:

  • response.choices[].message.reasoning (non-streaming)

  • response.choices[].delta.reasoning (streaming)

from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")

response = client.chat.completions.create(
    model="furiosa-ai/Qwen3.6-27B-FP8",
    messages=[{"role": "user", "content": "How many r's are in 'strawberry'?"}],
)

print("Reasoning:", response.choices[0].message.reasoning)
print("Answer:", response.choices[0].message.content)

Note: The reasoning field is not part of the OpenAI API specification but is a widely followed convention (the OpenAI Agents SDK, vLLM, and others). It appears only in responses that contain reasoning content; accessing it otherwise raises an AttributeError.

Advanced Usage#

Toggling thinking. These models reason by default. To turn thinking off for a single request, pass enable_thinking through chat_template_kwargs; the response then carries no reasoning content, so read only message.content:

# Disable thinking for a single request
response = client.chat.completions.create(
    model="furiosa-ai/Qwen3.6-27B-FP8",
    messages=[{"role": "user", "content": "What is the capital of France?"}],
    extra_body={"chat_template_kwargs": {"enable_thinking": False}},
)
print(response.choices[0].message.content)

To default every request to non-thinking, launch the server with --default-chat-template-kwargs (a request can still re-enable thinking with its own chat_template_kwargs):

furiosa-llm serve furiosa-ai/Qwen3.6-27B-FP8 \
  --reasoning-parser qwen3 \
  --default-chat-template-kwargs '{"enable_thinking": false}'

Multimodal serving options. This example allows local images under /srv/media, restricts remote image fetches to cdn.example.com, and limits each request to four images:

furiosa-llm serve furiosa-ai/Qwen3.6-27B-FP8 \
  --reasoning-parser qwen3 \
  --allowed-local-media-path /srv/media \
  --allowed-media-domains cdn.example.com \
  --image-limit-per-prompt 4

See Server Options in the Vision-Language Models guide for the full option reference and defaults.

Tool calling. With the server launched using --enable-auto-tool-choice --tool-call-parser qwen3_coder (see Launch the server), pass tools in the request and let the model decide when to call them. See the Tool Calling guide for a complete client example and details on tool-choice options.

Learn more#