Rietenpetardat: Difference between revisions

From Irony Wiki
Jump to navigation Jump to search
Edward (talk | contribs)
Am detaliat secțiunile
Edward (talk | contribs)
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.