Dokumentumköteg nagyítóval, mellette egy kis tudásgráf, egy robot-ikon és egy oszlopdiagram-kártya

Szakértői rovatunk

·

12 perc

olvasás

AI-alapú dokumentumellenőrzés (audit) technikai részletei: megéri a gráf és az ágensalapú keresés?

AI-alapú dokumentumellenőrzés (audit) technikai részletei: megéri a gráf és az ágensalapú keresés?

AI-alapú dokumentumellenőrzés (audit) technikai részletei: megéri a gráf és az ágensalapú keresés?

Hibrid, gráfalapú és tanított ágensalapú RAG-módszereket mértünk valós dokumentumokon, AI-alapú dokumentumellenőrzési (audit) célokra. Megéri-e az extra költség és késleltetés?

Hibrid, gráfalapú és tanított ágensalapú RAG-módszereket mértünk valós dokumentumokon, AI-alapú dokumentumellenőrzési (audit) célokra. Megéri-e az extra költség és késleltetés?

Hibrid, gráfalapú és tanított ágensalapú RAG-módszereket mértünk valós dokumentumokon, dokumentumellenőrzési (audit) célokra. A mérések tanulsága az, hogy a legegyszerűbb, de nem triviális megoldás meglepően nehezen verhető.

Képzeld el, hogy egy közbeszerzési ajánlatot kell ellenőrizned a felhívás követelményei szerint. Teljesít minden kötelező feltételt? Szerepel benne minden előírt kikötés? Ilyen kérdéslistákat (checklisteket) a cégek nap mint nap töltenek ki hosszú, vegyes dokumentumgyűjtemények alapján. Kézzel ez lassú és drága, ezért az automatizálás komoly értéket jelentene.

A természetes nyelvfeldolgozás (NLP) és a generatív mesterséges intelligencia (GenAI) fejlődésével a nagy nyelvi modellek (LLM) és az MI-ügynökök (AI agent) erre a legkézenfekvőbb megoldásnak tűnhetnek. A bökkenő viszont az, hogy az automatizálás minősége a visszakeresésen múlik. A visszakereséssel kiegészített generálás (RAG) két lépésben dolgozik: először megkeresi a releváns szövegrészeket, aztán ezekből válaszol a modell. Ha a bizonyíték nem kerül be a kontextusablakba, a rendszer vagy hallucinál, vagy nem válaszol. A kérdéslista (checklist) kitöltése tehát elsősorban keresési probléma.

Ezért megmértük, hogyan teljesítenek a legnépszerűbb RAG-megközelítések valódi dokumentumokon.

A probléma: a RAG-et nem valódi dokumentumokon mérik

A visszakeresési technikák három nagy családja mind a saját irodalmában számít csúcstechnikának. A hibrid keresés a lexikai (kulcsszavas) és a szemantikus (jelentésbeli) egyezést kombinálja. A gráfalapú keresés (Graph RAG) a dokumentumokból épített tudásgráfot használja. A többlépéses, ágensalapú keresés, amit a Claude vagy a ChatGPT is végez, pedig egymásra épülő keresési lépéseket hajt végre.

Ezeket a módszereket azonban többnyire Wikipédia-stílusú kérdés-válasz adatkészleteken értékelik, ahol a szövegrészletek rövidek és tiszták, az entitásnevek (például a szerződő cég neve) pedig egyértelműek. A valódi dokumentumok mások: hosszúak, számozott cikkelyekből és mellékletekből állnak, tele vannak kereszthivatkozásokkal ("lásd a 2.2.6 pontot"), bonyolult táblázatokat tartalmaznak, és egy kérdés megválaszolásához gyakran több dokumentumból kell információt összeszedni.

A szerződésekre és pénzügyi beszámolókra készült benchmarkok többnyire egyetlen dokumentum megértését mérik. Azt nem, hogy egy keresési architektúra mit kezd egy összetartozó dokumentumcsomaggal. Jelenleg nem létezik olyan benchmark, ahol valós, munkához felhasznált dokumentumokon, és reális adat mennyiségen mérték ki a tesztelt megoldások teljesítményét, ezért fontosnak tartottuk, hogy egy valós képet kapjunk a megoldások minőségéről, valós keretek között.

Az adatkészlet: valódi uniós dokumentumok, szintetikus kérdések

Olyan benchmarkot akartunk, amely közel áll az éles használathoz, ezért a közbeszerzés mellett döntöttünk. Egy pályázat természetes checklist-alapanyag: összekapcsolódó dokumentumokból áll (felhívás, adminisztratív és műszaki specifikáció, keretszerződés-tervezet, mellékletek), és egyetlen kérdéshez gyakran több dokumentumot kell összevetni.

Az Európai Bizottság Funding & Tenders portáljáról hét nyilvános pályázatot töltöttünk le a teljes dokumentációjukkal együtt. Ez 62 PDF-et és nagyjából ezer oldalt jelent, az iskolai kirándulásoktól a tengerbiztonsági felszereléseken át az uniós kiberbiztonságig. A rendszer egyszerre egy pályázatot dolgoz fel, ahogy egy valódi ellenőrzés is, így a keresés mindig csak az adott pályázat dokumentumain fut.

A hozzájuk tartozó 97 kérdést és referenciaválaszt szintetikus adatgeneráló folyamat készítette. A feldolgozó folyamat (pipeline) kinyeri a szöveget, tokenekből (szavakból vagy szó-részletekből) álló darabokra (chunkokra) bontja, majd egy LLM először jelölt kérdéseket gyűjt, végül kérdéstípusonként összeállítja a végleges kérdéseket a hozzájuk tartozó bizonyítékrészletekkel.

Folyamatábra a kérdésgenerálásról: 7 pályázat 62 PDF-jéből szövegkinyerés, 512 tokenes darabolás 1101 chunkra, egy kisebb LLM chunkonként jelölt kérdéseket gyűjt, egy nagyobb LLM típusonként véglegesíti őket, végül szabályalapú nehézségi címke; az eredmény 97 kérdés.

A kérdéseket öt típusba soroltuk, mert a keresésnek nem minden kérdés jelent azonos feladatot:

  1. Egydokumentumos keresés (könnyű): a válasz egyetlen helyen van.

  2. Egydokumentumos következtetés (közepes): több tényt kell összekapcsolni, de egy dokumentumon belül.

  3. Dokumentumok közötti ténykérdés (közepes): az információ több dokumentumban van szétszórva.

  4. Implicit többugrásos kérdés (nehéz): egy kereszthivatkozást követve lehet eljutni a válaszhoz, egyetlen szövegrészlet sem tartalmazza a teljes választ.

  5. Megválaszolhatatlan kérdés (nehéz): hihetően hangzik, de a dokumentumokban nincs rá válasz. A jó rendszernek ezt is meg kell mondania. Egy példa a negyedik típusra: "A dokumentum szerint a projekt és az ár a 'Tervezés és határidők' szakasz szerint kerül egyeztetésre. Ha egy késedelem eltolja a mérföldköveket, mit jelent ez az ár véglegesítésének időpontjára?" Itt két szakaszt kell összekapcsolni, és csak együtt adják a választ.

Vízszintes oszlopdiagram a 97 kérdés megoszlásáról típus szerint: egydokumentumos keresés 23, egydokumentumos következtetés 20, dokumentumok közötti ténykérdés 20, implicit többugrásos 18, megválaszolhatatlan 16.

Az adatkészletet nyilvánosan közzétettük a HuggingFace-en, hogy mások is használhassák: eu-tenders-with-questions-for-agentic-checklist-filling.

A hat versenyző

Mindhárom családból egy-egy példát valósítottunk meg, és két klasszikus baseline-nal vetettük össze őket. A baseline-ok egy kutatás során az alap értékek meghatározására szolgálnak, ehhez hasonlítjuk a komplexebb megoldásokat.

Módszer

Család

Röviden

BM25

Baseline (szintaktikus)

A klasszikus kulcsszavas keresés, a szókészlet-átfedésen alapul

Dense keresés

Baseline (szemantikus)

multilingual-e5-large beágyazás (embedding) vektoros indexben

Hibrid (DBSF)

Hibrid

BM25 és dense keresés (bge-m3), a két lista pontszámeloszlás-alapú fúziójával

Hibrid + cross-encoder

Hibrid

A két jelöltlista uniója, cross-encoder rerankerrel újrarendezve

KG2RAG

Gráf

LLM-mel kinyert tényhármasokból épített gráf, a találatok bővítése a gráf mentén

EfficientRAG

Ágensalapú

Többlépéses keresés két kis, finomhangolt (fine-tuned) neurális hálózattal, Transformer-modellel (DeBERTa-v3)

A szemantikus keresés (Semantic Search) a beágyazások közötti vektoros keresésre (Vector Search) épül, a BM25 pedig a szavak pontos egyezésére. A hibrid keresés lényege, hogy a két módszer pontszámai eltérő skálán mozognak, ezért fúzió előtt normalizálni kell őket. A DBSF (Distribution-Based Score Fusion) minden lista pontszámait a saját átlagával és szórásával normalizálja, majd összegzi, így nem kell fúziós súlyt beállítani. A cross-encoder reranker a kérdést és a szövegrészletet együtt olvassa, ezért pontosabb, de minden jelöltre külön lefut.

A KG2RAG kiindulásként kapcsolódó szövegrészeket keres (anchor), majd a gráfban közös entitások mentén bővíti a halmazt, végül bizonyítékláncokba rendezi és cross-encoderrel pontozza őket. A gráfot egy LLM építi few-shot prompttal, a szövegdarabokból kinyert tényhármasokból.

Az EfficientRAG az iteratív keresés LLM-hívásait két kis modellre cseréli. Az egyik (Labeler) megjelöli a releváns részeket, és eldönti, hogy elég-e már a bizonyíték. A másik (Filter) az eredeti kérdésből és az eddig összegyűjtött bizonyítékból fogalmazza meg a következő lépés keresőkérdését.

Három folyamatábra egymás mellett. Hibrid: BM25 és sűrű keresés, DBSF-fúzió, opcionális cross-encoder újrarendezés. Tudásgráf: anchor chunkok hibrid kereséssel, bővítés a gráf mentén, bizonyítékláncok, cross-encoder rangsor. Ágensalapú: keresés, Labeler és Filter körökben, amíg elég a bizonyíték.

Két dolgot érdemes tisztán látni, mert mindkét módszer a cikk adaptációja, nem pontos másolata. A KG2RAG-nál az anchorokat az eredeti dense keresés helyett a hibrid keresés adja: a gráf csak olyan entitásokig tud eljutni, amelyek az anchorban szerepelnek, és ebben a korpuszban a BM25 erősebb volt, mint bármelyik önálló beágyazás, így a gyenge első lépés az egész rendszert lehúzta volna. Az EfficientRAG szerzői pedig nem tették közzé a tanított modelleket, ezért a sajátunkat kellett betanítanunk. Ez mindössze 200 szintetikus láncon történt, vagyis nagyjából 450-szer kevesebb adaton, mint az eredeti cikkben. Kipróbáltuk az eredeti cikkben szereplő pretraining adatokkal való tanítást, majd az azt követő fine-tuningot, viszont ez a módszer jelentősen rosszabb eredményt adott, mintha csak a saját adatainkon tanítottuk volna.

Hogyan mértünk?

Minden módszer a keresés végén 20 szövegrészletet adott vissza. Ezeken számoltuk a keresési mutatókat, elsősorban az nDCG-t, amely azt jutalmazza, hogy a releváns részletek minél előrébb kerüljenek a listában. Az első 10 részletet egy checklist-kitöltő LLM-ügynök kapta meg, amelynek ezekből kellett válaszolnia, vagy ki kellett mondania, hogy a dokumentumokban nincs válasz. Ez egyfajta védőkorlát (guardrail) a hallucináció ellen. A válaszokat egy LLM-bíró értékelte helyesség, megalapozottság (faithfulness) és tartózkodás szempontjából. Rögzítettük a késleltetést és a költséget is.

Mivel mindössze 97 kérdésünk van, a különbségeket párosított bootstrap konfidenciaintervallummal vizsgáltuk. Ez a poszt csak azokat a különbségeket tekinti valósnak, amelyek intervalluma nem tartalmazza a nullát. A gyakorlatban nagyjából 0,03 nDCG alatt minden eltérés zajnak számít.

Eredmények

A hibrid keresés erőssége

Az első meglepetés, hogy a hat módszerből négy gyakorlatilag azonos szinten van a keresési minőségben: a BM25, a hibrid keresés, a cross-encoderes változat és a KG2RAG. Papíron a gráfalapú KG2RAG érte el a legmagasabb nDCG-t, a hibrid keresés követi, de a kettő közti különbség messze a zajon belül van.

Megbízhatóan csak három dolog látszik:

  • A dense keresés önmagában gyengébb a BM25-nél. A közbeszerzési szövegek tele vannak pontos azonosítókkal, cikkszámokkal, definiált fogalmakkal és számokkal. Ezeket a lexikai keresés pontosan megtalálja, a beágyazások viszont könnyen összemossák őket.

  • A hibrid keresés (DBSF) az egyetlen módszer, amely megbízhatóan jobb (minden esetben legalább egyenlő eredmény) a BM25-nél, bár a nyereség kicsi. A két jel kiegészíti egymást, és a fúzióhoz nem kell tanított komponens.

  • A tanított EfficientRAG megbízhatóan gyengébb a BM25-nél.

Két konfidenciaintervallum-diagram a BM25-höz mért különbségekről keresési minőségben (nDCG@20) és válaszhelyességben. Csak a Hybrid DBSF jobb, az EfficientRAG és a dense keresés gyengébb megbízhatóan; a többi intervallum átfedi a nullát.

A gráf nem talál több bizonyítékot

A KG2RAG ígérete, hogy a gráf mentén olyan szövegrészeket is megtalál, amelyeket a sima keresés elmulaszt. Az adataink szerint a gráf főleg átrendezi a találatokat: a találati rátája (recall) pontosan megegyezik a hibrid módszerével, vagyis nem talált több releváns szövegrészletet. A gráfban a második ugrás sem hozott többet, egy ugrás elég volt.

A tanított EfficientRAG gyors, de ebben a formában gyenge

Az EfficientRAG célja, hogy az LLM-alapú, iteratív keresés minőségét olcsón és gyorsan adja. A sebességgel nincs gond: lekérdezésenként másfél másodperc körül dolgozik, és futás közben nem kell API-hívás. A minősége viszont megbízhatóan elmarad a BM25-étől. Emellett kevesebb szövegrészletet ad vissza, mert leáll, amint elegendőnek ítéli a bizonyítékot, ezért a lefedettsége szerkezetileg alacsonyabb.

Fontos különbség, hogy a sebesség- és költségelőny architekturális, a minőségi hátrány viszont összefügg a nagyon kevés tanítóadattal. Ezért ebből nem az következik, hogy a tanított kis modellek általában rosszak, csak az, hogy ez a megvalósítás ennyi adattal nem versenyképes.

A válaszminőség laposabb

Végső soron nem a keresési rangsor számít, hanem az, hogy helyes és megalapozott-e a kitöltött checklist. Itt a kép laposabb: a cross-encoderes hibrid, a BM25 és a DBSF-hibrid névlegesen a legjobb, a gráfalapú módszer névlegesen kicsit gyengébb, de a BM25-höz képest egyik különbség sem megbízható, kivéve a tanított EfficientRAG-ét, amely gyengébb.

A megalapozottság mindegyik módszernél magas: a generátor ritkán lép túl a megadott szövegrészleteken. Ha a bizonyíték a kontextusban van, a hallucináció ebben a szűk feladatban ritka. A kritikus kérdés az, hogy a bizonyíték eljut-e oda.

Oszlopdiagram a válaszminőségről módszerenként: átlagos helyesség BM25 0,856, dense 0,799, Hybrid DBSF 0,851, Hybrid + cross-encoder 0,866, KG2RAG 0,814, EfficientRAG 0,763, mellette a teljesen helyes válaszok aránya.

A keresés felülről korlátozza a válasz minőségét

A módszerek összehasonlításán túl van egy általánosabb tanulság is. Amikor az összes szükséges szövegrészlet bekerült a generátornak átadott első tízbe, a válaszok átlagos helyessége nagyjából 0,90 volt. Ha csak néhány volt bent, 0,78 körül alakult, ha egy sem, akkor 0,68 körül. Az utolsó szám azt is mutatja, hogy a generátor gyakran tud válaszolni részleges vagy szomszédos kontextusból is, de a minőség egyértelműen a keresésen múlik.

Oszlopdiagram: az átlagos válaszhelyesség 0,91, ha minden szükséges részlet bekerült a kontextusba, 0,78, ha csak néhány, és 0,68, ha egy sem.

Hol erős a gráf, és hol nem?

A kérdéstípusok szerinti bontás árnyalja a képet:

  • A KG2RAG az egydokumentumos következtetésnél a legerősebb, ahol egyetlen dokumentum több, közös entitásokon át összekapcsolódó tényét kell összerakni. Itt a találati mutatója érezhetően magasabb, mint a BM25-é.

  • A dokumentumok közötti kérdéseken a leggyengébb: itt a válaszhelyessége alacsonyabb, mint a BM25-é. Valószínű ok, hogy a gráf az anchorok entitásaiból indul ki, a kérdéshez viszont több dokumentumban lévő részletek kellenek, amelyeket egyetlen anchor sem köt össze.

  • A keresés minősége minden módszernél romlik az egyszerű keresési kérdésektől a többugrásos felé haladva.

Hőtérkép a hat módszer keresési minőségéről és válaszhelyességéről kérdéstípusonként; a KG2RAG az egydokumentumos következtetésnél a legerősebb (0,91), a dokumentumok közötti kérdéseken a leggyengébb.

A költség: itt dől el a verseny

A minőségkülönbségek kicsik, a költségkülönbségek viszont nagyságrendekben mérhetők:

  • A hibrid keresés néhány tíz ezredmásodperc alatt válaszol, lekérdezésenként nincs API-költsége, csak egyszeri indexépítés kell hozzá.

  • A KG2RAG egyszeri gráfépítést igényel LLM-mel. A mi 1101 szövegdarabos korpuszunkon ez nagyjából 0,27 dollárt és nagyjából egy órát jelentett. Utána lekérdezésenként néhány másodperc a válaszidő, és új dokumentumoknál az építést meg kell ismételni.

  • A tanított EfficientRAG lekérdezésenként másfél másodperc körül dolgozik, és futás közben nem kell számolnunk API költséggel. A tanítóadat előállítása kevesebb mint egy dollárnyi API költség volt, de ehhez jön a modellek betanítása. A költség–minőség Pareto-frontot (azokat a módszereket, amelyeknél nincs egyszerre gyorsabb és jobb alternatíva) a mi adatainkon a BM25 és a hibrid keresés alkotja. Nagy dokumentumkészletnél és sok lekérdezésnél ez a skálázhatóság és pénzügyi megtérülés kérdése is.

Szórásdiagram a medián keresési késleltetés (logaritmikus skála) és az nDCG@20 összefüggéséről; a Pareto-frontot a BM25, a Hybrid DBSF és a KG2RAG alkotja, a jelölő mérete az egyszeri költséggel arányos.

Tanulságok

1. Kezdj hibrid kereséssel. A BM25 és a szemantikus keresés (vektoradatbázis, beágyazás) pontszám-fúziója az a megoldás, amelyet ebben a mezőnyben megbízhatóan nem sikerült legyőzni. A bevezetése klasszikus low-hanging fruit, és olcsón biztosít jó alapszintet. A fúzió módja kevésbé számít, mint az, hogy mindkét jel jelen legyen. Ráadásul átlátható is: mindig látszik, melyik keresőből melyik találat származik, ami a magyarázható MI (Explainable AI) szempontjából is előny.

2. A gráfot az erős első lépésre építsd, ne helyette. A KG2RAG hatékonyságát az első, anchorkereső lépés korlátozza. Egy tudásgráf (knowledge graph) csak annyit tud hozzátenni, amennyit az első lépés megtalált. A gráf akkor lehet érdemes, ha a kérdések egy dokumentumon belül több tény összekapcsolását igénylik, és az építési költség megtérül, például stabil, sokszor lekérdezett dokumentumkészletnél. Ahol folyamatosan érkeznek új dokumentumok, az újraépítés rontja a mérleget.

3. Egy módszert ne a saját cikke alapján válassz. Az EfficientRAG a cikkében LLM-szintű keresést ígér töredék költséggel. A mi adatainkon, a mi tanítóadatunkkal ez nem jött össze. A sebesség és az olcsó üzemeltetés valódi előny, de a minőséget a saját dokumentumaidon kell igazolni, mielőtt az ágensalapú vagy tanított megoldás mellett döntesz. Egy köztes, válogató réteg beépítése, ami a könnyű kérdéseket hibrid megoldással, a nehéz kérdéseket pedig ágensalapú kereséssel oldja meg, egy jó megoldást adhat, de ezt nem teszteltük.

4. Válaszszinten mérj, konfidenciaintervallummal. A keresési metrikák jó diagnosztikai eszközök, de a rendszert a végső checklist-minőség alapján kell kiválasztani. A kis különbségek könnyen félrevezetnek: a 0,03 nDCG alatti eltérés ezen a mintaméreten zaj. Érdemes a KPI-okat végponttól végpontig, a saját dokumentumokon mérni, és a szintetikus kérdések mellé valódi, szakértők által írt kérdéseket is gyűjteni. Ez az LLMOps-gyakorlat egyik alapja.

A döntést az alábbi táblázat foglalja össze.

Helyzet

Javaslat

Miért

Új rendszer, másodpercen belüli válaszidő

Hibrid (BM25 + szemantikus keresés, DBSF)

Gyors, lekérdezésenként nincs API-költség, megbízhatóan nem vertük meg

Tiszta, digitális dokumentumok, több tényt összekötő kérdések, stabil dokumentumkészlet

Hibrid, szükség esetén kiegészítve KG2RAG-gal

A gráf a következtetésekben erős, de a nyereség nem megbízható, és egyszeri építési költséggel jár

Nagy lekérdezésszám, stabil terület, van tanítóadat

Tanított Labeler és Filter, csak saját adaton végzett kiértékelés után

Gyors és futás közben ingyenes, de nálunk gyengébb volt a BM25-nél

Reranker vagy bármely tanított komponens

Mérd meg a saját mintán

A cross-encoder a válaszminőségben névlegesen a legjobb volt, a keresésben nem különbözött megbízhatóan a BM25-től

Mire figyelj: a vizsgálat korlátai

Szeretnénk őszinték lenni abban is, mit nem tudunk. A benchmark 97 kérdésből áll, ami kicsi, ezért az „azonos szintű" eredmények a különbség hiányát jelentik, nem bizonyítják az egyenértékűséget. A kérdések és a referenciaválaszok LLM-generáltak, és csak mintavételesen ellenőriztük őket. Az ilyen kérdések hajlamosak átvenni a forrásszöveg szókincsét, így egy éles rendszer teljesítménye alacsonyabb lehet. A válaszokat generáló modell és az értékelő bíró ugyanaz az LLM, a futtatások pedig egyszeri futások voltak, emberi címkékkel való kalibráció nélkül.

Konklúzió

A visszakeresés minősége a RAG-alapú checklist-automatizálás (auditfolyamatok, dokumentumellenőrzés) szűk keresztmetszete, és ezt valódi dokumentumokon kell mérni. A mi uniós közbeszerzési benchmarkunkon a gondosan felépített hibrid keresés bizonyult a legjobb kiindulópontnak, ami gyors, olcsó, és a drágább architektúrák sem előzték meg teljesítményben. A gráf célzottan, a megfelelő kérdéstípusra alkalmazva térülhet meg, a tanított ágensalapú keresésről pedig csak a saját adatokon végzett mérés után érdemes dönteni. Érdemes a megoldást emberi felügyelettel (human-in-the-loop) is kiegészíteni, különösen megfelelőségi ellenőrzésnél, ahol a felelős MI szempontjai is számítanak.

A DocAudit termékünk pontosan az AI-alapú dokumentumellenőrzésre és feldolgozásra készült, ezeket a tanulságokat alkalmaztuk a fejlesztés során.

Ha MI-ügynököt vagy RAG-alapú dokumentumfeldolgozó rendszert építenél, és szeretnéd a saját adataidon megmérni, melyik architektúra éri meg, vedd fel velünk a kapcsolatot.

Kiss Tamás

Senior AI Engineer

Tamás teljes AI-projektek technikai megvalósítását vezeti a tervezéstől az implementáción át a fejlesztői és ügyféloldali koordinációig, gyakorlati AI-képzésekkel támogatva a tudásátadást.

Kapcsolódó megoldások

Összes AI-megoldás

További cikkek

Összes cikk

Beszéljük át, mit jelent ez nálatok.

Közvetlenül a szakértőkkel beszélsz, nem a call centerrel.

Az első konzultáción megnézzük a helyzetedet, és megmondjuk, mi a jó első lépés.

Díjmentes első konzultáció, kötelezettség nélkül. Egy munkanapon belül válaszolunk. Így indul a közös munka · Adatkezelési tájékoztató

Sütibeállítások

Kategóriánként döntheted el, mihez járulsz hozzá. A szükséges sütik nélkül az oldal nem működne, ezért ezek mindig aktívak.

Adatkezelési tájékoztató