|
|
--- |
|
|
license: mit |
|
|
language: |
|
|
- en |
|
|
base_model: |
|
|
- mistralai/Mistral-7B-Instruct-v0.3 |
|
|
pipeline_tag: text-generation |
|
|
tags: |
|
|
- Text-Generation |
|
|
- Copy-Writing |
|
|
- Push-Notification |
|
|
- ad |
|
|
- AD-Writing |
|
|
--- |
|
|
|
|
|
# 🪄 Copywriting LLM |
|
|
|
|
|
Generate short, high-converting push notifications and ad copies. |
|
|
|
|
|
This model is fine-tuned on curated marketing and app-notification data using Mistral-7B-Instruct (Unsloth) with LoRA and 4-bit quantization. |
|
|
It creates concise, catchy lines for offers, FOMO alerts, food cravings, re-engagement, and festive campaigns. |
|
|
|
|
|
# Model Details |
|
|
Property Value |
|
|
Base Model unsloth/mistral-7b-instruct-v0.3 |
|
|
Fine-Tuning LoRA (r = 16, α = 16, dropout = 0.0) |
|
|
Quantization 4-bit (QLoRA NF4) |
|
|
Dataset 3 000 handcrafted marketing prompts & responses |
|
|
Task Causal Language Modeling for short-form copywriting |
|
|
Context Length 2048 tokens |
|
|
|
|
|
# Usage |
|
|
# |
|
|
from transformers import AutoTokenizer, AutoModelForCausalLM |
|
|
import torch |
|
|
|
|
|
# Load tokenizer & model |
|
|
tokenizer = AutoTokenizer.from_pretrained("Kavyaah/copywriting-llm") |
|
|
model = AutoModelForCausalLM.from_pretrained("Kavyaah/copywriting-llm", torch_dtype="auto") |
|
|
model.eval() |
|
|
|
|
|
# Function to generate push notification |
|
|
def generate_copy(brand, offer, tone="fun", max_new_tokens=40): |
|
|
prompt = f"""You are an expert marketing copywriter. |
|
|
Write a short, catchy push notification in a {tone} tone. |
|
|
It should promote {brand}'s offer: "{offer}". |
|
|
Keep it under 20 words, engaging, and persuasive.""" |
|
|
|
|
|
inputs = tokenizer(prompt, return_tensors="pt") |
|
|
with torch.no_grad(): |
|
|
outputs = model.generate( |
|
|
**inputs, |
|
|
max_new_tokens=max_new_tokens, |
|
|
temperature=0.9, |
|
|
top_p=0.9, |
|
|
do_sample=True |
|
|
) |
|
|
return tokenizer.decode(outputs[0], skip_special_tokens=True) |
|
|
|
|
|
# Example |
|
|
print(generate_copy("Zomato", "Flat 60% off on dinner combos this weekend!")) |
|
|
# |
|
|
Example Output |
|
|
Dinner’s calling 🍽️ 60% off on Zomato combos—grab your feast before the weekend ends! |
|
|
|
|
|
|
|
|
# Evaluation |
|
|
Metric Result |
|
|
|
|
|
Human rated copy quality 8.5 / 10 |
|
|
|
|
|
Tone accuracy (fun & playful) 93 % |
|
|
|
|
|
Avg token length 18 words |
|
|
|
|
|
# Intended Use |
|
|
|
|
|
Generating push notifications, app banners, and micro-ad copies |
|
|
|
|
|
Creative assistants for marketing and growth teams |
|
|
|
|
|
Automating A/B test copy variants for offers and sales |
|
|
|
|
|
# Limitations |
|
|
|
|
|
May produce overly playful or repetitive content if prompts are vague |
|
|
|
|
|
Trained only for short-form marketing copywriting |
|
|
|
|
|
Avoid using for sensitive topics or regulated industries |
|
|
|
|
|
# Technical Configuration |
|
|
|
|
|
Parameter Value |
|
|
|
|
|
Optimizer AdamW (8-bit) |
|
|
|
|
|
Learning Rate 2 × 10⁻⁴ |
|
|
|
|
|
Epochs 2 |
|
|
|
|
|
Gradient Accumulation 4 |
|
|
|
|
|
Batch Size (effective) 8 |
|
|
|
|
|
Quantization 4-bit QLoRA |
|
|
|
|
|
Training Data Categories |
|
|
|
|
|
Category Example |
|
|
|
|
|
Sale / Offer “Diwali deals up to 50% off ✨” |
|
|
|
|
|
Food Craving “Lunch o’clock alert! Your cravings just went live 🍛” |
|
|
|
|
|
FOMO “Blink and it’s gone 👀 Flash sale ends in 2 hours!” |
|
|
|
|
|
Re-engagement “We miss your clicks 😢 Come back for something tasty!” |
|
|
|
|
|
Festive “Play with colors, not your budget! Holi offers just dropped 🎨” |
|
|
|
|
|
Fashion “New drops just landed 💃 Make your wardrobe jealous!” |
|
|
|
|
|
|
|
|
# License |
|
|
|
|
|
MIT License - open for research and non-commercial use. |
|
|
|
|
|
Please credit Kavyaa / Copywriting LLM if you use this model in public projects. |
|
|
|
|
|
|
|
|
|
|
|
# Acknowledgements |
|
|
|
|
|
Fine-tuned using Unsloth for 2× faster training |
|
|
|
|
|
Base weights from Mistral-7B-Instruct v0.3 |
|
|
|
|
|
Created by Kavyaa for creative and marketing AI research |