Downloads · 30 days
17
2% of all-time downloads
keonju/chat_bot
chat_bot is a text generation model from keonju. Use it when you need the model to write or continue text. It is set up for transformers.
Now we are ready to try out how the model works as a chatting partner!
Downloads · 30 days
17
2% of all-time downloads
All-time downloads
843
Public
Repo size
1.5 GB
Likes
0
Public
Click a slice to open those files.
.bin513 MB · 100%
From the Hugging Face model README
Now we are ready to try out how the model works as a chatting partner!
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
tokenizer = AutoTokenizer.from_pretrained("keonju/chat_bot")
model = AutoModelForCausalLM.from_pretrained("keonju/chat_bot")
# Let's chat for 5 lines
for step in range(5):
message = input("MESSAGE: ")
if message in ["", "q"]: # if the user doesn't wanna talk
break
# encode the new user input, add the eos_token and return a tensor in Pytorch
new_user_input_ids = tokenizer.encode(message + tokenizer.eos_token, return_tensors='pt')
# 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,
if (trained):
chat_history_ids = model.generate(
bot_input_ids,
max_length=1000,
pad_token_id=tokenizer.eos_token_id,
no_repeat_ngram_size=3,
do_sample=True,
top_k=100,
top_p=0.7,
temperature = 0.8,
)
else:
chat_history_ids = model.generate(
bot_input_ids,
max_length=1000,
pad_token_id=tokenizer.eos_token_id,
no_repeat_ngram_size=3
)
# pretty print last ouput tokens from bot
print("DialoGPT: {}".format(tokenizer.decode(chat_history_ids[:, bot_input_ids.shape[-1]:][0], skip_special_tokens=True)))