A logelemzés forradalma: Így spórol neked időt egy önjavító, többágenses RAG-rendszer
A logok a modern rendszerek éltető elemei. Azonban ahogy az alkalmazások egyre összetettebbé válnak, a logfájlok végtelen szövegfalként tornyosulnak előttünk: zajosak, ismétlődőek és átláthatatlanok. Egy-egy timeout vagy hibás konfiguráció valódi okának felkutatása gyakran olyan, mintha a tűt keresnénk a szénakazalban! Egy biztonsági incidens során pedig minden perc számít…
Pontosan itt lép a képbe az NVIDIA Generative AI referencia-munkafolyamataiban bemutatott, mesterséges intelligencia által hajtott logelemző megoldás. Ez a speciális ágens egy retrieval-augmented generation (RAG) folyamatot ötvöz egy gráfalapú, többágenses munkafolyamattal, hogy automatizálja a logok feldolgozását, a releváns bejegyzések rangsorolását és a lekérdezések önálló finomítását.
Ebben a cikkben mélyebbre ásunk, és megvizsgáljuk a megoldás felépítését, kulcsfontosságú komponenseit és a gyakorlati megvalósítás részleteit. Ahelyett, hogy órákat töltenél logok böngészésével, ezzel az eszközzel egyenesen a hibák mögött rejlő „miért”-re koncentrálhatsz.
A motorháztető alatt: egy önjavító multi-ágens rendszer
A logelemző ágens egy önjavító, többágenses RAG-rendszer, amelyet arra terveztek, hogy nagy nyelvi modellek (LLM-ek) segítségével értékes információkat nyerjen ki a logokból. A rendszer egy LangGraph munkafolyamatot vezényel, amely a következő lépéseket foglalja magában:
- A felhasználói kérdés feldolgozása
- Releváns logrészletek kinyerése
- A találatok minőségének értékelése
- A lekérdezés szükség szerinti átfogalmazása és finomítása
- A végső, ember által is érthető válasz legenerálása
A megoldás egy irányított gráfot valósít meg, ahol minden csomópont egy-egy specializált ágens: lekérdezés, újrarangsorolás, minősítés, válaszgenerálás vagy átalakítás. Az élek pedig azt a döntési logikát kódolják, amely dinamikusan irányítja a munkafolyamatot.
A legfontosabb összetevők
Minden forrásfájl elérhető a GenerativeAIExamples GitHub repositoryban. Nézzük a legfontosabb elemeket:
- Hibrid lekérdezés (Hybrid Retriever): A
multiagent.pyfájlban találhatóHybridRetrieverosztály kétféle módszert kombinál:- TfidfRetriever: Kulcsszóalapú keresés a gyors és pontos egyezésekért.
- VectorStoreRetriever: Szemantikus keresés, amely a jelentésbeli hasonlóságok alapján is megtalálja a kapcsolódó logbejegyzéseket.
- Prompt sablonok: A
prompt.jsonfájlból betöltött sablonok pontosan meghatározzák az egyes LLM-feladatok kereteit, legyen szó a kérdés átalakításáról vagy a végső válasz megfogalmazásáról. - NVIDIA AI végpontok: A rendszer az NVIDIA nagyteljesítményű modelljeit használja a feladatok elvégzésére:
playground_rerank: A találatok újrarangsorolásához.playground_mixtral_8x7b: A kérdések átfogalmazásához és a végső válaszok generálásához.
Az önjavító mechanizmus működés közben
A rendszer egyik legizgalmasabb képessége az önkorrekció. Ha a kezdeti keresési találatok gyengék vagy nem relevánsak, a transform_query csomópont egyszerűen átfogalmazza a kérdésedet, hogy pontosítsa a keresést. Az olyan feltételes élek, mint a decide_to_generate és a grade_generation_vs_documents_and_question, folyamatosan értékelik az eredményeket. A minősítés alapján a munkafolyamat vagy továbbhalad a végső válasz generálása felé, vagy visszacsatol, és egy újabb, immár finomított keresési körrel próbálkozik a lekérdezési folyamatban.
Próbáld ki te is!
Kíváncsi vagy, hogyan működik a gyakorlatban? Néhány egyszerű lépéssel te is beüzemelheted.
1. Klónozd a repositoryt:
git clone https://github.com/NVIDIA/GenerativeAIExamples.git
2. Futtass egy példa lekérdezést:
python multiagent.py --query="What is the root cause of the timeout error in the NGINX log?"
A rendszer végigfuttatja a Lekérdezés → Újrarangsorolás → Minősítés → Válaszgenerálás folyamatot, és a végén egy tiszta, érthető magyarázatot ad a hiba okáról, közvetlenül a logokból kinyerve az információt.
Több mint hibakeresés: a jövő lehetőségei
A logelemző ágens tökéletesen demonstrálja, hogyan képesek a többágenses RAG-rendszerek a strukturálatlan logokat azonnal felhasználható, értékes információkká alakítani. Ezzel drasztikusan csökkentik az incidensek megoldásához szükséges időt (MTTR) és növelik a fejlesztői és üzemeltetői hatékonyságot.
De ez még csak a kezdet!
Ugyanez a többágenses munkafolyamat könnyedén kiterjeszthető más területekre is, például:
- Automatizált incidenskezelés: A rendszer automatikusan kivizsgálhatja a biztonsági riasztásokat, és javaslatokat tehet a megoldásra.
- Kiberbiztonsági threat hunting: Összetett, természetes nyelvű kérdéseket tehetsz fel a rendszernaplóknak, hogy rejtett anomáliákat vagy támadási mintázatokat fedezz fel.
- Önálló kódjavítás: A rendszer nemcsak azonosíthatja a hibát, hanem javaslatot is tehet a javításra, sőt, akár automatikusan létre is hozhatja a szükséges kódrészletet.
Próbáld ki te is! Futtasd le a példa lekérdezést a saját logjaidon, és fedezd fel, hogyan alakíthatja át a többágenses RAG a hibakeresési és incidenskezelési munkafolyamataidat. A rendszer moduláris felépítésének köszönhetően bátran kísérletezhetsz: forkolj, bővíts, és adj hozzá saját ágenseket!