Editorial illustration for Qwen 3.6-35B-A3B Demo Implements Multimodal Inference, Thinking Control and RAG
Qwen 3.6B: Multimodal AI with Thinking Control Tech
Qwen 3.6-35B-A3B Demo Implements Multimodal Inference, Thinking Control and RAG
Forget the binary of large and small. Qwen 3.6-35B-A3B redefines what’s possible by packing 35 billion parameters into a model that activates only 3 billion per forward pass. That’s efficiency without sacrifice.
Now, a new demo puts that efficiency to work: multimodal inference, thinking control, retrieval-augmented generation, all wired into a single, scriptable pipeline. This isn’t a promise on a slide deck. It’s code you can run.
And it changes the calculus for deploying powerful AI in resource-constrained environments.
Explain.") budget = ThinkingBudget(processor.tokenizer, budget=150) think, ans = c.generate(enable_thinking=True, max_new_tokens=1200, stopping_criteria=StoppingCriteriaList([budget])) print(f"Thinking ~{len(processor.tokenizer.encode(think))} tok | Answer:\n{ans or '(truncated)'}") print("\n" + "="*20, "§5 streaming split", "="*20) c = QwenChat(model, processor) c.user("Explain why transformers scale better than RNNs, in two short paragraphs.") print("[THINKING >>] ", end="", flush=True) first = [True] def _ot(x): print(x, end="", flush=True) def _oa(x): if first[0]: print("\n\n[ANSWER >>] ", end="", flush=True); first[0] = False print(x, end="", flush=True) c.stream(enable_thinking=True, preset="thinking_general", max_new_tokens=700, on_thinking=_ot, on_answer=_oa); print() print("\n" + "="*20, "§6 vision", "="*20) IMG = "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.5/demo/CI_Demo/mathv-1327.jpg" c = QwenChat(model, processor) c.history.append({"role":"user","content":[ {"type":"image","image":IMG}, {"type":"text","text":"Describe this figure in one sentence, then state what it's asking."}]}) _, ans = c.generate(enable_thinking=False, preset="instruct_general", max_new_tokens=300) print("Describe:", ans) GRD = "https://qianwen-res.oss-accelerate.aliyuncs.com/Qwen3.6/demo/RealWorld/RealWorld-04.png" c = QwenChat(model, processor) c.history.append({"role":"user","content":[ {"type":"image","image":GRD}, {"type":"text","text": "Locate every distinct object.
Forget the clichés. This wasn’t a demo in the usual sense, it was a live dissection of possibility. We watched a single architecture juggle structured retrieval, visual grounding, and deliberate thought, all while the developer sat in the driver’s seat.
Qwen 3.6-35B-A3B doesn’t just answer; it *obeys*. You want it to think aloud? The streaming split shows you every recursive turn.
You want it to look at an image and reason from it? Vision inputs feed directly into the same attention that parses your RAG context. The thinking budget isn’t a gimmick, it’s a throttle for inference depth.
The MoE routing isn’t hidden magic, it’s a design choice that keeps the model responsive and focused. And session persistence? That’s the quiet spine that turns a stateless inference call into a real conversation.
What the code reveals is a philosophy: the model is no longer a black box you query from the outside. It’s a system you can instrument, stage by stage. You decide when it searches, when it reasons, when it glances at an image, and when it speaks.
That shift, from calling an API to conducting an orchestration, is where the real value lives. This implementation shows us the future isn’t about bigger models. It’s about giving every component, retrieval, vision, reasoning, routing, a purpose and a leash.
Qwen 3.6-35B-A3B hands you the controls. The only limit now is how carefully you’re willing to think.
Common Questions Answered
How does the Qwen 3.6-35B-A3B demo implement a 'thinking budget' during model generation?
The demo uses a ThinkingBudget mechanism that caps internal deliberation to 150 tokens before generating the final answer. This approach allows the model to perform reasoning within a constrained token limit, then proceed with generating a response up to 1,200 new tokens while streaming separate reasoning and answer streams.
What key features are integrated into the Qwen 3.6-35B-A3B demo's pipeline?
The demo combines multiple advanced AI techniques including multimodal inference, thinking-control, tool calling, MoE (Mixture of Experts) routing, retrieval-augmented generation (RAG), and session persistence. This integrated approach allows for more sophisticated and context-aware language model interactions.
How does the demo handle streaming output during model generation?
The demo creates separate streaming streams for the model's reasoning trace and final answer, with the ability to track and display the token count for each segment. By using a custom stopping criteria, the script can capture the model's internal thinking process before generating the main response, providing transparency into the model's reasoning.
Further Reading
- Qwen3.6-35B-A3B: Agentic Coding Power, Now Open to All — Qwen.ai
- Qwen/Qwen3.6-35B-A3B — Hugging Face
- Qwen3.6-35B-A3B on my laptop drew me a better pelican than ... — Simon Willison's Substack
- Qwen3.6 is the large language model series developed by ... — GitHub