188 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			188 lines
		
	
	
		
			7.7 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
---
 | 
						|
title: Oleh Poiasnik
 | 
						|
published: true
 | 
						|
taxonomy:
 | 
						|
    category: [bp2025]
 | 
						|
    tag: [rag,nlp]
 | 
						|
    author: Daniel Hladek
 | 
						|
---
 | 
						|
 | 
						|
 | 
						|
rok začiatku štúdia: 2022
 | 
						|
 | 
						|
# Bakalárska práca 2025
 | 
						|
 | 
						|
 | 
						|
Chceme vytvoriť asistenta pre farmaceuta alebo zákazníka lekárne pre vyhľadávanie v príbalových letákoch.
 | 
						|
 | 
						|
 | 
						|
Generovanie jazyka s podporou vyhľadávania v doménovo orientovaných dátach
 | 
						|
 | 
						|
1. Vypracujte prehľad metód a modelov generovania jazyka s pomocou vyhľadávania.
 | 
						|
2. Navrhnite a vytvorte systém pre zodpovedanie otázok v prirodzenom jazyku v doménovo orientovaných dátach.
 | 
						|
3. Vyskúšajte a vyhodnoťte vytvorený systém.
 | 
						|
4. Navrhnite zlepšenia pre vybranú metódu generovania odpovede.
 | 
						|
 | 
						|
 | 
						|
Staré zadanie:
 | 
						|
 | 
						|
Vyhľadávanie právnych informácií pomocou neurónových sietí
 | 
						|
 | 
						|
-    Oboznámte sa s existujúcimi modelmi pre vyhľadávanie v texte.
 | 
						|
-    Vytvorte systém pre vyhľadávanie v zákonoch a vyhláškach.
 | 
						|
-    Vyhľadajte súvisiace paragrafy so zadanou otázkou
 | 
						|
-    Vyhodnotte či je zadané tvrdenie v súlade s legislatívou alebo nie.
 | 
						|
 | 
						|
 | 
						|
RAG: Generovanie jazyka s pomocou vyhľadávania - Retrieval augmented generation
 | 
						|
 | 
						|
Stretnutie 28.3.2025
 | 
						|
 | 
						|
Stav:
 | 
						|
 | 
						|
- Agent funguje super.
 | 
						|
- Kódy sú na osobnom githube
 | 
						|
 | 
						|
Úlohy:
 | 
						|
 | 
						|
- Kódy dajte na KEMT GIT.
 | 
						|
- Dopracujte Docker Compose.
 | 
						|
- Zverejnite demo, napr. pomocou TUKE Cloud.
 | 
						|
 | 
						|
 | 
						|
 | 
						|
13.2.2025
 | 
						|
 | 
						|
Stav:
 | 
						|
 | 
						|
- Funguje QA nad databázou liekov.
 | 
						|
- Autentifikacia cez Google.
 | 
						|
- História sa ukladá do Postgres DB  na AWS.
 | 
						|
- Používa sa Mistral Large. Slovenský Mistral nefunguje lebo ho treba dotrénovať. 
 | 
						|
- Vektorový model paraphrase-multilingual-MiniLM-L12-v2
 | 
						|
- Projekt beží cez Docker, sú hotové aj Docker skripty.
 | 
						|
- V texte je osnova a draft. Treba ešte pracovať hlavne na teoretickej časti - odbornej literatúre.
 | 
						|
 | 
						|
Úlohy:
 | 
						|
 | 
						|
- Pokračujte v práci na texte.
 | 
						|
- Skúste vyhodnotiť navrhnutý systém. Pripravte dotazník. Osloviť kolegov aby to vyskúšali a slovne vyhodnotili systém.
 | 
						|
- dajte nové kódy na git.
 | 
						|
 | 
						|
Zásobník úloh:
 | 
						|
 | 
						|
- Zlepšite logiku dialógu. Jazykový model by sa mal správať ak inteligentný agent - mal by mať definovaný cieľ konverzácie. 
 | 
						|
- Definujte ciele dialógu - čo by mal agent vedieť pre úspešnú odpoveď. Napr. Interakcie s liekmi. Sú lieky na predpis? Aké sú podrobnejšie symptómy choroby? Suchý kašeľ alebo vykašliavanie? Koľko rokov má pacient? Aká anamnéza je dôležitá.
 | 
						|
- Preštudujte si metodiku REACT a Chain of Thought. https://arxiv.org/abs/2210.03629  
 | 
						|
 | 
						|
 | 
						|
 | 
						|
8.11.2024
 | 
						|
 | 
						|
Stav:
 | 
						|
 | 
						|
- Modifikovaný frontend (Tailwind)
 | 
						|
- Vytvorený Docker Images, Elasticsearch databáza aj index.
 | 
						|
- Je aj skript na indexovanie.
 | 
						|
- Vyskúšaný Mistral Small a Mistral Large cez API-
 | 
						|
 | 
						|
 | 
						|
Úlohy:
 | 
						|
 | 
						|
- Pracujte na texte, pošlite mi draft.
 | 
						|
- Pripojte sa na server quadro.kemt.fei.tuke.sk (cez ssh z tuke siete). Použite prostredie Anaconda.
 | 
						|
- Na inferenciu (beh modelu) vyskúšajte vllm. Alebo ollama alebo localai. Dobrý model pre slovenčinu je Qwen2.5  alebo slovak-t5-base. Na vektorvé vyhľadávnaie je zatiaľ najlepší model multilingual E5. Možno aj BGE - nie je overený.
 | 
						|
 | 
						|
17.10.20204
 | 
						|
 | 
						|
Stav:
 | 
						|
 | 
						|
- Funguje web rozhranie aj vyhľadávanie.
 | 
						|
- Kódy sú na gite. Využíva sa Flask, Mistral API pre Mistral-Small (nebeží lokálne). Na vektory MiniLM2
 | 
						|
- Napísané poznámky o praktickej časti. 
 | 
						|
 | 
						|
 | 
						|
Úlohy
 | 
						|
 | 
						|
- Otázka: Je to hybridné vyhľadávanie?
 | 
						|
- Začnite písať teoretickú časť práce. 
 | 
						|
- Pokračujte v práci na frontende aj backende, tak aby to dobre vyzeralo aj dobre fungovalo - aby sa to dalo použiť  ako demo. Treba dávať pozor na právnu zodpovednosť.
 | 
						|
- Vyskúšajte rôzne spôsoby vyhľadávania - aj sparse (riedke vyhľadávanie).
 | 
						|
- Kódy dávajte na git.
 | 
						|
 | 
						|
Zásobník úloh:
 | 
						|
 | 
						|
- Pripravte modely na lokálne nasadenie pomocou inferenčného servra (vllm, ctranslate2). Chceme aby modely bežali cez (OpenAI) API na našej infraštruktúre. 
 | 
						|
- Vyskúšajte Váš systém s lepšími modelmi (Slovak Mistral, iný väčší model, na vektory me5 alebo slovakbert-mnlr).
 | 
						|
- pripravte nasadenie aplikácie pomocou systému Docker Compose.
 | 
						|
- Urobte číslelné vyhodnotenie vyhľadávania. Toto má na starosti Yevhenii Leonov. 
 | 
						|
 | 
						|
 | 
						|
27.9.2024
 | 
						|
 | 
						|
Stav:
 | 
						|
 | 
						|
- Vyskúšané generatívne modely - OpenAI aj HuggingFace Prakticky sú nepoužiteľné, kvôli tomu, že chybné požiadavky míňajú kredit. Kreditu je málo na deň.
 | 
						|
- Výskúšaný Slovenský Mistral "slovak-nlp/mistral-sk-7b". Výskúšané cez API skript.
 | 
						|
- Nainštalovaný PrivateGPT. Zaindexovaná databáza liekov cez ElasticSearch a implementovaný RAG s modelom Slovak Mistral. Funguje to celkom dobre na dopyt o bolesti hlavy.
 | 
						|
 | 
						|
Úlohy:
 | 
						|
 | 
						|
- Pokračujte v štúdiu LangChain. Prejdite si tutoriály.
 | 
						|
- Čítajte články a robte si poznámky. Pozrite si článok o modeli Mistral, o sentence transformeroch, aj o "retrieval augmented generation". Na vyhľadanie článku použite google scholar.
 | 
						|
- Vytvorte skript pre indexovanie a prípravu dát, dajte ho na git.
 | 
						|
- Konfiguračné skripty na Privategpt a skripty pre prípravu dát dajte na git repozitár. Na kemt.git.fei.tuke.sk. Skripty by mali byť opakovateľné.
 | 
						|
 | 
						|
 | 
						|
Zásobník úloh:
 | 
						|
 | 
						|
- Lepšie pripraviť dáta. Bude treba vyradiť lieky pre zvieratá. Texty bude treba predpripraviť. O lieku bude treba zistiť metainformácie. Bude treba vyznačiť, či je liek na lekársky predpis alebo nie.
 | 
						|
- Model bude treba dotrénovať na inštrukcie, použiť databázu Slovak Alpaca.
 | 
						|
- Pripraviť "inteligentného agenta" pre vyhľadávanie, aby sa vedel spýtať dolnňujúce otázky. Prečítajte si článok o ReACT.
 | 
						|
- Pripraviť vlastné webové rozhranie a backend LangChain.
 | 
						|
 | 
						|
 | 
						|
 | 
						|
Stretnutie 18.9.2024
 | 
						|
 | 
						|
Stav:
 | 
						|
 | 
						|
- Vyskúšaný model bioBERT, cez Transformers, Anaconda na malom datasete na notebooku
 | 
						|
- ElasticSearch Python API
 | 
						|
- vlastný skript na indexovanie pomocou SBERT
 | 
						|
 | 
						|
Úlohy:
 | 
						|
 | 
						|
- vhodné modely pre slovenský jazyk: me5-base pre vektorové vyhľadávanie. Ale ako použijete ES, tak nie je potrebný. Pre generovanie: je možné použiť OpenAI API alebo HuggingfaceAPI, má obmedzenie.  Otvorené modely: LLama3, RWKV, Sovenský Mistral 7B TBA.
 | 
						|
- Na začiatok skúste rozbehať postup s PrivateGPT, OpenAI API a vyhľadávaním (pomocou ES alebo me5-base alebo OpenAI API - ADA embedding).
 | 
						|
- Urobte si lokálnu inštaláciu PrivateGPT na Vašom notebooku. Zmente konfiguráciu - modely a prompty
 | 
						|
- Dáta dodá Kristián Sopkovič - cez Teams sa spojte.
 | 
						|
- Pokračujte v štúdiu Python, Transformers.  Oboznámte sa s LangChain.
 | 
						|
- Prečítajte si tento článok https://arxiv.org/abs/1908.10084 o sentence transformers a urobte si poznámky.
 | 
						|
 | 
						|
Zásobník úloh:
 | 
						|
 | 
						|
- Urobte množinu na vyhdnotenie. Vytvoríte množinu vzorových otázok a odpovedí. Vyhodnotte celý proces.
 | 
						|
- Modely by mali bežať na našej infraštruktúre. Treba pripravť vhodný inferenčný server na našom HW, vybrať a dotrénovať vhodný model.
 | 
						|
- Preskúmať využitie Knowledge Graph pre spracovanie medicínskych dát.
 | 
						|
 | 
						|
Stretnutie 26.4.2024
 | 
						|
 | 
						|
Úlohy:
 | 
						|
 | 
						|
- Zistite čo je to Retrieval Augmented Generation a napíšte o tom správu.
 | 
						|
- Naučte sa základy jazyka Python.
 | 
						|
- Podrobne si prejdite minimálne dva tutoriály.
 | 
						|
- Napíšte krátky report na 2 strany kde napíšete čo ste urobili a čo ste sa dozvedeli.
 | 
						|
- Nainštalujte si a vyskúšajte softvér PrivateGPT
 | 
						|
- Nainštalujte si prostredie Anaconda. Prejdite si knihu Dive Deep into Python 3.
 | 
						|
- Nainštalujte si PrivateGPT. Zistite ako  funguje RAG. Zistite ako funguje ChatGPT. Zistite ako funguje vyhľadávanie pomocou  SentenceTranformers. Napíšte o tom poznámky.
 | 
						|
- Prečítajte si knihu https://d2l.ai/ a napíšte si poznámky.
 | 
						|
 | 
						|
Zásobník úloh:
 | 
						|
 | 
						|
- Spracujte a indexujte slovenské zákony a vyhlášky.
 | 
						|
- Získajte zoznam právnych tvrdení ktoré je možné overiť.
 | 
						|
- Existuje množina zmlúv o prenájme v slovenskom jazyku. https://huggingface.co/datasets/mtarasovic/ner-rent-sk-dataset
 | 
						|
 |