forked from KEMT/zpwiki
232 lines
8.2 KiB
Markdown
232 lines
8.2 KiB
Markdown
---
|
|
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.
|
|
|
|
|