GPT-2-Chatbot / app.py
burman-ai's picture
Update app.py
46bf188 verified
import gradio as gr
from transformers import GPT2LMHeadModel, GPT2Tokenizer
import torch
# Load model and tokenizer
model = GPT2LMHeadModel.from_pretrained("burman-ai/gpt2-chatbot")
tokenizer = GPT2Tokenizer.from_pretrained("burman-ai/gpt2-chatbot")
tokenizer.pad_token = tokenizer.eos_token
# Chat history list
chat_history = []
# Generate response
def chatbot(user_input):
global chat_history
chat_history.append(f"User: {user_input}")
prompt = "\n".join(chat_history) + "\nBot:"
inputs = tokenizer.encode(prompt, return_tensors="pt", truncation=True, max_length=512)
outputs = model.generate(inputs, max_length=512, pad_token_id=tokenizer.eos_token_id, do_sample=True, top_k=50, top_p=0.95)
response = tokenizer.decode(outputs[0], skip_special_tokens=True)
response = response.split("Bot:")[-1].strip().split("\n")[0]
chat_history.append(f"Bot: {response}")
return response
def clear_chat():
global chat_history
chat_history = []
return "Chat cleared."
# UI
demo = gr.Interface(
fn=chatbot,
inputs=gr.Textbox(lines=2, placeholder="Type your message here..."),
outputs="text",
title="GPT-2 Chatbot",
description="Chat with a fine-tuned GPT-2 model.",
live=True
).queue()
demo.launch()