124 lines
2.9 KiB
Markdown
124 lines
2.9 KiB
Markdown
---
|
|
language: en
|
|
license: mit
|
|
tags:
|
|
- text-generation
|
|
- conversational
|
|
- dialogpt
|
|
- rick-and-morty
|
|
- fine-tuned
|
|
- pytorch
|
|
- transformers
|
|
base_model: microsoft/DialoGPT-small
|
|
pipeline_tag: text-generation
|
|
---
|
|
|
|
# DialoGPT-small-Rick 🧪
|
|
|
|
A conversational AI fine-tuned to talk like **Rick Sanchez** from *Rick and Morty*.
|
|
Built on top of [microsoft/DialoGPT-small](https://huggingface.co/microsoft/DialoGPT-small) and trained on Rick's dialogue from the show.
|
|
|
|
---
|
|
|
|
## 🚀 Try it Live
|
|
|
|
👉 [**RickChatBot — Gradio Space**](https://huggingface.co/spaces/iamhariraj/RickChatBot)
|
|
|
|
---
|
|
|
|
## 🧠 Model Details
|
|
|
|
| Property | Value |
|
|
|----------------|------------------------------------|
|
|
| Base Model | microsoft/DialoGPT-small |
|
|
| Architecture | GPT-2 (117M parameters) |
|
|
| Task | Conversational Text Generation |
|
|
| Fine-tuned on | Rick Sanchez dialogue (Rick & Morty)|
|
|
| Framework | PyTorch + HuggingFace Transformers |
|
|
| Language | English |
|
|
|
|
---
|
|
|
|
## 💬 How to Use
|
|
|
|
```python
|
|
from transformers import AutoModelForCausalLM, AutoTokenizer
|
|
import torch
|
|
|
|
tokenizer = AutoTokenizer.from_pretrained("iamhariraj/DialoGPT-small-Rick")
|
|
model = AutoModelForCausalLM.from_pretrained("iamhariraj/DialoGPT-small-Rick")
|
|
|
|
chat_history_ids = None
|
|
|
|
print("Talk to Rick (type 'quit' to exit)")
|
|
while True:
|
|
user_input = input("You: ")
|
|
if user_input.lower() == "quit":
|
|
break
|
|
|
|
input_ids = tokenizer.encode(
|
|
user_input + tokenizer.eos_token,
|
|
return_tensors="pt"
|
|
)
|
|
|
|
if chat_history_ids is not None:
|
|
input_ids = torch.cat([chat_history_ids, input_ids], dim=-1)
|
|
|
|
chat_history_ids = model.generate(
|
|
input_ids,
|
|
max_length=1000,
|
|
pad_token_id=tokenizer.eos_token_id,
|
|
no_repeat_ngram_size=3,
|
|
do_sample=True,
|
|
top_k=100,
|
|
top_p=0.7,
|
|
temperature=0.8
|
|
)
|
|
|
|
response = tokenizer.decode(
|
|
chat_history_ids[:, input_ids.shape[-1]:][0],
|
|
skip_special_tokens=True
|
|
)
|
|
print(f"Rick: {response}")
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 Example Conversations
|
|
|
|
| You | Rick |
|
|
|-----|------|
|
|
| "What is the meaning of life?" | *(Rick-style nihilistic response)* |
|
|
| "Can you build me a portal gun?" | *(Rick flexing his genius)* |
|
|
| "I need your help" | *(sarcastic Rick response)* |
|
|
|
|
---
|
|
|
|
## ⚠️ Limitations
|
|
|
|
- Based on DialoGPT-**small** — responses can sometimes be generic or repetitive
|
|
- May not always stay perfectly in character
|
|
- Not suitable for serious or sensitive conversations
|
|
- Trained on a limited dialogue dataset
|
|
|
|
---
|
|
|
|
## 🔧 Training
|
|
|
|
- **Base:** microsoft/DialoGPT-small
|
|
- **Data:** Rick Sanchez lines extracted from Rick and Morty scripts
|
|
- **Framework:** HuggingFace Transformers + PyTorch
|
|
- **Trainer:** HuggingFace `Trainer` API
|
|
|
|
---
|
|
|
|
## 👤 Author
|
|
|
|
Made by [iamhariraj](https://huggingface.co/iamhariraj)
|
|
|
|
---
|
|
|
|
## 📄 License
|
|
|
|
MIT
|