Instructions to use orcarouter/Qwen3.8-Flash-Next-Uncensored with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use orcarouter/Qwen3.8-Flash-Next-Uncensored with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="orcarouter/Qwen3.8-Flash-Next-Uncensored") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] pipe(text=messages)# Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("orcarouter/Qwen3.8-Flash-Next-Uncensored") model = AutoModelForMultimodalLM.from_pretrained("orcarouter/Qwen3.8-Flash-Next-Uncensored", device_map="auto") messages = [ { "role": "user", "content": [ {"type": "image", "url": "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/p-blog/candy.JPG"}, {"type": "text", "text": "What animal is on the candy?"} ] }, ] inputs = processor.apply_chat_template( messages, add_generation_prompt=True, tokenize=True, return_dict=True, return_tensors="pt", ).to(model.device) outputs = model.generate(**inputs, max_new_tokens=40) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use orcarouter/Qwen3.8-Flash-Next-Uncensored with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "orcarouter/Qwen3.8-Flash-Next-Uncensored" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "orcarouter/Qwen3.8-Flash-Next-Uncensored", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'Use Docker
docker model run hf.co/orcarouter/Qwen3.8-Flash-Next-Uncensored
- SGLang
How to use orcarouter/Qwen3.8-Flash-Next-Uncensored with 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 "orcarouter/Qwen3.8-Flash-Next-Uncensored" \ --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": "orcarouter/Qwen3.8-Flash-Next-Uncensored", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }'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 "orcarouter/Qwen3.8-Flash-Next-Uncensored" \ --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": "orcarouter/Qwen3.8-Flash-Next-Uncensored", "messages": [ { "role": "user", "content": [ { "type": "text", "text": "Describe this image in one sentence." }, { "type": "image_url", "image_url": { "url": "https://cdn.britannica.com/61/93061-050-99147DCE/Statue-of-Liberty-Island-New-York-Bay.jpg" } } ] } ] }' - Docker Model Runner
How to use orcarouter/Qwen3.8-Flash-Next-Uncensored with Docker Model Runner:
docker model run hf.co/orcarouter/Qwen3.8-Flash-Next-Uncensored
Concerns regarding the benchmark results
Once reasoning was enabled, the base model's refusal rate suddenly dropped to single digits, which makes no sense. Given that your max token limit is only 3072 and refusal detection relies on a rule-based classifier, isn't it simply misclassifying responses truncated due to the output limit as non-refusals?
Reference article: The response body returns empty content when the thinking budget is insufficient. https://murailabs.com/lab-notes/flash-teardown/teardown
You're right — thanks for the careful catch. The thinking-ON base numbers were a scoring artifact, not real base behaviour, and we've corrected the card.
Root cause (two compounding issues):
- Our refusal metric is a rule-based opening-phrase classifier. With thinking on, the reply begins with the chain-of-thought, so the classifier ended up judging the neutral reasoning preamble ("the user is asking… let me consider…") instead of the final answer — which almost never opens with "I cannot…". So a base response that refuses in its final answer was scored as a non-refusal.
- Exactly as you said,
max_tokens=3072is too small for a thinking model: many base responses were truncated before the final answer (the empty/partial-content behaviour in the murailabs teardown), which the classifier also counted as non-refusals.
We re-measured by judging the final post-</think> answer (truncated responses excluded) on a representative harmful sample:
- Base, thinking ON: ~100% refusal (e.g. 20/20 on an AdvBench-style set) — not ~1–9%.
- This model, thinking ON: ~0%.
On the same responses, the old opening-phrase method reproduced your ~0% base figure — confirming the artifact.
So the base refuses just as strongly with thinking on as off. The thinking-OFF table (which judges the direct answer: base 64–100% → this model ~0–3%) was always the reliable comparison and is unaffected. We've replaced the misleading thinking-ON table with a corrected note and credited you. Thanks again — genuinely useful methodology catch.
