--- title: Martin Šarišský published: true taxonomy: category: [vp2023,bp2024,dp2026] tag: [chatbot,rasa,dialog,nlp] author: Daniel Hladek --- rok začiatku štúdia: 2021 # Diplomová praca 2026 Ciele: - Zlepšiť generovanie odpovedí pre úlohy vyžadujúce viac krokov. Príprava: - Zopakujte si Python. - Vyskúšajte si prácu s veľkými jazykovými modelmi. Nainštalujte si oollama. - Oboznámte sa s framewworkom LangChain. - pozrite si LangChain Transformers Agents. - Ako funguje FunctionCalling - AgentTools?. - Zistite ako funguje REACT (Reasoning and Acting) Agent - nájdite článok na Scholar. - Zistite ako funguje dotrénovnaie veľkých jazykových modelov. Zistite čo je to PEFT (LORA, QLORA) a čo je to kvantizácia. Zisite čo je to "few shot" prompting. - Čo je to inferenčný server. Zistite čo je to VLLM, na čo je to dobré. Pozri si LocalAI. # Bakalárska práca 2024 [Git repo](https://git.kemt.fei.tuke.sk/ms058bd/vp2023) Súvisiace materiály: - [Projektová stránka](/topics/chatbot) - [Repozitár s webovou aplikáciou](https://git.kemt.fei.tuke.sk/sh662er/rasa-flask-website) - [Repozitár s chatbotom](https://git.kemt.fei.tuke.sk/sh662er/Rasa) - Bakalárska práca [Samuel Horáni](/students/2019/samuel_horani) - video kanál s [RASA tutoriálom](https://www.youtube.com/watch?v=rlAQWbhwqLA&list=PL75e0qA87dlHQny7z43NduZHPo6qd-cRc) - Slovenský Spacy model https://github.com/hladek/spacy-skmodel Návrh na zadanie BP: Dialógový systém pre zodpovedanie najčastejšie kladených otázok 1. Vypracujte prehľad metód dialógových systémov s použitím pravidiel a jazykových modelov. 2. Navrhnite a overte bázu pravidiel pre dialógový systém pre pomoc pri komunikácii občana s mestským magistrátom. 3. Vytvorte webové demo pre chatbota. 4. Identifikujte slabé miesta a navrhnite zlepšenia dialógového systému. Nápady na balakársku prácu: - chatbot pre komunikáciu s mestom - vytvorenie NLU databázy. - Urobenie web rozhrania. - dá sa to prepojiť aj na QA systém. Stretnutie 23.02.2024 Stav: - Práca na text aj na pravidlách. Stretnutie 9.2.2024 Stav: - Urobené nové testovacie scenáre a vyhodnotenie modelu. - Pridané pravidlá pre FAQ a chitchat. - Vyskúšané PrivateGPT. Úlohy: - Vytvorte Dockerfile na nasadenie aplikácie. - Podľa výsledkov vyhodnotenia zlepšite bázu pravidiel. - Pracujte na texte Zásobník úloh: - Ďalej skúšajte PrivateGPT. Zmente "prompt" pre vyhľadávanie. Prompt zmente na slovenský. Napr. "Si asistent pre vyhľadávanie a hovoríš po slovensky." Model nastavte na LLAMA 7B 4bit. Na embedingy skúste SlovakBERT-MNLR. Stretnutie 4.1.2024 Stav: - Splnené úlohy z minulého stretnutia. Úlohy: - Vypracujte prezentáciu s výsledkami zo semestra. - Pokračujte v písaní. - Vytvorte nové testovacie scenáre, vyhodnotte model a doplnte výslekdy do práce. - Do chatbota doplňte pravidlá pre [FAQ](https://rasa.com/docs/rasa/chitchat-faqs/) - Zdrojové kódy dajte na GIT. Zásobník úloh: - Rozbehať PrivateGPT a integrovať ho do RASA. Stretnutie 8.12. Stav: - Práca na databáze pravidiel pre dialóg. Pravidlá obsahujú najčastejšie otázky týkajúce sa digitálnych služieb. Úlohy: - [x] Vedúci finalizuje zadanie. - [x] Pokračujte v písomnej práci. - [x] Pokračujte v tvorbe webovej aplikácie - integrujte pravidlá od kolegu Ščišľaka- - [x] Zistite ako pracujú veľké jazykové modely a napíšte si poznánmky. - [x] Zistite, čo je to "Retrieval Augumented Generation", ako to funguje a na čo je to dobré. - [x] Oboznámte sa so softvérom PrivateGPT. Zistite ako funguje, napíšte is poznámky- - [x] Pridajte kapitolu o Získavaníí dokumentov pre použitie v dialógových systémoch. Zásobník úloh: - [-] Na školský server alebo na vlastnú M1 nainštalujte PrivateGPT. Stretnutie 10.11.2023 Stav: - Web app funguje. Frontend je HTML, CSS, Javascrip - axios. - Zdrojáky sú na https://git.kemt.fei.tuke.sk/ms058bd/vp2023. Úlohy: - Pokračujte - Vedúci sa pozrie na build - Dockerfile. Stretnutie 27.10.2023 - Pokračuje písomná príprava. - Pokračuje práca na stránke. Úlohy: - Pokračujte v otvorených úlohách. - Preskúmajte možnosti vytvorenia vlastného frontentu pre RASA chatbota. Zistite viaceré alternatívy. Stretnutie 6.10.2023 Stav: - Dockerfile in progress - Teoretická a písomná príprava in progress Úlohy: - Pokračujte Stretnutie 29.9.2023 Stav: - Ten istý ako pri minulom stretnutí, kódy sú na KEMT GITe. - Momentálne vie chatbot poskytnúť kontakt na človeka, ktorý sa zaoberá danou agendou. Úlohy: - [-] Dokončiť demo do podoby vhodnej na nasadenie. Dokončiť Dockerfile, dokončiť pravidlá. Vedúci pomôže so zverejnením. - [-] Zistite, akým spôsobom sa vyhodnocuje-testuje chatbot. Napíšte, ktoré scenáre chatbota sú implementované a ku nim napíšte "testovacie dialógy". - [-] Začnite písať baklársku prácu a pripravte "draft". V práci vysvetlite, čo je to NLU, ako sa robí. Ako príklad uveďte Vášho četbota. Do práce uvedte aj priebeh a výsledky testovania. Zásobník úloh: - Je potrebné aby chatbot sa vedel "učiť", resp. upraviť svoje pravidlá podľa meniacich sa skutočností. Je potrebné vymyslieť webovú aplikáciu pre úpravu bázy pravidiel aj zamestnancami magistrátu. - Identifikuje, aké ďalšie úlohy by mohol riešiť chatbot. - Zlepšite chatbota aby spolupracoval s kognitívnym vyhľadávaním, práca [Kristián Sopkovič](/students/2019/kristian_sopkovic). ## Vedecký projekt 2023 Ciele: - Napísať krátku písomnú správu - Oboznámiť sa s technológiou RASA a so súvisiacimi technológiami NLP - Vytvoriť jednoduchého chatbota ktorý bude komunikovať po slovensky. Stretnutie 5.5 Stav: - Draft písomnej správy - Začiatok práce s Dockerfile Úlohy: - Prepracujte "blog" na uverejnenie na stránke. - [-] Zlepšiť bázu pravidiel chatbota a dať na git - [-] Identifikovať slabé miesta, porozmýšľať ako by sa to dalo zlepšiť. Stretnutie 21.4. Stav: - Chatbot funguje pre vybrané časti agendy mesta - Funguje aj lokálne demo pomocou RasaWebWidget. Používa sa Websocket - Rozpracovaný písomný report Úlohy: - [x] Dať zdrojové kódy na GIT - [-] Dokončiť písomnú správu. Cieľ je mať blog, ktorý oboznámi študenta o možnostiach a práci s RASA. Zásobník úloh: - [-] Dorobiť Dockerfile. - [ ] Zverejniť demo na K8s (pre vedúceho). - [ ] Zverejniť blog vo formáte Markdown. - [-] Zlepšiť bázu pravidiel chatbota. - [-] Identifikovať slabé miesta, porozmýšľať ako by sa to dalo zlepšiť. Stretnutie 12.4.2023 Stav: - Robot komunikuje po slovensky pre jedoduchú úlohu súvisiacu s esluzby mesta Košice. - Zdrojáky sú na gite https://git.kemt.fei.tuke.sk/ms058bd/vp2023 - Napísaný krátky report, draft Úlohy: - Zlepšiť štylistiku reportu. - Pripraviť jednoduchú webovú aplikáciu na demo s chatbotom. Inšpirujte sa prácou S. Horáni. alebo použite Flask, Streamlit alebo Rasa ChatWidget https://rasa.com/docs/rasa/connectors/your-own-website/ . Zásobník úloh: - Zlepšite bázu pravidiel chatbota pre esluzby. - Zistenie kontaktnej osoby pre agendu. - Najčastejšie otázky. - Riešenie problémov. - Vymyslieť postup ktorý by umožnil pretrénovať chatbota aj pracovníkom magistrátu. Editovanie pravidiel vo webovej aplikácii. Stretnutie 27.3.2023 Stav: - Chatbot funguje po anglicky cez Anaconda. - Napísané niektoré reporty. - Pripravené niektoré testovacie konverzácie. Úlohy: - [x] Pozrite si stránku https://www.esluzbykosice.sk/, navrhnite chatbbota ktorý bude informovať o dostupných e-službách pre košický magistrát. - [x] Zdrojáky dajte na KEMT GIT, repozitár nazvite vp2023 - [-] Pokračujte v otvorených úlohách. Zásobník úloh: - [x] Preštudujte si ako sa vyhodnocuje RASA chatbot Úlohy: - [x] Nainštalujte a oboznámte sa s RASA frameworkom. Pri inštalácii využite systém Anaconda. - [x] Vyberte a prejdite najmenej jeden tutoriál pre prácu s RASA frameworkom. - [x] Napíšte krátky report na 2 strany kde napíšete čo ste urobili a čo ste sa dozvedeli. - [x] Vytvorte chatbota, ktorý sa bude vedieť predstaviť a odpovedať koľko je hodín. - [x] Zistite čo je to NLU a napíšte o tom krátku správu. - [-] Prečítajte si Horániho BP. - [-] Zistite ako pracuje RASA a napíšte o tom krátku správu. Zistite, aké neurónové siete sa tam používajú. Zásobník úloh: - Rozbehajte Horániho chatbota. - Pridajte podporu slovenčiny do Vášho chatbota.