Downloads · 30 days
12
1% of all-time downloads
tilman-d/sf-diogenes-v0.1
sf-diogenes-v0.1 is a text generation model from tilman-d. 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.
- 80B-parameter Qwen3 Next Instruct model merged with a domain LoRA adapter for all kinds of topics related to Salesforce. - Trained on 102,827 curated instruction/response pairs stored in finetunedataset.jsonl (≈151…
Downloads · 30 days
12
1% of all-time downloads
All-time downloads
879
Public
Parameters
79.7B
159 GB on disk
Likes
0
Public
Click a slice to open those files.
.safetensors159 GB · 100%
From the Hugging Face model README
finetune_dataset.jsonl (≈151 MiB).| Field | Value |
|---|---|
| Base | Qwen/Qwen3-Next-80B-A3B-Instruct |
| Architecture | Qwen3NextForCausalLM (Mixture-of-Experts with alternating linear/full attention) |
| Parameters | ~80B (same as base; LoRA deltas merged) |
| Context Length | 262,144 tokens (see config.json) |
| Precision | bfloat16 |
| Tokenizer | Qwen 151,936 vocab with chat template in sf-diogenes-v0.1/chat_template.jinja |
| Finetuning | Supervised fine-tuning with LoRA → merged back into the base weights |
| Libraries | transformers==4.57.1, peft, accelerate |
Generation follows the Qwen3 template with <|im_start|>role markers. Each training record began with the system message above, a single user question, and an assistant reply. When crafting new prompts, either rely on tokenizer.apply_chat_template or format manually:
<|im_start|>system
You are a helpful Salesforce analytics assistant.<|im_end|>
<|im_start|>user
<user question><|im_end|>
<|im_start|>assistant
finetune_dataset.jsonl| Metric | Value |
|---|---|
| Records | 102,827 JSONL rows |
| Size | 158,187,480 bytes (≈151 MiB) |
| Fields | text, prompt, completion |
| Domain | Salesforce Forecasting, Data Cloud, Commerce, Order Management, CLM, Payments, Einstein recommendations |
| Structure | System primer → user instruction → multi-step assistant answer |
Sample row:
{
"prompt": "How can I view the Payments Administrator permissions and choose a setup approach for Salesforce Payments?",
"completion": "1) From Setup, Quick Find, enter Permission Sets, and click the Payments Administrator permission set to view the System Permissions. 2) Review the System Permissions in that permission set. 3) Use the Commerce Setup Assistant (recommended) for an easy, guided setup, or use the Setup menu for manual configuration. 4) To use Pay Now on its own, a standalone Payments license is required."
}
Observations:
text field already contains the fully formatted conversation, so the prompt/completion split was used to mask losses on user content.peft.LoraModel.merge_and_unload) to produce the standalone folder sf-diogenes-v0.1/. This keeps inference simple at the cost of a larger download.from datasets import load_dataset
from peft import LoraConfig, get_peft_model
from transformers import AutoModelForCausalLM, AutoTokenizer, TrainingArguments, Trainer
tokenizer = AutoTokenizer.from_pretrained("Qwen/Qwen3-Next-80B-A3B-Instruct", trust_remote_code=True)
ds = load_dataset("json", data_files="finetune_dataset.jsonl", split="train")
def format_example(example):
messages = [
{"role": "system", "content": "You are a helpful Salesforce assistant."},
{"role": "user", "content": example["prompt"]},
{"role": "assistant", "content": example["completion"]},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=False)
tokenized = tokenizer(text, truncation=True, max_length=8192)
labels = tokenized["input_ids"][:]
# mask user tokens here...
tokenized["labels"] = labels
return tokenized
tokenized_ds = ds.map(format_example, remove_columns=ds.column_names)
model = AutoModelForCausalLM.from_pretrained(
"Qwen/Qwen3-Next-80B-A3B-Instruct",
torch_dtype="bfloat16",
device_map="auto",
trust_remote_code=True,
)
model = get_peft_model(model, LoraConfig(r=??, lora_alpha=??, lora_dropout=0.05))
trainer = Trainer(
model=model,
train_dataset=tokenized_ds,
args=TrainingArguments(
output_dir="diogenes-lora",
num_train_epochs=1,
per_device_train_batch_size=1,
gradient_accumulation_steps=16,
learning_rate=1e-4,
bf16=True,
logging_steps=10,
save_steps=200,
),
)
trainer.train()
Fill in the LoRA rank/alpha you used; they are omitted here because the original adapter config is not stored in the repo.
from transformers import AutoTokenizer, AutoModelForCausalLM
model_id = "urm3l/sf-diogenes-v0.1"
tokenizer = AutoTokenizer.from_pretrained(model_id, trust_remote_code=True)
model = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="bfloat16", device_map="auto", trust_remote_code=True)
messages = [
{"role": "system", "content": "You are a helpful Salesforce assistant."},
{"role": "user", "content": "How do I keep Forecast Amount aligned with Amount Without Manager Adjustments?"},
]
text = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True)
inputs = tokenizer(text, return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=512, temperature=0.2)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Formal benchmarks (MT-Bench, AlpacaEval, etc.) have not yet been run since the focus was on Salesforce internal workflows. Please evaluate against:
Kindly share scores or qualitative findings back via issues so the card can be updated.
urm3lsf-diogenes-v0.1/ (merged weights), finetune_dataset.jsonl (training data)Last updated: 2025-11-02