Instructions to use Adicandra/Compfest_akumaukePengospasangsolarpanel with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use Adicandra/Compfest_akumaukePengospasangsolarpanel with PEFT:
Task type is invalid.
- Notebooks
- Google Colab
- Kaggle
- Local Apps Settings
- Unsloth Studio
How to use Adicandra/Compfest_akumaukePengospasangsolarpanel with Unsloth Studio:
Install Unsloth Studio (macOS, Linux, WSL)
curl -fsSL https://unsloth.ai/install.sh | sh # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Adicandra/Compfest_akumaukePengospasangsolarpanel to start chatting
Install Unsloth Studio (Windows)
irm https://unsloth.ai/install.ps1 | iex # Run unsloth studio unsloth studio -H 0.0.0.0 -p 8888 # Then open http://localhost:8888 in your browser # Search for Adicandra/Compfest_akumaukePengospasangsolarpanel to start chatting
Using HuggingFace Spaces for Unsloth
# No setup required # Open https://huggingface.co/spaces/unsloth/studio in your browser # Search for Adicandra/Compfest_akumaukePengospasangsolarpanel to start chatting
Load model with FastModel
pip install unsloth from unsloth import FastModel model, tokenizer = FastModel.from_pretrained( model_name="Adicandra/Compfest_akumaukePengospasangsolarpanel", max_seq_length=2048, )
Compfest_akumaukePengospasangsolarpanel
LoRA adapter hasil Supervised Fine-Tuning (SFT) dari unsloth/Qwen3-8B, dilatih untuk berperan sebagai Promo Intelligence Agent: agent tool-calling multi-turn yang menghasilkan Pilot Experiment Decision berdasarkan data penjualan, partner produk, dan analisis kelayakan (BEP) suatu promo.
Dataset training mencakup 9 skenario dasar dengan ±100 contoh per skenario (total ±900 contoh sebelum split train/validation).
Detail Model
- Base model:
unsloth/Qwen3-8B - Metode fine-tuning: LoRA (via Unsloth + TRL
SFTTrainer) - Chat template: ChatML gaya Qwen3 (
qwen3-instruct), dengan<|im_end|>sebagai EOS token - Loss masking: hanya menghitung loss dari giliran
assistant(train_on_responses_only), instruksi/user di-mask - Quantization saat training: 4-bit (
load_in_4bit=True) - Bahasa: Indonesia (data & prompt sistem)
- Lisensi: mengikuti lisensi base model, Apache 2.0 (sesuaikan bila berbeda)
Konfigurasi LoRA
| Parameter | Nilai |
|---|---|
r |
64 |
lora_alpha |
128 |
lora_dropout |
0.0 |
target_modules |
q_proj, k_proj, v_proj, o_proj, gate_proj, up_proj, down_proj |
use_rslora |
True |
bias |
none |
Konfigurasi Training
| Parameter | Nilai |
|---|---|
max_seq_length |
2048 |
num_train_epochs |
3 |
per_device_train_batch_size |
1 |
gradient_accumulation_steps |
4 (effective batch = 4) |
learning_rate |
2e-4 |
lr_scheduler_type |
cosine |
warmup_ratio |
0.03 |
optimizer |
adamw_8bit |
precision |
bf16 (fallback fp16 bila GPU tidak mendukung bf16) |
seed |
3407 |
eval/save strategy |
per-epoch, load_best_model_at_end=True (metric: eval_loss) |
Training dijalankan di Kaggle Notebook (GPU T4/P100) menggunakan Unsloth, dengan tracking eksperimen via Weights & Biases (project: qwen3-8b-promo-agent-sft).
Dataset
Dataset custom promo_agent_dataset_v2.jsonl untuk Promo Intelligence Agent. Tiap baris JSONL berisi:
messages: percakapan ChatML (system/user/assistantdengantool_calls, serta roletool)tools: skema function-calling (search_sales_data,find_partner_products,calculate_bep,rank_regions)meta: metadata skenario (tidak dipakai saat training, hanya untuk analisis)
9 skenario dasar, masing-masing berisi ±100 contoh:
happy_path, clarification_path, fail_path_tool_error_retry, fail_path_cold_start, fail_path_infeasible, fail_path_tool_unavailable, refresh_path_revision, refresh_path_session_continuation, refusal_out_of_scope.
Catatan: skrip preprocessing di notebook training menghitung ukuran split train/validation secara otomatis (
raw_datasets["train"]/raw_datasets["validation"]) — sesuaikan angka pastinya di sini kalau kamu tahu rasio split yang dipakai (mis. 90/10 dari total ±900 contoh).
Cara Penggunaan
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name="Adicandra/Compfest_akumaukePengospasangsolarpanel",
max_seq_length=2048,
dtype=None,
load_in_4bit=True,
)
FastLanguageModel.for_inference(model)
messages = [
{"role": "system", "content": "Kamu adalah Promo Intelligence Agent..."},
{"role": "user", "content": "Analisis kelayakan promo diskon 20% di region Jawa Timur."},
]
inputs = tokenizer.apply_chat_template(
messages,
tools=tools, # skema tools jika dipakai
add_generation_prompt=True,
return_tensors="pt",
).to(model.device)
outputs = model.generate(inputs, max_new_tokens=512)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Alternatif memuat lewat 🤗 transformers + peft:
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
base_model = "unsloth/Qwen3-8B"
adapter_id = "Adicandra/Compfest_akumaukePengospasangsolarpanel"
tokenizer = AutoTokenizer.from_pretrained(adapter_id)
model = AutoModelForCausalLM.from_pretrained(base_model, device_map="auto")
model = PeftModel.from_pretrained(model, adapter_id)
Keterbatasan
- Dataset masih berupa 9 skenario buatan (±100 contoh/skenario, ±900 total) → cakupan variasi kasus nyata di luar 9 pola ini belum tentu terwakili.
- Model belum dievaluasi pada benchmark tool-calling standar; evaluasi sejauh ini hanya
eval_losspada validation set internal. - Ditujukan untuk domain spesifik (analisis promo/BEP berbahasa Indonesia dengan skema tools tertentu); performa di luar domain ini tidak terjamin.
Framework versions
- Unsloth
- Transformers 4.56.2
- TRL 0.22.2
- PEFT (LoRA)
- Downloads last month
- -