Downloads · 30 days
16
4% of all-time downloads
Fabrix-AI-Inc/Triton-VX-Qwen3.5-2B-DPO
Triton-VX-Qwen3.5-2B-DPO is a text generation model from Fabrix-AI-Inc. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as apache-2.0.
A domain-adapted and DPO-aligned 2B parameter assistant for Fabrix.ai / RDAF knowledge retrieval, documentation citation, custom widget dashboards, storyboards, and dynamic pipelines.
Downloads · 30 days
16
4% of all-time downloads
All-time downloads
457
Public
Parameters
2.3B
4.6 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors4.5 GB · 100%
How the weights are stored.
BF162.3B · 100%
From the Hugging Face model README
A domain-adapted and DPO-aligned 2B parameter assistant for Fabrix.ai / RDAF knowledge retrieval, documentation citation, custom widget dashboards, storyboards, and dynamic pipelines.
This model was trained using two-stage alignment:
kb/cards/*.md).Evaluated across the Fabrix citation preference benchmark:
| Metric | SFT Baseline (ckpt-300) | DPO Aligned Model (This Model) |
|---|---|---|
| DPO Preference Accuracy | 50.0% | 100.0% |
| Log-Prob Preference Margin | -0.15 | +0.53 |
| Exact Match on Preferred Citations | 4.5% | 90.9% (20/22) |
Precise Card Citation Rate (kb/cards/*) | 40.9% | 95.5% (21/22) |
User Query:
"Put a group filter on the top so I can pick site type, tier, and primary transport."
kb/dashboards/attributes.md
kb/widgets/tables.md
kb/pstreams/flows.md
kb/cards/widget-filters.md
transformersimport torch
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "Fabrix-AI-Inc/Triton-VX-Qwen3.5-2B-DPO"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto",
)
system_prompt = (
"You are Fabrix cite-mode retrieval. Reply with repo-relative kb/ paths only, one per line. "
"Prefer kb/cards/*.md. Cite a topic file (kb/pstreams/, kb/widgets/, kb/dashboards/, kb/ux/, kb/entry/) "
"only when no card fits. Typically 1-5 paths. No prose, no HTML, no line numbers, no GET/POST examples, "
"no secrets. Zero paths only if nothing under kb/ applies."
)
messages = [
{"role": "system", "content": system_prompt},
{"role": "user", "content": "Put a group filter on the top so I can pick site type, tier, and primary transport."},
]
prompt = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
with torch.no_grad():
outputs = model.generate(
**inputs,
max_new_tokens=64,
do_sample=False,
)
response = tokenizer.decode(outputs[0][inputs.input_ids.shape[1]:], skip_special_tokens=True)
print(response.strip())
# Output: kb/cards/widget-filters.md
unsloth/Qwen3.5-2BQwen3_5ForConditionalGenerationtorch.float16)model.safetensors)