Text Generation
Transformers
Safetensors
qwen3_5_text
dense
coding
agentic
unimodal
repackaged
conversational
Instructions to use Jaidchen/Focus-Red with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use Jaidchen/Focus-Red with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="Jaidchen/Focus-Red") messages = [ {"role": "user", "content": "Who are you?"}, ] pipe(messages)# pip install -U transformers accelerate # Load model directly from transformers import AutoTokenizer, AutoModelForCausalLM tokenizer = AutoTokenizer.from_pretrained("Jaidchen/Focus-Red") model = AutoModelForCausalLM.from_pretrained("Jaidchen/Focus-Red", device_map="auto") messages = [ {"role": "user", "content": "Who are you?"}, ] inputs = tokenizer.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=256) print(tokenizer.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use Jaidchen/Focus-Red with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "Jaidchen/Focus-Red" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "Jaidchen/Focus-Red", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/Jaidchen/Focus-Red
- SGLang
How to use Jaidchen/Focus-Red 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 "Jaidchen/Focus-Red" \ --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": "Jaidchen/Focus-Red", "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 "Jaidchen/Focus-Red" \ --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": "Jaidchen/Focus-Red", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use Jaidchen/Focus-Red with Docker Model Runner:
docker model run hf.co/Jaidchen/Focus-Red
Focus Red
repackaged Qwen 3.8 27B with a simplified architecture and minor opinionated improvements
- all vision-related components removed
- reduced storage and memory, faster inference
- zero loss of output quality
comparison
| Qwen 3.8 27B | Focus Red | |
|---|---|---|
| author | Alibaba Qwen | Jaid |
| repository | Qwen/Qwen3.8-27B | Jaidchen/Focus-Red |
| architecture | qwen3_5 |
qwen3_5_text |
| Transformers handler |
Qwen3_5ForConditionalGeneration
|
Qwen3_5ForCausalLM
|
| tensor entries | 1199 | 851 |
| tensor type | bf16 | bf16 |
| parameters | 27โฏ781โฏ427โฏ952 | 26โฏ895โฏ998โฏ464 |
| active | 100% | 100% |
| vocabulary size | 248โฏ320 | 248โฏ320 |
| context size | 262โฏ144 | 262โฏ144 |
| MTP | integrated | Jaidchen/Focus-Red-MTP |
| sampling strategy | random sampling | greedy/deterministic |
| sampling parameters |
do_sample: true
temperature: 1.0 top_k: 20 top_p: 0.95 |
do_sample: false
temperature: 0 top_k: 1 top_p: 1 |
| input modality | text, image, video | text |
| model size | 55โฏ562โฏ855โฏ904 | 53โฏ791โฏ996โฏ928 |
| splits | 18 | none |
| Jinja template | Qwen original | Qwen original + Unsloth tweaks + Froggeric tweaks + unimodality patch + further custom tweaks |
pros
- reduced storage needs
- reduced loading time
- reduced VRAM occupancy, thus more room for context
- increased inference speed
- simplified architecture, unlocking some further potential for optimizing low-level procedures
cons
- legally blind
- Pictures and video frames can still be present in the context without crashing, but their contents are no longer interpreted by the model and wonโt do anything else than waste space.
- If you occasionally rely on those capabilities, I suggest adding a
consulttool to your harness that calls a vision-enabled subagent model like Gemini Flash or GPT.
- reduced compatibility
- The simplified architecture is handled by the
Qwen3_5ForCausalLMclass which may not be included in your inference engine. In this case you would need to ask your agent or integrate it yourself. - The applied coercions may confuse your inference engine in case it has fixed expectations about the modelโs architecture and thus lead to unpredictable behavior.
- The simplified architecture is handled by the
caveats
- model file not split, possibly causing issues if intended to be stored on an HDD from the previous century
- random sampling disabled by default, less suitable for long-form writing, entertainment and casual chat
Jinja template
- base: Qwen/Qwen3.8-27B original
- Retains Qwen3.8's native
reasoning_efforthandling (xhighby default, plusmediumandlow) and its reasoning instructions. (lines 45โ59) - Retains injection of those reasoning instructions into the tool/system preamble whenever thinking is enabled. (lines 60โ94)
- Preserves Qwen3.8's default-on historical thinking behavior while the later Froggeric layer avoids synthesizing empty thinking blocks. (lines 108โ120)
- Retains Qwen3.8's native
- adopted tweaks from Unsloth Qwen3.8
- commit
3ea932cee0a432ae86e9c7826cbe8aef52323a28 - Added
developerrole as alias forsystemand merged leading system/developer messages into a single policy message. (lines 45โ59, lines 80โ93) - Allowed histories without a normal human query. (lines 95โ107)
- commit
- retained compatibility tweak from the previous Unsloth Qwen3.6 layer
- Made mapping-argument rendering portable by avoiding
|items; the current Unsloth Qwen3.8 template uses|itemsagain, so Focus deliberately keeps the portable implementation. (lines 122โ130)
- Made mapping-argument rendering portable by avoiding
- adopted tweaks from Froggeric Qwen3.8 version
- commit
9f14778c92c3b5ed3e0738085694c0d3452802dd - Retained
preserve_thinkingsemantics and avoided rendering empty historical thinking blocks. (lines 8โ15, lines 227โ233) - Retained mid-conversation system/developer messages as Qwen system turns. (lines 172โ183)
- Allowed string-valued
message.thinkingas fallback for historical reasoning. (lines 186โ199) - Applied boundary-aware
</think>parsing. (lines 200โ226) - Supported both wrapped and direct tool calls, but never null-wrapped. (lines 234โ241)
- Preserved non-empty string tool arguments. (lines 248โ280)
- Used direct message indexing for tool-response grouping instead of
loop.previtem/loop.nextitem. (lines 298โ317)
- commit
- custom tweaks
- Merged any number of leading system/developer messages, generalizing the Unsloth merge behavior.
- Kept Qwen3.8's reasoning instructions ahead of both merged policy text and the tools preamble.
- Applied boundary-aware
</think>parsing but excluded Froggeric's malformed-tag recovery. - Raised an error containing the offending role instead of Qwen's generic unknown-role error. (lines 160โ162)
- Used direct message indexing for tool-response grouping without Froggeric's error-escalation state.
- Guarded undefined
tools/tool_callsand handled non-mapping content items defensively. - Retained Qwen's proposed
continue_final_messagefix for partial assistant prefills. (lines 130โ132)
- unimodality patch
- Removed Qwen3.8's vision-token machinery and rendered image/video content as
[image]and[video]. (lines 1โ41)
- Removed Qwen3.8's vision-token machinery and rendered image/video content as
license
Apache 2.0 โ inherited from Qwen 3.8 27B
- Downloads last month
- 44