import gradio as gr from transformers import GPT2LMHeadModel, GPT2Tokenizer # Load pre-trained model and tokenizer from Hugging Face model_name = "distilgpt2" # Use a smaller model like distilgpt2 for testing tokenizer = GPT2Tokenizer.from_pretrained(model_name) model = GPT2LMHeadModel.from_pretrained(model_name) # Ensure the model is in evaluation mode model.eval() # Check if model is loaded correctly print("Model and tokenizer loaded successfully!") def chat_with_bot(input_text): # Tokenize the input and encode it as tensor inputs = tokenizer.encode(input_text + tokenizer.eos_token, return_tensors="pt") # Generate a response from the model with torch.no_grad(): outputs = model.generate(inputs, max_length=150, num_return_sequences=1, no_repeat_ngram_size=2) # Decode the generated tokens back to text response = tokenizer.decode(outputs[0], skip_special_tokens=True) return response.strip() # Remove unnecessary tokens # Define the Gradio interface iface = gr.Interface(fn=chat_with_bot, inputs="text", outputs="text", title="Chatbot", description="A simple chatbot using distilgpt2") iface.launch()