Skip to content

Latest commit

 

History

History
 
 

chatbot_fr

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
language tags widget
fr
conversational
text
bonjour.
text
mais encore
text
est ce que l'argent achete le bonheur?

a dialoggpt model trained on french opensubtitles with custom tokenizer

trained with this notebook https://colab.research.google.com/drive/1pfCV3bngAmISNZVfDvBMyEhQKuYw37Rl#scrollTo=AyImj9qZYLRi&uniqifier=3

config from microsoft/DialoGPT-medium dataset generated from 2018 opensubtitle from opus folowing these guidelines https://github.com/PolyAI-LDN/conversational-datasets/tree/master/opensubtitles with this notebook https://colab.research.google.com/drive/1uyh3vJ9nEjqOHI68VD73qxt4olJzODxi#scrollTo=deaacv4XfLMk

How to use

Now we are ready to try out how the model works as a chatting partner!

import torch
from transformers import AutoTokenizer, AutoModelWithLMHead

tokenizer = AutoTokenizer.from_pretrained("cedpsam/chatbot_fr")

model = AutoModelWithLMHead.from_pretrained("cedpsam/chatbot_fr")

for step in range(6):
    # 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=1000,
        pad_token_id=tokenizer.eos_token_id,
        top_p=0.92, top_k = 50
    )
    
    # 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)))