import torch from transformers import AutoModelForCausalLM, AutoTokenizer MODEL_NAME = "microsoft/DialoGPT-small" device = torch.device("cuda" if torch.cuda.is_available() else "cpu") tokenizer = AutoTokenizer.from_pretrained(MODEL_NAME) model = AutoModelForCausalLM.from_pretrained(MODEL_NAME).to(device) # Example conversation prompts user_inputs = [ "Hello, how are you?", "What is your favorite movie?", "Tell me a joke." ] chat_history_ids = None for user in user_inputs: new_user_input_ids = tokenizer.encode(user + tokenizer.eos_token, return_tensors="pt").to(device) bot_input_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1) if chat_history_ids is not None else new_user_input_ids chat_history_ids = model.generate(bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id) response = tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True) print(f"You: {user}") print(f"Bot: {response}\n")