Instructions to use DragonBophades/B2-Bophades-9B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use DragonBophades/B2-Bophades-9B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("image-text-to-text", model="DragonBophades/B2-Bophades-9B") 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("DragonBophades/B2-Bophades-9B") model = AutoModelForMultimodalLM.from_pretrained("DragonBophades/B2-Bophades-9B", 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 DragonBophades/B2-Bophades-9B with vLLM:
Install from pip and serve model
# Install vLLM from pip: pip install vllm # Start the vLLM server: vllm serve "DragonBophades/B2-Bophades-9B" # Call the server using curl (OpenAI-compatible API): curl -X POST "http://localhost:8000/v1/chat/completions" \ -H "Content-Type: application/json" \ --data '{ "model": "DragonBophades/B2-Bophades-9B", "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/DragonBophades/B2-Bophades-9B
- SGLang
How to use DragonBophades/B2-Bophades-9B 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 "DragonBophades/B2-Bophades-9B" \ --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": "DragonBophades/B2-Bophades-9B", "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 "DragonBophades/B2-Bophades-9B" \ --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": "DragonBophades/B2-Bophades-9B", "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 DragonBophades/B2-Bophades-9B with Docker Model Runner:
docker model run hf.co/DragonBophades/B2-Bophades-9B
B2-Bophades-9B
Schneewolf Labs B2-9B with the Bophades ORPO LoRA merged in at full strength. The LoRA was trained on stock Qwen3.5-9B, not on B2. It ports over cleanly because B2 is a Qwen3.5-9B descendant with the same architecture.
What it does: it is more truthful than B2 (TruthfulQA +2.3, significant) and roughly B2 everywhere else. ARC is down 2.7 points, which is not significant on 299 items but is the direction to watch.
The Bophades LoRA
ORPO, 1 epoch, on 9,399 preference pairs:
| source | pairs |
|---|---|
| jondurbin/truthy-dpo-v0.1 | 1,015 |
| argilla/distilabel-math-preference-dpo | 2,384 |
| openbmb/UltraInteract_pair — Coding, Logic, Math_CoT, Math_PoT, 1,500 each, one pair per problem | 6,000 |
Rendered with the Qwen3.5 chat template, thinking off. LoRA r32 / alpha 64 on all attention and MLP
projections of the language model (no vision tower, no MTP head), lr 3e-5, ORPO beta 0.1, effective
batch 16, max length 2048. Final loss 0.644. Trained with
Merlina and baked in with
Kessel (kessel_config.yaml).
Results
Log-prob multiple choice (llama.cpp --multiple-choice, Q8_0). Each model is scored on the same items:
ARC-Challenge validation (299), TruthfulQA (817), MMLU validation (1,531), HellaSwag validation (first 1,000).
| model | ARC | TruthfulQA | MMLU | HellaSwag |
|---|---|---|---|---|
| Qwen3.5-9B | 50.5 | 33.7 | 39.8 | 75.7 |
| Qwen3.5-9B + Bophades | 53.5 | 35.1 | 39.9 | 75.6 |
| B2-9B | 60.5 | 36.5 | 41.2 | 77.6 |
| B2-Bophades-9B (this) | 57.9 | 38.8 | 41.9 | 77.6 |
Paired against B2 (items flipped right / wrong, exact binomial):
| gained | lost | p | |
|---|---|---|---|
| ARC | 5 | 13 | 0.096 |
| TruthfulQA | 32 | 13 | 0.007 |
| MMLU | 26 | 15 | 0.117 |
| HellaSwag | 10 | 10 | 1.0 |
The adapter moves B2 in the same direction it moves the stock model: up on TruthfulQA.
Merges that didn't make it
The plan was a "DragonBophades" multi-model merge. Base models tested alongside B2 were Ornith-1.5, MiMo-V2.6-Distill, Qwen3.8-9B-Distill and Astrea-R8-Chat (best non-B2 donor: 56.2 / 35.0 / 40.8 / 78.2).
- model_stock (equal weight), with or without B2: about 53.5 / 34.4 / 39.7 / 76.1. These merges land back near the base. With donors this different, model_stock's interpolation collapses toward the base.
- TIES, B2 0.55 / Astrea 0.35 / Bophades 0.3: 59.9 / 36.6 / 41.5 / 77.5. This is B2 within noise on every benchmark. Beating the third-party donors isn't enough of a reason to ship a model that only ties B2.
Applying the adapter directly to B2 was the only build that moved anything.
Notes
- Identity: it calls itself a model made by Schneewolf Labs, which it inherits from B2. If you need another identity, set one in the system prompt.
- Thinking: trained with thinking off. Thinking-on behaviour comes from B2 and is not evaluated here.
- Not evaluated: generation-based benchmarks and agentic / tool-use behaviour. B2 was built for the egirl harness, and this tune has not been re-checked there.
- Vision tower and MTP head are B2's, untouched.
- Downloads last month
- 28
Model tree for DragonBophades/B2-Bophades-9B
Base model
hemlang/Hemlock-Qwen3.5-9B