Downloads · 30 days
14
2% of all-time downloads
morzecrew/FRED-T5-RefinedPersonaChat
FRED-T5-RefinedPersonaChat is a text generation model from morzecrew. Use it when you need the model to write or continue text. It is set up for transformers. The card lists the license as mit.
This model is a fine-tuned version of ai-forever/FRED-T5-1.7B on the RefinedPersonaChat. Inspired by SiberiaSoft/SiberianPersonaFred blogpost but dataset was improved to prevent toxic speech.
Downloads · 30 days
14
2% of all-time downloads
All-time downloads
623
Public
Parameters
1.7B
7 GB on disk
Likes
2
Public
Click a slice to open those files.
.bin3.5 GB · 50%
From the Hugging Face model README
This model is a fine-tuned version of ai-forever/FRED-T5-1.7B on the RefinedPersonaChat. Inspired by SiberiaSoft/SiberianPersonaFred blogpost but dataset was improved to prevent toxic speech.
You can provide personal information form bot identity, name, age and etc..
import torch
import transformers
use_cuda = torch.cuda.is_available()
device = torch.device("cuda" if use_cuda else "cpu")
t5_tokenizer = transformers.GPT2Tokenizer.from_pretrained("morzecrew/RefinedPersonaChat")
t5_model = transformers.T5ForConditionalGeneration.from_pretrained("morzecrew/RefinedPersonaChat")
while True:
print('-'*80)
dialog = []
while True:
msg = input('H:> ').strip()
if len(msg) == 0:
break
msg = msg[0].upper() + msg[1:]
dialog.append('Собеседник: ' + msg)
# В начале ставится промпт персонажа.
prompt = '<SC6>Ты парень, консультант по разным вопросам. Ты очень умный. Любишь помогать собеседнику. Продолжи диалог:' + '\n'.join(dialog) + '\nТы: <extra_id_0>'
input_ids = t5_tokenizer(prompt, return_tensors='pt').input_ids
out_ids = t5_model.generate(input_ids=input_ids.to(device), do_sample=True, temperature=0.9, max_new_tokens=512, top_p=0.85,
top_k=2, repetition_penalty=1.2)
t5_output = t5_tokenizer.decode(out_ids[0][1:])
if '</s>' in t5_output:
t5_output = t5_output[:t5_output.find('</s>')].strip()
t5_output = t5_output.replace('<extra_id_0>', '').strip()
t5_output = t5_output.split('Собеседник')[0].strip()
print('B:> {}'.format(t5_output))
dialog.append('Ты: ' + t5_output)
@MISC{morzecrew/FRED-T5-RefinedPersonaChat,
author = {Yuri Zaretskiy, Nikolas Ivanov, Igor Kuzmin},
title = {Dialogue model for conversational agents},
url = {https://huggingface.co/morzecrew/FRED-T5-RefinedPersonaChat},
year = 2023
}