Filip Tomáš

May 3, 2024 Daniel Hladek bp2022, dp2024 4 minutes, 56 seconds

rok začiatku štúdia: 2019

DP sa prekladá na rok 2025

Diplomová práca 2024

Zadanie:

  1. Napíšte prehľad metód vektorovej reprezentácie dokumentov pomocou neurónových sietí.
  2. Napíšte prehľad vektorových databáz a ich metód vyhľadávania.
  3. Nasaďte vybranú vektorovú databázu do testovacieho distribuovaného prostredia.
  4. Vytvorte index väčšieho množstva textových dokumentov vo vybranej vektorovej databáze.
  5. Vytvorte webové rozhranie na vyhľadávanie a slovne vyhodnoťte výsledky.

Ciel:

  • Vytvorte distribuovaný vyhľadávací index pre dáta zo slovenského internetu. Cieľom je vytvoriť vyhľadávanie na (skoro) celom slovenskom internete.

Spolupráca Michal Stromko, Kristián Sopkovič.

Stretnutie 3.5.2023

Stav:

  • Rozbehaný Milvus lokálne pomocou Docker.
  • Implementácia vyhľadávania pomocou Python.
  • Rozpracovaná príprava na Milvus RPI Klaster.

Úlohy:

  • Skúste zaindexovať slovenské dáta. Na vektorovú reprezentáciu použite https://huggingface.co/TUKE-DeutscheTelekom/slovakbert-skquad-mnlr
  • Na začiatok zaindexujte slovenskú wikipédiu. Sparsovaný text bol dodaný.
  • Napíšte o tom čo je to SentenceTransformer - ako sa trénuje a ako sa používa.
  • Pozrite si DP M. Stromko a K. Sopkovič.

Zásobník úloh:

  • Benchmarking vyhľadávania. Vyskúšame viacero embeddingov s rôznym rozmerom. Modely typu Matroshka.
  • Zhlukovanie dokumentov - zostavenie doménového korpusu s dát.
  • Dolovanie otázok a odpovedí.
  • Je priestor pre nákupy RPI pre nový RPI klaster.

Stretnutie 8.12.2023

Stav:

  • Funguje microk8s RPI klaster. Aktivované HA.

Úlohy:

  • Vypracujte prehľad vektorových databáz. QDRANT, MILVUS, Weaviate, a iné. Opíšte ako funguje ich vyhľadávací index. Ako funguje tvorba a vyhľadávanie v distribuovanom indexe?. Citujte odborné články,
  • Pokračujte v úlohách: nasadte databázu, zaindexujte dokumenty a vypracujte webové rozhranie.

Stretnutie 10.11.2023

Stav:

  • Teoretická príprava a tri strany poznámok.

Úlohy:

  • Nasadte databázu Milvus na RPi. Vytvorte skripty na nasadenie pomocou Kubernetes. Zvážte možnosž použitia HELM alebo K8S Operátor.
  • Preštudujte si ako funguje distribuované nasadenie Milvus.
  • Zistitie si čo je K8S operator.
  • Zistite čo to je HELM.
  • Zisite ako nasadit Milvus pomocu Operator alebo pomocou HELM.
  • Skúste zaindexovať pár dokumentov.
  • Pokračujte v písaní práce.

Zásobník úloh:

  • Vytvorte HTML rozhranie pre hybridné vyhľadávanie. Môžete využiť pomoc od Stromko-Sopkovič.

Stretnutie 26.10.2023

Stav:

  • Vypracovaný text na tému: Hardware RPI, kontajnerizácia, Čo je ingress. Paralelné spracovanie dát, o Kubernetes.
  • Na klastri sú nainštalované všetky potrebné nástroje: Multipass, k8s,

Úlohy:

  • [x] Je potrebný Multipass na beh MicroK8s RPI klastra? Ak áno tak prečo. Ak nie tak to opravte.
  • [ ] Pozrite si profily Stromko, Sopkovič.
  • [x] Zistite, ako funguje "vektorové" vyhľadávanie pomocou neurónových sietí. Ako funguje SBERT-SentenceTransformer? Ako funguje vyhľadávanie BM25? Nájdite články a napíšte poznámky na 3 strany.
  • [x] Prečítajte si https://qdrant.tech/articles/hybrid-search/
  • [ ] Použite vektorovú databázu s podporou ukladania textu.
  • [x] Preskúmajte možnosti nasadenia QDRANT, MILVUS, Weaviate. Oboznámte sa s týmito databázami. Umožňujú hybridné vyhľadávanie? Vyberte jednu vhodnú na nasadenie v našich podmienkach. Mala by fungovať aj na RPI klastri, mala by podporovať aj hybridné vyhľadávanie.

Zásobník úloh:

  • Zaindexujte slovenský internet.
  • Pripravte jednoduché webové rozhranie pre vyhľadávanie na slovenskom internete.
  • Vykonajte záťažové testy pre indexovanie a vyhľadávanie.

Diplomový projekt 2023

Nápady:

  • Zostaviť Raspberry Pi K8S Cluster pre podporu výuky predmetu ZKT. Chceme mať k dispozícii viacero fyzických uzlov, kde je možné spúštať rôzne aplikácie.
  • Klaster by malo byť jednoduché dať do východiskového stavu.
  • Klaster by mal mať aj podpornú infraštruktúru: Storage, Ingress, Registry, LoadBalancer.
  • Možno vytvoriť iný klaster pre skúštanie výukových alebo demonštračných aplikácií. Napr. JupyterLab, NLP demo pre GPU.
  • Preskúmať možnosti paralelného spracovania dát - Dask, SLURM, Spark,

Stav:

  • Podarilo sa nainštalovať a nasadiť Kubernetes klaster na raspberry PI
  • Bola vytvorená písomná správa
  • Skripty sú na https://git.kemt.fei.tuke.sk/ft835qr/dp2024
  • Výsledky boli odovzdané na poslednú chvíľu.

Úlohy:

  • Oboznámte sa so systémom microk8s. Nainštalujte si ho a vyskúšajte.
  • Zistite čo je Ingress a ako si ho vytvoríme.
  • Zistite, aké storage podporuje microk8s a ako ho implementovať.
  • Navrhnite architektúru k8s klastra. Máme k dispozícii 5 jednotiek RPi4 s SD kartami. 1 jednotku Nvidia Jetson Xavier.

Zásobník úloh:

  • Namontovať klaster do serverovne a prideliť IP.
  • Rozbehať JupyterLab.

Bakalárska práca 2022

Názov bakalárskej práce:

Aplikačné testy v systémoch kontinuálnej integrácie a nasadenia

Návrh na zadanie:

  1. Vypracujte prehľad metód a nástrojov automatického testovania
  2. Vypracujte prehľad metód a nástrojov systémov kontinuálnej integrácie a nasadenia
  3. Vyberte vhodné metódy a pomocou systému Docker Compose nasaďte systém automatického testovania do vybraného systému kontinuálnej itengrácie a nasadenia.
  4. Vypracujte sadu aplikačných testov na vybranú webovú aplikáciu.
  5. Navrhnite zlepšenia systému spúšťania automatických testov.

Stretnutie 15.3.

  • Podarilo sa implementovať GitLab CI CD pipeline s Cypress
  • Výsledky sú na https://git.kpi.fei.tuke.sk/filip.tomas/bp2022
  • Treba vedúcemu prideliť práva na čítanie.

Úlohy:

  • Pracujte na texte
  • Pokračujte v práci na otvorenyých úlohách.

Stretnutie 25.2.

  • Fungujú automatické testy Cypress

Úlohy:

  • [ ] Vypracovať písomný prehľad CI CD systémov nasaditeľných pomocou Docker Compose.
  • [ ] Vybrať vhodný systém, optimálne taký, ktorý sa dá integrovať so systémov Gitea. https://gitea.com/gitea/awesome-gitea#user-content-devops
  • [ ] Pripravte deployment docker compose, kotrý bude obsahovať GITEA aj CI CD podľa výberu. Najčastejšie sa používa asi Jenkins.

Interakcia medzi Gitea a CI CD sa deje pomocou webhook. Riešenie pomocou GITlab je akceptovateľné, ale nie preferované.

Bakalársky projekt 2021

Ciele:

  1. [ ] Naučiť sa nasadiť a pracovať so systémom CI-CD. Vytvoriť pokusné nasadenie CI CD systému pomocou Docker compose. Môžete použiť TUKE Cloud.
  2. [x] Vytvoriť automatické aplikačné testy ku aplikácii Traktor.
  3. [-] Vytvoriť kompletný reťazec CI-CD ku aplikácii Traktor. Automatický build a test, zobrazenie reportu.
  4. [-] Vypracovanie písomného prehľadu.

Stretnutie 10.12.2021

  • Pripravený prvý reálny test, skladá sa z viacerých scenárov.
  • Práca na texte

Úlohy:

  • Pokračovať s vytváraním testov
  • Pokračovať v práci na texte.
  • Rozbehať vlastný CI CD.

Práca na texte.

Úlohy: Pokračujte v otvorených úlohách

  • Napíšte čo je to testovanie a aké spôsoby testovania poznáme (aplikačné, použiteľnosti, jednotkové... ).

Stretnutie 22.10.

  • Napísaný prvý draf s poznámkami o CI CD
  • pripravené prvé test-case

Úlohy:

  • Pokračujte v otvorených úlohách
  • Vytvorte GIT repozitár s názvom bp2022 a nahrajte do neho testovacie scenáre.

Zásobník úloh:

  • [ ] Skúste vytvoriť nasadenie vhodného CI CD na tuke cloude.
  • [ ] Upravte scenáre tak, aby boli ľahko automaticky spustiteľné. vytvorte skript pre inštaláciu potrebných komponentov a pre spustenie testov.

Stretnutie 23.9.

  • Dohodli sme sa na zadaní, cieľoch a názve.

Úlohy:

  • [ ] Urobte písomný prehľad systémov CI-CD. Uveďte zdroje z ktorých ste čerpali.
  • [ ] Nájdite vhodnú odbornú literatúru, uveďte ju do prehľadu. V školskej knižnici môže byť dobrá kniha.
  • [x] Navrhnite základné testovacie scenáre pre aplikáciu https://traktor.kemt.fei.tuke.sk.