forked from KEMT/zpwiki
		
	
		
			
				
	
	
		
			343 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			343 lines
		
	
	
		
			11 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| ---
 | |
| 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:
 | |
| 
 | |
| - Vytvoriť systém pre spracovanie právnych informácií. Systém by mal vedieť vyhľadávať v rozsudkoch, zákonoch a vyhláškac
 | |
| , odpovedať na otázky a sumarizovať dokumenty. Je možné , že riešenie úlohy si vyžiada viac krokov.
 | |
| - Vytvoriť sadu vzorových úloh pre vyhodnotenie takéhoto systému.
 | |
| - 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.
 | |
| 
 | |
| ## Diplomový projekt 2025
 | |
| 
 | |
| Stretnutie 14.5.2025
 | |
| 
 | |
| Stav:
 | |
| 
 | |
| - Zaindexované zákony a vyhlášky vyhlásené v roku 2022 pomocou FAISS a SlovakBert-mnlr
 | |
| - Urobené gradio demo pomocou langchain, ktoré ku dotazu nájde a zobrazí 3 najlepšie dokumenty.
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| - Zlepšite skript pre predspracovanie dát. Pridajte ďalšie dáta, identifikujte a opravte nedostatky. Chceme mať k dispozícii právne kompletné právne predpisy v súčasnom znení.
 | |
| - Preštudujte si knižnicu LangGraph a "function calling". 
 | |
| - Zistite, ako "znalostný graf - knowledge graph" dokáže vylepšiť výsledky vyhľadávania v zákonoch. Graph RAG.
 | |
| 
 | |
| 
 | |
| Zásobník úloh:
 | |
| 
 | |
| - Vyjadrite vnútorné a vzájomné vzťahy medzi právnymi predpismi.
 | |
| - Vytvorte "pekné" webové rozhranie a príslušné Docker skripty pre nasadenie dema.
 | |
| - Vytvorte agenta, ktorý bude vedioeť riešiť právne problémy.
 | |
| - Zostaviť testovacie dáta. Vzorovú množinu otázok, odpovedí a relevantných dokumentov. Pomocou tejto množiny vyhodnotiť systém. Vyhodnotneie sa skladá z dvoch častí - vyhdonotenie vyhľadávania a vyhodnotenie automatických odpovedí.
 | |
| - Inšpirovať sa stránkou https://aipravnik.sk/
 | |
| - Natrénujte model pre úlohu sumarizácie súdnych rozhodnutí (nízka priorita).
 | |
| 
 | |
| 
 | |
| Stretnutie 10.3.2025
 | |
| 
 | |
| Úlohy:
 | |
| 
 | |
| - [x] Preštudovať - ako zostaviť RAG systém pomocou LangChain
 | |
| - [-] Vytvoriť databázu právnych informácií - texty zákonov, vyhlášok a rozsudkov spolu s metainformáciami. Vedúci pridelí prístup na QUADRO. (úloha Šarišský)
 | |
| - [-] Zistiť ako fungujú agentové systémy na báze LLM - React. A volanie "nástrojov" function calling pomocou LLM.
 | |
| - Získajte prístup na QUADRO. V adresári  /mnt/sharedhome/hladek/corpora/slovak_law/ sú dáta. Dáta premente do JSON.
 | |
| Extrahujte text, vytiahnite metainformácie. Na extrakciu textu využite vhodnú knižnicu. Napr. Apache TIKA.
 | |
| - [-] Vytvoriť RAG systém pre spracovanie tejto databázy. Pozrite si: Inšpirácia prácou Valerii Kutsenko, Yevhenii Leonov,  [Oleh Poiasnik](/students/2022/oleh_poiasnik). Môžete sa inšpirovať [GIT BP Poiasnik](https://git.kemt.fei.tuke.sk/op405wm/Bakalarska_praca) (úloha Ščišľak)
 | |
| 
 | |
| Myšlienkový postup pre ZP:
 | |
| 
 | |
| 1. Zadefinujete úlohu a pojmy.
 | |
| 2. Vysvetlíte, ako sa táto úloha rieši vo svete.
 | |
| 3. Napíšete, ako ste túto plohu riešlili Vy a prečo. 
 | |
| 4. Vyhodnottíte Vaše riešenie. Porováte výsledky so svetom a identifikujete miesta na zlepšenie.
 | |
| 
 | |
| Zásobník úloh:
 | |
| 
 | |
| - [x] Dáta sa vložia do databázy a zaindexujú vhodným SBERT modelom.
 | |
| - [ ] Vyhľadať na internete množinu vzorových právnych otázok a vyhodnotiť systém (Šarišský)
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 | |
| # 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.
 | |
| 
 | |
| 
 | |
| 
 | |
| 
 |