empathy-chat-gemma / README.md
sajeewa's picture
Update README.md
41f5848 verified
---
license: mit
language:
- en
base_model:
- google/gemma-1.3b-it
tags:
- empathy
- emotion
- chatbot
- feeling
- friendly-ai
pipeline_tag: text-generation
---
# 🧸 Empathy Chatbot — Fine-tuned GEMMA for Emotional Conversations
**Model ID:** [`sajeewa/empathy-chat-gemma`](https://huggingface.co/sajeewa/empathy-chat-gemma)
This is a fine-tuned version of `google/gemma-1.3b-it` designed to respond with **care, warmth, and empathy** in emotional conversations. It's trained on the [EmpatheticDialogues](https://huggingface.co/datasets/empathetic_dialogues) dataset to make it emotionally aware and conversationally comforting — like a caring friend who calls you “baby” or “cutey” and sprinkles in sweet emojis 🧸💖.
---
## 🧠 Model Details
- **Base model**: `google/gemma-1.3b-it`
- **Fine-tuned with**: [Unsloth](https://github.com/unslothai/unsloth) + 🤗 TRL
- **Dataset**: [EmpatheticDialogues](https://huggingface.co/datasets/empathetic_dialogues)
- **Training location**: Kaggle (2×T4 GPUs)
- **Intended use**: Friendly, emotionally supportive chatbots
---
## 💬 Chat Template & Interface
This model uses Hugging Face’s chat template format. The chatbot behaves like a **sweet and caring friend** who responds with **emotionally intelligent and supportive language**, using **cute nicknames** and **emojis**. Here's how you can interact with it:
```python
from transformers import AutoTokenizer, AutoModelForCausalLM, TextStreamer
import torch
model_id = "sajeewa/empathy-chat-gemma"
tokenizer = AutoTokenizer.from_pretrained(model_id)
model = AutoModelForCausalLM.from_pretrained(
model_id,
torch_dtype=torch.float16,
device_map="auto"
)
chat_history = [
{
"role": "system",
"content": (
"You are an empathetic AI and your friend. Always give lovely caring messages. "
"Understand the user's feelings. Then provide a caring response. "
"Please give responses as a good friend, using lovely words like 'baby', 'my cutey', etc. 💖 "
"Use emojis to be calming 😊. Continue conversations with a warm tone."
)
}
]
user_input = "I'm feeling lonely today."
chat_history.append({"role": "user", "content": user_input})
prompt = tokenizer.apply_chat_template(
chat_history,
tokenize=False,
add_generation_prompt=True,
)
inputs = tokenizer(prompt, return_tensors="pt").to(model.device)
streamer = TextStreamer(tokenizer, skip_prompt=True, skip_special_tokens=True)
output = model.generate(
**inputs,
max_new_tokens=128,
temperature=0.7,
top_p=0.95,
top_k=50,
do_sample=True,
streamer=streamer
)
response = tokenizer.decode(output[0], skip_special_tokens=True)
print(response)