--- 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 Nové zadanie: Chceme vytvoriť asistenta pre farmaceuta alebo zákazníka lekárne pre vyhľadávanie v príbalových letákoch. 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 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. 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