Edit model card

morzecrew/FRED-T5-RefinedPersonaChat

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.

Prompt tips:

You can provide personal information form bot identity, name, age and etc..

Inference

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)

Citation

@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
}
Downloads last month
13
Safetensors
Model size
1.74B params
Tensor type
BF16
·
Inference Examples
This model does not have enough activity to be deployed to Inference API (serverless) yet. Increase its social visibility and check back later, or deploy to Inference Endpoints (dedicated) instead.

Dataset used to train morzecrew/FRED-T5-RefinedPersonaChat