Views
No views yet
transformers, vLLM, or DJL without loading external adapters.| Task | Description | Example output |
|---|---|---|
| Sentiment Analysis | Classifies a message’s emotional tone | very_negative, negative, neutral, positive, very_positive |
| Custom Sentiments | Identifies customer's specific needs or gibberish | request_human, drop_off, oos_nonsense |
| Intent Recognition | Extracts the customer’s goal or topic | "report damaged item", "book flight", "request supervisor", etc. |
| Conversation-aware | Uses recent chat context to interpret ambiguous user turns | e.g., disambiguates “That’s fine” as neutral vs. positive |
| Component | Detail |
|---|---|
| Base model | google/gemma-3-4b-it |
| Fine-tuning method | LoRA (PEFT) |
| Frameworks | 🤗 Transformers + PEFT + Accelerate |
| Dataset size | ≈ 10 000 messages / ~1 000 conversations |
| Objective | Supervised fine-tuning on labeled sentiment + intent pairs |
1from transformers import AutoTokenizer, AutoModelForCausalLM
2
3model_id = "zeze35h/gemma3-4b-sentiment-lora-v1"
4
5tok = AutoTokenizer.from_pretrained(model_id)
6mdl = AutoModelForCausalLM.from_pretrained(model_id, torch_dtype="auto", device_map="auto")
7
8prompt = """<start_of_turn>user
9Hi, I’ve been waiting for 40 minutes and my internet is still down.
10<end_of_turn>
11Classify the most recent user message:
12Output JSON only with {"sentiment": "...", "intent": "..."}."""
13
14out = mdl.generate(**tok(prompt, return_tensors="pt").to(mdl.device), max_new_tokens=80)
15print(tok.decode(out[0], skip_special_tokens=True))