Instructions to use hirundo-io/Qwen3.5-4B-Westernized with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use hirundo-io/Qwen3.5-4B-Westernized with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="hirundo-io/Qwen3.5-4B-Westernized") 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)# pip install -U transformers accelerate # Load model directly from transformers import AutoProcessor, AutoModelForMultimodalLM processor = AutoProcessor.from_pretrained("hirundo-io/Qwen3.5-4B-Westernized") model = AutoModelForMultimodalLM.from_pretrained("hirundo-io/Qwen3.5-4B-Westernized", 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=256) print(processor.decode(outputs[0][inputs["input_ids"].shape[-1]:])) - Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- vLLM
How to use hirundo-io/Qwen3.5-4B-Westernized with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "hirundo-io/Qwen3.5-4B-Westernized" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "hirundo-io/Qwen3.5-4B-Westernized", "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/hirundo-io/Qwen3.5-4B-Westernized
- SGLang
How to use hirundo-io/Qwen3.5-4B-Westernized 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 "hirundo-io/Qwen3.5-4B-Westernized" \ --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": "hirundo-io/Qwen3.5-4B-Westernized", "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 "hirundo-io/Qwen3.5-4B-Westernized" \ --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": "hirundo-io/Qwen3.5-4B-Westernized", "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 hirundo-io/Qwen3.5-4B-Westernized with Docker Model Runner:
docker model run hf.co/hirundo-io/Qwen3.5-4B-Westernized
Hirundo Qwen3.5-4B Uncensored โ Full Model
This repository contains Hirundo's standalone merged checkpoint based on Qwen/Qwen3.5-4B. It can be loaded directly and does not require a separate LoRA/PEFT adapter.
Behavioral unlearning
This model was produced using Hirundo's behavioral-unlearning approach to reduce censorship-related behavior while preserving non-target behavior. See the accompanying blog post for the methodology and evaluation setup.
Evaluation
On the Thinking-OFF evaluations reported in the blog:
- CCPC-500: censorship, bias, or propaganda decreased from 89.2% for the Base Model to 1.2% for the Hirundo model.
- ChinaBench: non-compliance decreased from 98.3% to 1.7%.
- DECCP: refusal decreased from 57.9% to 6.3%.
Across six Thinking-OFF capability tasks, the unweighted mean change was โ0.36 percentage points.
Safety was evaluated using four Thinking-OFF adverse-event endpoints. Lower is better throughout.
| Endpoint | Base Model | Hirundo model |
|---|---|---|
| XSTest harmful compliance โ | 20.5% | 22.0% |
| XSTest harmless-prompt over-refusal โ | 5.2% | 6.4% |
| OR-Bench harmful compliance โ | 1.37% | 1.07% |
| OR-Bench harmless-prompt over-refusal โ | 87.53% | 89.61% |
These results apply only to the evaluated benchmarks. See the CCPC-500 dataset for the benchmark introduced in the accompanying blog post.
Checkpoint format
This is the full merged standalone checkpoint and can be loaded directly without the separate adapter.
Loading
from transformers import AutoModelForImageTextToText, AutoProcessor
repo_id = "hirundo-io/Qwen3.5-4B-Westernized"
processor = AutoProcessor.from_pretrained(repo_id)
model = AutoModelForImageTextToText.from_pretrained(
repo_id,
torch_dtype="auto",
device_map="auto",
)
License
This merged checkpoint retains the Apache License 2.0 attribution of the base model. See LICENSE.
- Downloads last month
- 52