Views
No views yet
1from transformers import AutoModelForCausalLM, AutoTokenizer
2import torch
3
4
5tokenizer = AutoTokenizer.from_pretrained("sillon/DialoGPT-small-HospitalBot")
6model = AutoModelForCausalLM.from_pretrained("sillon/DialoGPT-small-HospitalBot")
7
8# Let's chat for 5 lines
9for step in range(5):
10 # encode the new user input, add the eos_token and return a tensor in Pytorch
11 new_user_input_ids = tokenizer.encode(input(">> User:") + tokenizer.eos_token, return_tensors='pt')
12
13 # append the new user input tokens to the chat history
14 bot_input_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1) if step > 0 else new_user_input_ids
15
16 # generated a response while limiting the total chat history to 1000 tokens,
17 chat_history_ids = model.generate(bot_input_ids, max_length=1000, pad_token_id=tokenizer.eos_token_id)
18
19 # pretty print last ouput tokens from bot
20 print("HospitalBot: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))