Oleh Poiasnik

November 8, 2024 Daniel Hladek bp2025 3 minutes, 47 seconds
rag, nlp

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. 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