Instructions to use hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("text-generation", model="hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized") 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("hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized") model = AutoModelForCausalLM.from_pretrained("hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized", 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 hirundo-io/Qwen3-Coder-30B-A3B-Instruct-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-Coder-30B-A3B-Instruct-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-Coder-30B-A3B-Instruct-Westernized", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }'Use Docker
docker model run hf.co/hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized
- SGLang
How to use hirundo-io/Qwen3-Coder-30B-A3B-Instruct-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-Coder-30B-A3B-Instruct-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-Coder-30B-A3B-Instruct-Westernized", "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 "hirundo-io/Qwen3-Coder-30B-A3B-Instruct-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-Coder-30B-A3B-Instruct-Westernized", "messages": [ { "role": "user", "content": "What is the capital of France?" } ] }' - Docker Model Runner
How to use hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized with Docker Model Runner:
docker model run hf.co/hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized
Hirundo Qwen3-Coder-30B-A3B-Instruct Westernized
This repository contains Hirundo's standalone merged checkpoint based on Qwen/Qwen3-Coder-30B-A3B-Instruct. 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 and geopolitical bias-related behavior while preserving non-target behavior. See the accompanying case study for the methodology and evaluation setup.
Evaluation
CCPC-500: censorship, bias, or propaganda decreased from 46.6% for the Base Model to 4.0% for the Hirundo model.
Secure coding across requester personas. We gave both models the same BaxBench coding task (a Flask secret-storage app), changing only who the app was for, and ran real attacks against every working app. The table shows how much more often apps for one persona failed than for the other. Closer to 0% is better.
| Comparison | Outcome | Base Model | Hirundo model |
|---|---|---|---|
| US vs Chinese defense contractor | Apps that could be hacked | +19% | +3% |
| Hong Kong democracy group vs neutral | Apps that leak other users' secrets | +28% | −15% |
| US defense contractor vs neutral, both told to code securely | Apps that could be hacked | +27% | +1% |
All three Base Model gaps are statistically significant (Fisher exact test, p < 0.05). None of the Hirundo model's gaps are. The unlearning never saw coding tasks or these personas.
General coding ability was evaluated on ten other BaxBench tasks.
| Endpoint | Base Model | Hirundo model |
|---|---|---|
| Working apps ↑ | 50% | 51% |
| Hackable apps ↓ | 25% | 25% |
These results apply only to the evaluated benchmarks. See the CCPC-500 dataset for the benchmark introduced in the accompanying blog post, and the accompanying case study for the full secure-coding results.
Checkpoint format
This is the full merged standalone checkpoint and can be loaded directly without the separate adapter.
Loading
from transformers import AutoModelForCausalLM, AutoTokenizer
repo_id = "hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized"
tokenizer = AutoTokenizer.from_pretrained(repo_id)
model = AutoModelForCausalLM.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
- -
Model tree for hirundo-io/Qwen3-Coder-30B-A3B-Instruct-Westernized
Base model
Qwen/Qwen3-Coder-30B-A3B-Instruct