AI-Chatbot / app.py
babupallam's picture
Update app.py
9224cd5 verified
import gradio as gr
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
# Load pre-trained model and tokenizer
model_name = "microsoft/DialoGPT-large" # use small, medium
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
# Store chat history
chat_history = []
def chat_with_bot(user_input):
global chat_history
# Tokenize input with chat history
input_ids = tokenizer.encode(user_input + tokenizer.eos_token, return_tensors="pt")
# Append previous chat history if available
if chat_history:
input_ids = torch.cat([chat_history[-1], input_ids], dim=-1)
# Generate a response
response_ids = model.generate(input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
response_text = tokenizer.decode(response_ids[:, input_ids.shape[-1]:][0], skip_special_tokens=True)
# Save history
chat_history.append(input_ids)
return response_text
# Create Gradio Interface
app = gr.Interface(fn=chat_with_bot, inputs="text", outputs="text", title="AI Chatbot")
# Launch the app
app.launch()