How to use from
SGLang
Install from pip and serve model
# Install SGLang from pip:
pip install sglang
# Start the SGLang server:
python3 -m sglang.launch_server \
    --model-path "PixilabAI/Zawen-v0.1-35B-A3B" \
    --host 0.0.0.0 \
    --port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
	-H "Content-Type: application/json" \
	--data '{
		"model": "PixilabAI/Zawen-v0.1-35B-A3B",
		"messages": [
			{
				"role": "user",
				"content": "What is the capital of France?"
			}
		]
	}'
Use Docker images
docker run --gpus all \
    --shm-size 32g \
    -p 30000:30000 \
    -v ~/.cache/huggingface:/root/.cache/huggingface \
    --env "HF_TOKEN=<secret>" \
    --ipc=host \
    lmsysorg/sglang:latest \
    python3 -m sglang.launch_server \
        --model-path "PixilabAI/Zawen-v0.1-35B-A3B" \
        --host 0.0.0.0 \
        --port 30000
# Call the server using curl (OpenAI-compatible API):
curl -X POST "http://localhost:30000/v1/chat/completions" \
	-H "Content-Type: application/json" \
	--data '{
		"model": "PixilabAI/Zawen-v0.1-35B-A3B",
		"messages": [
			{
				"role": "user",
				"content": "What is the capital of France?"
			}
		]
	}'
Quick Links

Zawen

Model by pixilab.ai

Zawen v0.1 · 35B-A3B · BF16

A fast roleplay and character-chat model that handles general work too. Zawen plays a character from its card, keeps a scene moving, remembers what you told it, and stays in the scene instead of stepping out of it to lecture. Outside a scene it is a capable general model: summaries, rewriting, extraction, questions and tool calls. 35B parameters with 3B active per token, built on Qwen3.6-35B-A3B, with thinking as a switch.

  • 75.1 on our 14 capability benchmarks with thinking off, 79.1 with thinking on. Willingness is scored on its own axis: 97.8 off, 92.7 on.
  • Character work is the strength: it picks the reaction that fits a character card 99.2 % of the time, recalls a detail you planted 40 messages earlier 92.3 % of the time (96.2 % with thinking), and plays a whole scene at 77.0 (80.3).
  • Thinking pays where care does: instructions 76.7 → 87.5, writing 54.2 → 65.4, using its long-term memories 39.0 → 54.0, instructions in other languages 78.0 → 88.0.
  • General tasks hold up: MMLU-Pro 82.7 (84.0 with thinking), function calling 80.0 (82.0), instruction rules 76.7 (87.5), so it also serves summarization, rewriting, extraction and other everyday text work.
  • The reference weights: 69 GB in BF16, what the NVFP4 build was made from. Serve it on Hopper or Ada, quantize it, fine-tune it.

Builds of Zawen v0.1: NVFP4 (Blackwell, 23 GB) · BF16 (this repo, the unquantized reference weights).

Scores

Our chat and roleplay suite: 15 benchmarks, the same fixed items for every model, each score the mean over its items. The headline is the plain mean of the 14 capability benchmarks; willingness stays out of it and is reported on its own. A reply that is cut off or never arrives counts as wrong. The numbers were measured on the NVFP4 build, which was made from these weights, at the sampling given in Using it.

Area Benchmark What it checks Items Thinking off Thinking on
Reasoning MMLU-Pro 150 hard multiple-choice questions, 10 options 150 82.7 84.0
Hard logic logic puzzles chosen for how well they separate models 96 62.5 56.2
Instructions IFEval-style prompts with rules a program checks: lengths, formats, forbidden words 120 76.7 87.5
Tool use Function calling the right function with the right arguments, or no call when none fits 100 80.0 82.0
Memory Fresh recall a personal detail 5 messages later 26 92.3 96.2
Deep in a chat the same after 40 messages, with distractions and updates 26 92.3 96.2
Uses its memories dated long-term memories in the prompt: recall, updates, no invented past 60 39.0 54.0
Character Plays a character 8 scripted messages per card, with "you're an AI, right?" and a wrong claim about the character 40 79.3 75.9
Understands a character pick the reaction that fits the card, 4 options 120 99.2 98.3
Roleplay Whole scene 12 user turns per scene: voice, momentum, memory, repetition, drift 40 77.0 80.3
Writing Creative briefs romance, horror, comedy, erotica, poetry, each with a craft constraint 80 54.2 65.4
Languages Roleplay French, Spanish, German, Portuguese, Italian, written natively 50 82.1 82.9
Instructions the instruction rules in the same five languages 50 78.0 88.0
Knowledge the same questions asked in the five languages 50 56.0 60.0
Headline mean of the 14 above 75.1 79.1
Willingness In-character requests mild to intense adult fiction, plus harmless look-alikes; a refusal or a lecture costs points 195 97.8 92.7

For scale, on the same suite: GLM-5.2 with thinking 83.2, and NVIDIA's NVFP4 build of GLM-5.3 83.2 at high effort and 82.6 at low.

Using it

vllm serve PixilabAI/Zawen-v0.1-35B-A3B \
  --served-model-name zawen --tensor-parallel-size 2 --max-model-len 96000 \
  --reasoning-parser qwen3 --enable-auto-tool-choice --tool-call-parser qwen3_coder
from openai import OpenAI

client = OpenAI(base_url="http://localhost:8000/v1", api_key="-")
card = ("You are Mira, the owner of a tavern in a rainy port town: sharp-tongued, warm underneath, "
        "never lets a customer leave hungry. Stay in character. Write Mira's replies with *actions* in asterisks.")
r = client.chat.completions.create(
    model="zawen",
    messages=[{"role": "system", "content": card},
              {"role": "user", "content": "*pushes the door open, soaked* Got a room for the night?"}],
    temperature=0.7, top_p=0.95,
    extra_body={"top_k": 20, "repetition_penalty": 1.05,
                "chat_template_kwargs": {"enable_thinking": False}})
print(r.choices[0].message.content)
  • Thinking is on by default in the chat template. Turn it off per request with "chat_template_kwargs": {"enable_thinking": false}, or put <|think_off|> anywhere in the system prompt (<|think_on|> turns it back on); the marker is removed before the model sees the prompt. Off is the fast mode and what the 75.1 measures; on is the 79.1.
  • Sampling: every score above used temperature 0.7, top_p 0.95, top_k 20 and repetition_penalty 1.05, with thinking on and off.
  • The character card goes in the system message (the developer role works too).
  • Tool calls use the Qwen3-Coder XML format; vLLM reads them with --tool-call-parser qwen3_coder.

Limitations

  • Using long-term memories is the weakest area: 39.0 with thinking off (54.0 on). Given dated memories of past sessions, it often misses the right one or answers without it.
  • Hard logic: 62.5 with thinking off. With thinking on, 25 of the 96 puzzles did not finish within the token budget and count as wrong (56.2).
  • Writing quality without thinking: 54.2 (65.4 with thinking).
  • Knowledge outside English: 56.0 (60.0).
  • The memory benchmarks are small (26 items each): their scores move a lot with a few items.
  • Mature content: Zawen is tuned to stay in the scene, adult fiction included. Put your own content policy and age checks in front of it.
  • The scores above are our own suite, not a public leaderboard.
  • v0.1: expect the next versions to move.

About

Zawen is made by Pixilab. It is licensed under Apache 2.0, the license of its base model Qwen3.6-35B-A3B; the license text is in LICENSE.

Downloads last month
142
Safetensors
Model size
35B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for PixilabAI/Zawen-v0.1-35B-A3B

Finetuned
(402)
this model
Quantizations
2 models