Skip to content
forked from polakowo/gpt2bot

Telegram chatbot based on DialoGPT

License

Notifications You must be signed in to change notification settings

cerebroai/gpt2bot

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

73 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPT2Bot

User >>> Can we achieve singularity?
Bot >>> What does this mean?
User >>> Can computers become smarter than humans?
Bot >>> Is there any evidence that this is possible?
User >>> It must be doable
Bot >>> But... how?
User >>> I want to find out, that's why I created you
Bot >>> You created me?
User >>> You're my bot
Bot >>> You monster

GPT2Bot implements

The bot is built around DialoGPT - a large-scale pretrained dialogue response generation model trained by Microsoft, which was trained on 147M multi-turn dialogue from Reddit discussion thread. The human evaluation results indicate that its quility is comparable to human response quality under a single-turn conversation Turing test (see example above).

Since even with properly filtered Reddit dataset the model can generate toxic/inappropriate responses, the Microsoft team was unable to provide the decoding script. This repository implements the decoding script inspired by run_generation.py released earlier by Hugging Face. Moreover, it implements a Telegram bot that can be deployed locally, remotely, and even on Colab, and just makes testing fun.

How to use?

1. Create a Telegram bot

2. Deploy the bot

Docker

  • Clone the repository
  • Set your parameters such as API token in dialog.cfg
  • To avoid re-downloading model files at each re-deployment, download the model files beforehand with
# cd gpt2bot/gpt2bot
python model.py
  • Finally, deploy the container from the root folder
docker build -t gpt2bot . && docker run gpt2bot

Google Colab

Inference code can be run on CPU, but it would be slow. A good thing about Google Colab is free GPU. So why not running the Telegram bot there, for blazingly fast chat? Run the notebook at daytime and do not forget to stop it at night.

A Colab interactive notebook

Manually

  • Clone the repository
  • Set your parameters such as API token in dialog.cfg
  • Install packages listed in requirements.txt
  • Run the script
# cd gpt2bot/gpt2bot
python telegram_bot.py
  • To test the things out in the console, run
python interactive_bot.py

3. Start chatting!

Just start texting. Append @gif for the bot to generate a GIF instead of text. To reset, type "Bye".

References

You can wait for a full DialoGPT release and then replace the decoder.

About

Telegram chatbot based on DialoGPT

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 64.9%
  • Python 34.6%
  • Dockerfile 0.5%