Rietenpetardat: Difference between revisions
Am detaliat secțiunile |
detaliu |
||
Line 7: | Line 7: | ||
=== Versiunea inițială === | === Versiunea inițială === | ||
Prima versiune a fost o implementare a unui [https://ro.wikipedia.org/wiki/Lan%C8%9B_Markov lanț Markov] dintr-un chatbot de IRC a cărui [https://github.com/dreignier/cgbot-core cod sursă a fost publicat pe GitHub]. Acest cod a fost modificat încât la pornire să citească mesaje, ca date de antrenament, dintr-un fișier text și să răspundă mesajelor care conțineau numele bot-ului conform datelor de intrare (istoricul mesajelor din canalul [[#bucuresti-general]] de pe OKPR V2) și parametrilor dați lanțului Markov. Din cauza naturii haotice a chat-ului, algoritmul nu putea să răspundă coerent la mesaje sau să țină o conversație, iar în mare parte din timp, trimitea propoziții complet aleatori. Cu toate acestea, a oferit o mulțime de divertisment pentru comunitate, în special în situațiile în care răspunsul bot-ului se potrivea întâmplător cu întrebarea care i-a fost adresată. | Prima versiune a fost o implementare a unui [https://ro.wikipedia.org/wiki/Lan%C8%9B_Markov lanț Markov] dintr-un chatbot de IRC a cărui [https://github.com/dreignier/cgbot-core cod sursă a fost publicat pe GitHub]. Acest cod a fost modificat încât la pornire să citească mesaje, ca date de antrenament, dintr-un fișier text și să răspundă mesajelor care conțineau numele bot-ului conform datelor de intrare (istoricul mesajelor din canalul [[#bucuresti-general]] de pe OKPR V2) și parametrilor dați lanțului Markov. Din cauza naturii haotice a chat-ului și a slăbiciunilor lanțului Markov, algoritmul nu putea să răspundă coerent la mesaje sau să țină o conversație, iar în mare parte din timp, trimitea propoziții complet aleatori. Cu toate acestea, a oferit o mulțime de divertisment pentru comunitate, în special în situațiile în care răspunsul bot-ului se potrivea întâmplător cu întrebarea care i-a fost adresată. | ||
Conform licenței GPL3 sub care se supune codul chatbot-ului de IRC original, codul sursă modificat pentru rietenpetardat se află aici: https://github.com/Edward205/markov-discord-bot | Conform licenței GPL3 sub care se supune codul chatbot-ului de IRC original, codul sursă modificat pentru rietenpetardat se află aici: https://github.com/Edward205/markov-discord-bot |
Revision as of 23:55, 30 June 2023
rietenpetardat (Chatbot)
AKA Ortobebop
rietenpetardat este un chatbot creat de Edward. Scopul acestuia este să vorbească cu utilizatorii server-ului de Discord OKPR într-un mod asemănător cu un membru obișnuit de pe server. În timp, a primit actualizări precum comenzi noi și schimbarea arhitecturii de bază.
Dezvoltare
Versiunea inițială
Prima versiune a fost o implementare a unui lanț Markov dintr-un chatbot de IRC a cărui cod sursă a fost publicat pe GitHub. Acest cod a fost modificat încât la pornire să citească mesaje, ca date de antrenament, dintr-un fișier text și să răspundă mesajelor care conțineau numele bot-ului conform datelor de intrare (istoricul mesajelor din canalul #bucuresti-general de pe OKPR V2) și parametrilor dați lanțului Markov. Din cauza naturii haotice a chat-ului și a slăbiciunilor lanțului Markov, algoritmul nu putea să răspundă coerent la mesaje sau să țină o conversație, iar în mare parte din timp, trimitea propoziții complet aleatori. Cu toate acestea, a oferit o mulțime de divertisment pentru comunitate, în special în situațiile în care răspunsul bot-ului se potrivea întâmplător cu întrebarea care i-a fost adresată.
Conform licenței GPL3 sub care se supune codul chatbot-ului de IRC original, codul sursă modificat pentru rietenpetardat se află aici: https://github.com/Edward205/markov-discord-bot
Adăugarea comenzii de copypasta
Comanda de copypasta a fost adăugată printr-un modul separat care se baza pe un lanț Markov simplu antrenat pe mesajele din canalul #bucuresti-general de pe OKPR V2 care depășeau o anumită limită de caractere.
Schimbarea algoritmului
Algoritmul a fost schimbat la GPT-3 de la OpenAI care putea ține conversații coerente. Algoritmul vechi a fost desființat în favoarea acestuia. În aprilie 2023 acesta a fost de asemenea desființat deoarece metoda de plată a lui Edward a început să respingă plățile de la OpenAI, astfel făcând API-ul inaccesibil.
Detalii tehnice și cercetări
Chatboții sunt programe complexe, necesitând un grad ridicat de analizare și procesare a datelor text. O abordare care ne-ar elimina dependența de un serviciu extern și ar putea genera conversații coerente, ar fi să antrenăm un LLM doar cu datele chat-ului de pe OKPR. Acesta ar putea fi antrenat de la zero sau prin fine-tuning.