Downloads · 30 days
15
3% of all-time downloads
vuminhtue/DialoGPT-large-HarryPotter3
DialoGPT-large-HarryPotter3 is a text generation model from vuminhtue. Use it when you need the model to write or continue text. It is set up for transformers.
This is Conversational chatbot built on top of DialoGPT-large with the inclusion of Harry Potter scripts, downloaded from Kaggle here. The script is merged from 3 Harry Potter movies
Downloads · 30 days
15
3% of all-time downloads
All-time downloads
442
Public
Repo size
6.3 GB
Likes
0
Public
Click a slice to open those files.
.bin3.1 GB · 100%
From the Hugging Face model README
This is Conversational chatbot built on top of DialoGPT-large with the inclusion of Harry Potter scripts, downloaded from Kaggle here. The script is merged from 3 Harry Potter movies
Thanks to Lynn Zhang for her tutorial here that inspired me to build this chatbot.
Due to limitation in cloud computing from Hugging Face it might not be able to run the deployed model here, so I download the model to run on my local HPC system. Here is the script that I used to enable the 4 line chat:
import torch
from transformers import AutoTokenizer, AutoModelForCausalLM
tokenizer = AutoTokenizer.from_pretrained("vuminhtue/DialoGPT-large-HarryPotter3")
model = AutoModelForCausalLM.from_pretrained("vuminhtue/DialoGPT-large-HarryPotter3")
# Let's chat for 4 lines
for step in range(4):
# encode the new user input, add the eos_token and return a tensor in Pytorch
new_user_input_ids = tokenizer.encode(input(">> User:") + tokenizer.eos_token, return_tensors='pt')
# print(new_user_input_ids)
# append the new user input tokens to the chat history
bot_input_ids = torch.cat([chat_history_ids, new_user_input_ids], dim=-1) if step > 0 else new_user_input_ids
# generated a response while limiting the total chat history to 1000 tokens,
chat_history_ids = model.generate(
bot_input_ids, max_length=200,
pad_token_id=tokenizer.eos_token_id,
no_repeat_ngram_size=3,
do_sample=True,
top_k=10,
top_p=0.5,
temperature=0.5
)
# pretty print last ouput tokens from bot
print("HarryPotter_Bot: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))