---
title: Filip Tomáš
published: true
taxonomy:
    category: [bp2022,dp2024]
    tag: [testovanie,javascript,typescript]
    author: Daniel Hladek
---

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](https://cloud.tuke.sk/).
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.


