LinuxDays 2024

Your locale preferences have been saved. We like to think that we have excellent support for English in pretalx, but if you encounter issues or errors, please contact us!

Log Detective - jak využít LLM aby to mělo smysl
2024-10-13 , 155
Language: Čeština

Když opadne první nadšení (nebo zděšení) přijde čas na skutečné aplikace. Log Detective je nástroj využívající template mining a LLM k rychlé analýze a návrhu řešení selhávajících buildů RPM ve veřejné infrastruktuře projektu Fedora. Ukážeme si jaké jsou nástrahy práce s LLM ve světě FOSS, co všechno je třeba udělat když chcete rozběhnout LLM na laptopu, i jak těžké je přesvědčit inženýry aby přispěli trénovací data.


Balíky RPM patří k RHEL a tedy i k Fedoře od samého začátku, a stejně tak i chyby během buildu.
Dříve nebo později potkají každého kdo připravuje balíky. Ve většině případů se jedná o snadno řešitelné problémy, ale přesto je počet delší dobu neřešených selhávajících buildů v COPR, Koji a Packit značný.
Zvlášť pro začátečníky může být hledání původní chyby složitá a nepříjemná záležitost.

Log Detective nabízí rychlou a jednoduchou cestu, jak z build logu získat a následně interpretovat důležité informace. Dlouhodobým cílem projektu je zavést Log Detective jako první pomoc pro selhávající buildy ve Fedoře. Ulehčit tak práci jak začínajícím devům, tak těm kteří jim pomáhají problémy řešit, a celé komunitě.

V současné době projekt poskytuje CLI nástroj pro zcela lokální analýzu build logů, bez nutnosti odesílat jakékoliv informace na "otevřené" API. Log Detective během prvního spuštění stáhne quantizovaný model vhodný ke spuštění na laptopu, provede extrakci statisticky zajímavých částí logu pomocí algoritmu Drain, a následně použije LLM k interpretaci a návrhu řešení.

Uživatel může využít doporučený model, nebo jakýkoliv jiný již stažený, nebo dostupný na HuggingFace. Jedinou podmínkou je kompatibilita s llama.cpp, který využíváme jako runtime.

V budoucnosti chceme trénovat vlastní model, proto sbíráme data pro jeho trénování. Anotační nástroj umožňuje označit zajímavé části logu, poskytnout interpretaci a nabídnout vhodné řešení. Logy je možné posílat z COPR, Koji, Packit, URL nebo uploadem. Dataset je publikován pod CDLA-Permissive-2.0.

https://rpm.org/
https://copr.fedorainfracloud.org/
https://github.com/fedora-copr/logdetective
https://huggingface.co/
https://github.com/ggerganov/llama.cpp/
https://logdetective.com/


Difficulty

Intermediate

See also: presentation (2.3 MB)

Dlouho se zajímám o AI a už dříve jsem pracoval na aplikacích jazykových modelů, byť ne těch "velkých".

Poslední tři roky pracuju jak inženýr v Red Hatu na projektu Openstack, a nedávno jsem přibral Log Detective. Také spolupracuji s Mendelovou univerzitou na projektech automatizace zemědělství a diagnostiky rostlin pomocí akustické emise.

Ve volné čase jsem příznivcem muzeí, obskurní literatury a strategických her.