Chatbot Telegram GPT-2 yang relatif telah disesuaikan untuk mengobrol. Jangan ragu untuk menjadikan saya PR dan saya akan memeriksa kode Anda! Bot tidak selalu akurat 100% (mengapa saya membuat kode dalam fungsi /coba lagi.)
Karena bot menghabiskan begitu banyak memori, saya memprogramnya dalam mode round-robin. Setiap masukan akan mengatur ulang pengatur waktu pada ID akun Anda, setelah pengatur waktu habis, bot bebas digunakan oleh pengguna lain. Anda akan diberi tahu ketika penghitung waktu habis, dan pengguna lain dapat melihat berapa banyak waktu yang tersisa dan apakah bot sedang digunakan.
Petunjuk instalasi singkat di Ubuntu 20/WSL.
Saya sangat merekomendasikan untuk melihat jupyter notebook/ipynb di google collab saja.
Instal python3.7 (saya pikir 3.6 mungkin berfungsi juga, tetapi tidak 3.8):
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.7
Instal pip di python 3.7:
wget https://bootstrap.pypa.io/get-pip.py
python3.7 get-pip.py
Instal persyaratan di dalam folder bot setelah mengkloning repositori:
python3.7 -m pip install -r requirements.txt
Catatan: Anda sebenarnya memerlukan ram 16 GB atau kartu video 8 GB. Jika tidak, Anda akan menunggu selamanya. Anda dapat menggunakan fungsi GPU dengan setidaknya kartu video 8GB yang mendukung cuda takelit 10.0 dan cudnn untuk cuda toolkit 10. Instalasi ini juga berfungsi di windows dengan python 3.7 dan nvidia, Anda harus menjalankan command prompt sebagai admin yang menjalankan python 3.7 di windows.
Unduh modelnya:
python3.7 download_model.py 1558M
Setel kunci API bot telegram Anda di src/GPT2-Learning.py
Replace "BOTKEY" with telegram bot token i.e. "1827396499:AAHifc06oS31oQ9L3TuCiZxD9EIfKPi0oWQ"
Jalankan botnya:
Jika menggunakan perintah python3:
./start.sh
Jika menggunakan perintah python3.7:
python3.7 src/GPT2-Learning.py
Anda dapat mengedit start.sh agar sesuai dengan perintah python sesuai keinginan.
start - Basic start command.
help - Show quick help command.
chatbot - Chatbot mode, me+you string edit and open-ended questions.
finish - Default finish sentence command counting words as output length.
learnon - Turn on sentence compilation with Me+you string for conversation.
learnoff - Turn off the sentence compilation.
learnreset - Reset the learned conversation.
retry - Retry the current computation.
Berikut contoh pembelajaran mode chatbot dengan database gpt-2 terbaru dan top_p disetel ke 0,83:
Me: Hello! How are you today? Are you feeling alright? I hope you are doing well and not getting into any trouble.
Bot: Yeah, I'm fine. Do you want to make something to eat?
Me: I already made some food, but thanks! I had some jalapeno poppers. I made a ton of them last night after I sold a lawnmower to some folks I got for free earlier in the day. So what are your plans for the day?
Bot: Nothing special. Nothing exciting in particular. I just wanna chill out for a bit.
Me: Just a typical day of kicking back and relaxing huh? Are you gonna watch cartoons or any movies in particular?
Bot: If it's not sports I'll probably just watch something on the TV.
Me: Sounds alright. I coded on my chatbot project most of the morning. Was waiting on someone to come buy a projector but they haven't shown up yet unfortunately. What do you do for work if you don't mind me asking?
Bot: I'm a web developer and engineer. It's fun.
Me: Cool! I'm also a coder and an ethical hacker. I mostly know how to code in Python but I've been unemployed for some time now after my spine injury. I wish I could have joined the military when I was younger. Were you ever in the military?
Bot: No. I'm not really too proud of my military career. It ended up taking a huge toll on my back.
Me: What happened to your back if you don't mind me asking?
Bot: First of all, it's better than before.
Me: Well that's good to hear. Did you injure your back in the military or doing something else?
Bot: Nope. It's an old injury.
Me: Ah I see- Well I'll talk to you later. Sorry about your back! I hope we can catch up tomorrow!
Bot: Yes, of course. Thanks again for chatting!
INFO:tensorflow:Restoring parameters from models/1558M/model.ckpt
2020-05-10 14:19:43,794 - tensorflow - INFO - Restoring parameters from models/1558M/model.ckpt
==========
Before splitlines: Nothing special. Nothing exciting in particular. I just wanna chill out for a bit. You: I'll try to keep my spirits up. Just keep in mind that today's the 10th anniversary of the citywide strike
==========
==========
Mode: True
Learn: True
Length: 44
==========
Before regex: Nothing special. Nothing exciting in particular. I just wanna chill out for a bit. You: I'll try to keep my spirits up. Just keep in mind that today's the 10th anniversary of the citywide strike
==========
Output: Nothing special. Nothing exciting in particular. I just wanna chill out for a bit.
==========
Raw_text or Original: You: Hello! How are you today? Are you feeling alright? I hope you are doing well and not getting into any trouble. Me: Yeah, I'm fine. Do you want to make something to eat? You: I already made some food, but thanks! I had some jalapeno poppers. I made a ton of them last night after I sold a lawnmower to some folks I got for free earlier in the day. So what are your plans for the day? Me:
==========
Learning text or Next: You: Hello! How are you today? Are you feeling alright? I hope you are doing well and not getting into any trouble. Me: Yeah, I'm fine. Do you want to make something to eat? You: I already made some food, but thanks! I had some jalapeno poppers. I made a ton of them last night after I sold a lawnmower to some folks I got for free earlier in the day. So what are your plans for the day? Me: Nothing special. Nothing exciting in particular. I just wanna chill out for a bit.
==========
top_p out: 0.8338636363636364
==========
top_p in: 0.83
==========
Untuk daftar skor tata bahasa silakan lihat /SCORES.MD.
Tip:
0.77 top_p bisa terdengar emosional, membingungkan, dan meniru.
0.66 top_p dapat terdengar dipikirkan secara matang dan literal tetapi dapat memiliki kesalahan ascii dan cut-off.