{"id":"eecf7a28-06bb-41e4-bd97-2e3f937ba663","entityType":"agent","slug":"crewai-leventetasy-jogi-agent-rag","name":"jogi-agent-rag","canonicalUrl":"https://www.xpersona.co/agent/crewai-leventetasy-jogi-agent-rag","canonicalPath":"/agent/crewai-leventetasy-jogi-agent-rag","generatedAt":"2026-10-09T16:55:45.078Z","source":"GITHUB_REPOS","claimStatus":"UNCLAIMED","verificationTier":"NONE","summary":{"evidence":{"source":"editorial-content","verified":true,"confidence":"high","updatedAt":"2026-10-09T01:10:41.362Z","emptyReason":null},"description":"Magyar jogi dokumentumokra specializált Multi-Agent RAG (Retrieval-Augmented Generation) rendszer CrewAI és LangChain alapokon. JogiAgent Crew – Multi-Agent RAG Architektúra Magyar Jogi Dokumentumokhoz $1 $1 $1 $1 $1 $1 $1 Ez a projekt egy autonóm, többágenses döntési és végrehajtási folyamatra épülő, nagydimenziós szemantikus kereső és jogi dokumentumelemző **RAG (Retrieval-Augmented Generation)** rendszer. A fejlesztés elsődleges célja komplex, strukturálatlan magyar és európai uniós jogi forrásszövegek feldolgozása, paragrafus-szintű index","descriptionLabel":"Technical summary","evidenceSummary":"Capability contract not published. No trust telemetry is available yet. 1 GitHub stars reported by the source. Last updated 10/9/2026.","installCommand":null,"sourceUrl":"https://github.com/LeventeTasy/jogi-agent-rag","homepage":null,"primaryLinks":[{"label":"View Source","url":"https://github.com/LeventeTasy/jogi-agent-rag","kind":"source"}],"safetyScore":66,"overallRank":39.6,"popularityScore":8,"trustScore":null,"claimedByName":null,"isOwner":false,"seoDescription":"Magyar jogi dokumentumokra specializált Multi-Agent RAG (Retrieval-Augmented Generation) rendszer CrewAI és LangChain alapokon. JogiAgent Crew – Multi-Agent RAG"},"coverage":{"evidence":{"source":"public-profile","verified":false,"confidence":"medium","updatedAt":"2026-10-09T01:10:41.362Z","emptyReason":null},"protocols":[{"protocol":"OPENCLEW","label":"OpenClaw","status":"self-declared","notes":"Declared in the public agent profile."}],"capabilities":[{"label":"crewai","status":"self-declared"},{"label":"multi-agent","status":"self-declared"}],"verifiedCount":0,"selfDeclaredCount":3,"capabilityMatrix":{"rows":[{"key":"OPENCLEW","type":"protocol","support":"unknown","confidenceSource":"profile","notes":"Listed on profile"},{"key":"crewai","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"},{"key":"multi-agent","type":"capability","support":"supported","confidenceSource":"profile","notes":"Declared in agent profile metadata"}],"flattenedTokens":"protocol:OPENCLEW|unknown|profile capability:crewai|supported|profile capability:multi-agent|supported|profile"}},"adoption":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"medium","updatedAt":"2026-10-09T01:10:41.362Z","emptyReason":null},"stars":1,"forks":0,"downloads":null,"packageName":null,"latestVersion":null,"tractionLabel":"1 GitHub stars"},"release":{"evidence":{"source":"agent-index","verified":false,"confidence":"medium","updatedAt":"2026-10-09T01:10:41.357Z","emptyReason":null},"lastUpdatedAt":"2026-10-09T01:10:41.362Z","lastCrawledAt":"2026-10-09T01:10:41.357Z","lastIndexedAt":null,"nextCrawlAt":"2026-10-16T01:10:41.357Z","lastVerifiedAt":null,"highlights":[]},"execution":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No published capability contract is available yet."},"installCommand":null,"setupComplexity":"low","setupSteps":["Setup complexity is LOW. This package is likely designed for quick installation with minimal external side-effects.","Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data."],"contract":{"contractStatus":"missing","authModes":[],"requires":[],"forbidden":[],"supportsMcp":false,"supportsA2a":false,"supportsStreaming":false,"inputSchemaRef":null,"outputSchemaRef":null,"dataRegion":null,"contractUpdatedAt":null,"sourceUpdatedAt":null,"freshnessSeconds":null},"invocationGuide":{"preferredApi":{"snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/trust"},"curlExamples":["curl -s \"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/snapshot\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/contract\"","curl -s \"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/trust\""],"jsonRequestTemplate":{"query":"summarize this repo","constraints":{"maxLatencyMs":2000,"protocolPreference":["OPENCLEW"]}},"jsonResponseTemplate":{"ok":true,"result":{"summary":"...","confidence":0.9},"meta":{"source":"GITHUB_REPOS","generatedAt":"2026-10-09T16:55:45.078Z"}},"retryPolicy":{"maxAttempts":3,"backoffMs":[500,1500,3500],"retryableConditions":["HTTP_429","HTTP_503","NETWORK_TIMEOUT"]}},"endpoints":{"dossierUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/dossier","snapshotUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/snapshot","contractUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/contract","trustUrl":"https://www.xpersona.co/api/v1/agents/crewai-leventetasy-jogi-agent-rag/trust"}},"reliability":{"evidence":{"source":"runtime-metrics","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No trust, reliability, or runtime telemetry is available."},"trust":{"status":"unavailable","handshakeStatus":"UNKNOWN","verificationFreshnessHours":null,"reputationScore":null,"p95LatencyMs":null,"successRate30d":null,"fallbackRate":null,"attempts30d":null,"trustUpdatedAt":null,"trustConfidence":"unknown","sourceUpdatedAt":null,"freshnessSeconds":null},"decisionGuardrails":{"doNotUseIf":["Contract metadata is missing or unavailable for deterministic execution."],"safeUseWhen":[],"riskFlags":["missing_or_unavailable_contract","trust_data_unavailable","schema_references_missing"],"operationalConfidence":"low"},"executionMetrics":{"observedLatencyMsP50":null,"observedLatencyMsP95":null,"estimatedCostUsd":null,"uptime30d":null,"rateLimitRpm":null,"rateLimitBurst":null,"lastVerifiedAt":null,"verificationSource":null},"runtimeMetrics":{"successRate":null,"avgLatencyMs":null,"avgCostUsd":null,"hallucinationRate":null,"retryRate":null,"disputeRate":null,"p50Latency":null,"p95Latency":null,"lastUpdated":null}},"benchmarks":{"evidence":{"source":"no-benchmark-data","verified":false,"confidence":"low","updatedAt":null,"emptyReason":"No benchmark suites or observed failure patterns are available."},"suites":[],"failurePatterns":[]},"artifacts":{"evidence":{"source":"GITHUB REPOS","verified":false,"confidence":"high","updatedAt":"2026-10-09T01:10:41.362Z","emptyReason":null},"readme":"# JogiAgent Crew – Multi-Agent RAG Architektúra Magyar Jogi Dokumentumokhoz\n\n[![Python 3.10+](https://img.shields.io/badge/python-3.10+-blue.svg)](https://www.python.org/)\n[![CrewAI](https://img.shields.io/badge/CrewAI-1.14.4-orange.svg)](https://crewai.com)\n[![LangChain](https://img.shields.io/badge/LangChain-Community-green.svg)](https://langchain.com)\n[![FastAPI](https://img.shields.io/badge/FastAPI-0.141+-009688.svg)](https://fastapi.tiangolo.com/)\n[![ChromaDB](https://img.shields.io/badge/ChromaDB-Local--Vectorstore-blueviolet.svg)](https://www.trychroma.com/)\n[![DeepEval](https://img.shields.io/badge/DeepEval-LLM--Evaluation-red.svg)](https://confident-ai.com/)\n[![Firebase Firestore](https://img.shields.io/badge/Firebase-Firestore-FFA611.svg)](https://firebase.google.com/)\n\nEz a projekt egy autonóm, többágenses döntési és végrehajtási folyamatra épülő, nagydimenziós szemantikus kereső és jogi dokumentumelemző **RAG (Retrieval-Augmented Generation)** rendszer. A fejlesztés elsődleges célja komplex, strukturálatlan magyar és európai uniós jogi forrásszövegek feldolgozása, paragrafus-szintű indexelése, valamint a jogi kontextushoz szigorúan illeszkedő, hallucinációmentes válaszok generálása.\n\nA rendszer konzolos interaktív felületen (CLI) és éles környezetbe illeszthető, biztonságos **FastAPI REST API** mikroszolgáltatásként is üzemeltethető.\n\n### Támogatott jogforrások\n*   **Polgári Törvénykönyv (Ptk.)** (`2013_V_PTK.pdf`)\n*   **Személyi Jövedelemadó törvény (SZJA)** (`1995_CXVII_SZJA_TVK.pdf`)\n*   **GDPR szabályozás (Általános Adatvédelmi Rendelet)** (`GDPR_2016.pdf`)\n*   **Munka Törvénykönyve (Mt.)** (`edutax_mt2026_web.pdf`)\n\n---\n\n## Rendszerarchitektúra és Munkafolyamat\n\nA rendszer többrétegű vezérlési architektúrát alkalmaz: az intelligens kérés-irányítástól (`RouterFlow`) az opcionális tényállás-tisztázáson (`Deep Analysis`) át a többágenses RAG kutató és auditáló munkafolyamatig (`JogiFlow`).\n\n```mermaid\ngraph TD\n    User([Felhasználó]) --> Input[Felhasználói Kérdés + Beszélgetési Előzmény]\n    Input --> Router{RouterFlow: Szándék-osztályozó}\n    \n    %% Nem jogi ág\n    Router -->|NOT_LEGAL| Gatekeeper[Kapuőr LLM: Udvarias elutasítás / üdvözlés]\n    Gatekeeper --> LogNL[(Firebase 'nl_questions' / Excel Log)]\n    Gatekeeper --> OutNL([Nem-jogi Válasz])\n\n    %% Jogi ág\n    Router -->|LEGAL| DA_Check{Deep Analysis engedélyezve?}\n    \n    DA_Check -->|Igen| DeepAnalyst[Jogi Mélyelemző Ágens]\n    DeepAnalyst --> DA_Prompt{Hiányos a tényállás?}\n    DA_Prompt -->|Igen| DA_Questions[Tisztázó kérdéssor a felhasználónak]\n    DA_Questions --> UserClarify[Felhasználó válaszai]\n    UserClarify --> JogiFlow\n    DA_Prompt -->|Nem / OK| JogiFlow\n    DA_Check -->|Nem| JogiFlow[JogiFlow Indítása]\n\n    %% JogiFlow alrendszer\n    subgraph JogiFlow_Execution [JogiFlow: Többágenses Munkafolyamat]\n        Strategist[1. Jogi Stratégiai Tervező\\n2-4 specifikus rész-kérdés generálása]\n        Strategist --> Researcher[2. Szenior Jogi Adatbányász\\nIteratív keresés ChromaDB-ben k=10]\n        Researcher --> Grounding[3. Szövegellenőrző Auditor\\nStatute Grounding, bekezdés & idézet szűrés]\n        Grounding --> Advisor[4. Jogi Megfelelőségi Tanácsadó\\nDeduktív indokolás + Kockázati szűrés / Risk Scan]\n        Advisor --> Verifier[5. Jogi Tényellenőrző / Fact-Checker]\n        \n        Verifier --> FeedbackCheck{Megfelelő a válasz?}\n        FeedbackCheck -->|HIBA ÉSZLELVE!| CorrectionLoop[Mini-Crew Korrekciós Hurok\\nTanácsadó javítás max. 2 próbálkozásig]\n        CorrectionLoop --> Verifier\n        FeedbackCheck -->|SIKER, ELLENŐRZÉS BEFEJEZVE| Approved[Jóváhagyott Szakvélemény]\n    end\n\n    Approved --> CleanOutput[Jogi hivatkozások & RAG chunkok leválogatása]\n    CleanOutput --> CloudStore[(Firebase Firestore 'conversations' & 'messages')]\n    CleanOutput --> LocalLog[(Helyi 'logs/log.xlsx')]\n    CleanOutput --> FinalResponse([Végleges Jogi Válasz + Metaadatok])\n```\n\n---\n\n## Főbb Komponensek és Szerepkörök\n\n### 1. Intelligens Kérés-Irányító Kapuőr (`RouterFlow` – `src/jogi_agent/router.py`)\nA rendszer legelső védelmi vonala. Mielőtt bármilyen erőforrás-igényes RAG keresés lefutna, a Router bináris osztályozást végez a korábbi beszélgetési kontextus figyelembevételével:\n*   **`LEGAL`**: A kérdés jogi jellegű, jogszabályokhoz, munkaviszonyhoz, szerződésekhez vagy hatósági ügyekhez kapcsolódik. Továbbítja a vezérlést a `JogiFlow`-nak.\n*   **`NOT_LEGAL`**: Csevegés, üdvözlés, elköszönés, recepteket/időjárást firtató vagy értelmetlen kérdések esetén azonnal professzionális, határozott választ ad. Rögzíti az eseményt a Firebase `nl_questions` gyűjteményébe anélkül, hogy a RAG motort terhelné.\n\n### 2. Jogi Mélyelemző Modul (`Deep Analysis` – `src/jogi_agent/utils.py`)\nÖsszetett jogi élethelyzeteknél a felhasználók gyakran kihagynak kritikus körülményeket (pl. szerződés pontos típusa, munkaviszony vagy megbízás jellege, felmondás indoka).\n*   **Vezérlés és futtatás**: A folyamat vezérlését a `src/jogi_agent/utils.py` modulban található `init_deep_analysis()` és `run_deep_analysis()` függvények valósítják meg.\n    *   A szerepköri leírásokat és promptokat a `config/deep_analyst_agent.yaml` és `config/deep_analysis_task.yaml` konfigurációs fájlok tárolják, amelyekből a segédfüggvény dinamikusan felépíti a CrewAI `Agent` és `Task` példányokat.\n    *   **CLI felületen**: A `src/jogi_agent/main.py` `run()` ciklusa felügyeli a folyamatot. Ha a `config.ini`-ben a `deep_analysis_enabled = True`, akkor a fő RAG folyamat előtt lefut a mélyelemző, kiírja a célzott tisztázó kérdéseket a konzolra, bekéri a felhasználó kiegészítő válaszait (`da_answers`), majd ezeket struktúráltan továbbadja a `RouterFlow` és a `JogiFlow` stratégiai tervezőjének.\n    *   **REST API felületen**: A `src/api/api_main.py` `/api/v1/askDeepAnalysis` végpontja hívja meg ugyanezt a vezérlő logikát, lehetővé téve a frontend alkalmazások számára a kétlépcsős, interaktív tényállás-tisztázást.\n*   **Aktiválás**: A `src/jogi_agent/config/config.ini` fájlban a `deep_analysis_enabled` logikai kapcsolóval engedélyezhető vagy tiltható le.\n\n### 3. Többágenses Jogi Végrehajtó Rendszer (`JogiFlow` & `JogiAgent`)\nA tényleges elemzést egy szigorúan koordinált ágenscsapat végzi:\n1.  **Jogi Stratégiai Tervező (`jogi_strategist`)**: Strukturálja a kérdést, és 2–4 egymástól független, RAG-keresésre optimalizált rész-kérdésre bontja a releváns jogterületek szerint (Ptk., GDPR, Mt., SZJA).\n2.  **Szenior Jogi Adatbányász (`jogi_researcher`)**: Minden rész-kérdésre iteratív módon külön-külön lefuttatja a RAG eszközt (`custom_tool.py`), és nyers, strukturált JSON formátumba rendezi a találatokat.\n3.  **Jogszabályi Megalapozottsági Auditor (`jogi_grounding_verifier`)**: Végrehajtja a *Statute Grounding* folyamatot: azonosítja a konkrét bekezdéseket, pontokat, kiszűri a szöveges zajt, és összeállítja a hitelesített szó szerinti idézeteket.\n4.  **Vezető Jogi Megfelelőségi Tanácsadó (`jogi_advisor`)**: Deduktív logikával kidolgozza a hivatalos szakvéleményt, lefolytatja a **Kockázati Szűrést (Risk Scan)** az abszolút kijelentések ellenőrzésére és a jogi kivételek feltárására.\n5.  **Jogi Tényellenőrző (`jogi_fact_checker`)**: Mikroszintű összevetést végez a megfogalmazott szakvélemény és a kinyert RAG törvényszövegek között. Hallucináció vagy rossz paragrafusszám esetén `HIBA ÉSZLELVE!` jelzéssel azonnal aktiválja a **korrekciós hurkot (Correction Loop)**, amely legfeljebb 2 alkalommal automatikusan újrageneráltatja a választ.\n\n### 4. Jogi Szövegekre Hangolt RAG Pipeline (`src/rag.py` & `src/jogi_agent/tools/custom_tool.py`)\nA hagyományos, karakterszám-alapú darabolás szétvágja a jogi normákat. Emiatt a rendszer egyedi szabályrendszert használ:\n*   **Strukturális Regex Chunking**: A dokumentumok feldolgozása a jogszabályi hierarchia határain történik (pl. `\\d+\\.\\s*§`, `\\d+:\\d+\\.\\s*§` vagy `\\d+\\.\\s*[Cc]ikk`), így egy chunk pontosan egy jogi egységet alkot.\n*   **Biztonsági Méretkorlát**: A 1500 karakternél hosszabb bekezdések vágásra kerülnek az LLM kontextus-stabilitásának megőrzése érdekében.\n*   **Vektoradatbázis és Hasonlóság**: Helyi ChromaDB tárolás koszinusz-távolsággal és Google `gemini-embedding-001` beágyazásokkal.\n\n### 5. Kettős Naplózás és Felhő Integráció\n*   **Lokális Analitika (`logs/log.xlsx`)**: Minden kérdéshez elmenti a kérdésazonosítót, a választ, a RAG chunkokat, a futásidőt, a felhasznált tokeneket (összes, prompt, kiegészítés), valamint az egyes ágensek részeredményeit.\n*   **Firebase Firestore**: Felhő alapú szinkronizáció a webes frontendek kiszolgálására (`conversations`, `messages`, `comments`, `nl_questions` kollekciók).\n\n---\n\n## Modell-összehasonlítás és Teszteredmények\n\nA rendszer pontosságát, megbízhatóságát és hatékonyságát a **DeepEval** keretrendszerrel mértük fel, független bíráló LLM (Azure OpenAI `gpt-5-mini`) segítségével.\n\n> [!IMPORTANT]\n> **A tesztek reprezentatív mintán, 25 azonos kérdésen futottak le az alábbi összetételben:**\n> *   Jogforrásonként (Mt., GDPR, Ptk., SZJA) **3 könnyű / alapvető** kérdés (összesen 12 db),\n> *   Jogforrásonként **2 nehéz, speciális kivételekre fókuszáló** kérdés (összesen 8 db),\n> *   **5 darab komplex, kombinált kérdés**, amelyek párhuzamosan több jogterület (pl. Munkajog ÉS Adatvédelem) összehangolt vizsgálatát igénylik.\n\nA vizsgálat során 6 különböző architektúrális felépítést hasonlítottunk össze:\n\n| Metrika | Base Model (5 ágens Verifier-rel) | Base Model (Verifier nélkül) | Unified Model (Researcher + Grounding) Verifier-rel | Unified Model (2-3) Verifier nélkül | Unified Model 1-3 Verifier nélkül | Unified Model 2-4 Verifier nélkül *(Aktív beállítás)* |\n| :--- | :---: | :---: | :---: | :---: | :---: | :---: |\n| **Faithfulness (Tényhűség)** | 0.9720 (97.2%) | 0.9853 (98.5%) | 0.9860 (98.6%) | **0.9910 (99.1%)** | 0.9896 (99.0%) | 0.9822 (98.2%) |\n| **Hallucinációs Arány** | 2.80% | 1.47% | 1.40% | **0.90%** | 1.04% | 1.78% |\n| **Answer Relevancy (Válasz-relevancia)** | 0.9872 (98.7%) | 0.9623 (96.2%) | 0.9814 (98.1%) | 0.9806 (98.1%) | **0.9874 (98.7%)** | 0.9624 (96.2%) |\n| **Context Relevancy (Kontextus-relevancia)**| 0.9667 (96.7%) | 0.9087 (90.9%) | 0.8847 (88.5%) | **0.9733 (97.3%)** | 0.9200 (92.0%) | 0.9127 (91.3%) |\n| **Átlagos Tokenfogyasztás** | 16 870 token | **10 250 token** | 16 484 token | 10 966 token | 12 224 token | 12 087 token |\n| **Átlagos Futási Idő (Runtime)** | 23.34 s | 18.27 s | 20.14 s | 16.37 s | 19.13 s | **16.32 s** |\n| **Verifier lefutások száma (25 kérdés alatt)**| 6 alkalom | – | 3 alkalom | – | – | – |\n\n### Főbb Következtetések és Tanulságok\n1.  **Ablation eredmények**: A kutató és a szövegellenőrző ágens összevonása (`Unified Model 2-3 without Verifier`) érte el a legmagasabb tényhűséget (**99.1%**) és a legalacsonyabb hallucinációs arányt (**0.9%**), miközben a válaszidő **30%-kal csökkent** a bázismodellhez képest.\n2.  **A Verifier szerepe és költsége**: A dedikált Verifier ágens hasznos a tárgyi tévedések kiszűrésére, azonban a visszacsatolási hurok miatt jelentősen megnöveli a tokenfelhasználást (~16.8k token) és a válaszidőt (23.3s). \n3.  **Aktív architektúra**: A jelenleg élesített összevont konfiguráció (`Unified Model 2-4`) a leggyorsabb átlagos futásidőt (**16.32 mp**) és alacsony tokenfogyasztást nyújt kiegyensúlyozott, 98.2%-os jogi pontosság mellett.\n\n---\n\n## Projektstruktúra\n\n```\njogi-agent-rag/\n├── chroma_db/                          # Helyi vektoros adatbázis (indexelt jogszabályok)\n├── logs/                               # Rendszernaplók könyvtára\n│   ├── generate_log.py                 # Új üres log.xlsx létrehozása\n│   └── log.xlsx                        # Részletes futási analitika és telemetria\n├── pdf/                                # Bemeneti PDF forrásdokumentumok (Ptk, Mt, GDPR, SZJA)\n├── src/                                # Alkalmazás forráskódja\n│   ├── api/                            # REST API mikroszolgáltatás\n│   │   ├── api_main.py                 # FastAPI alkalmazás, hitelesítés és végpontok\n│   │   └── report.md                   # Generált kimeneti sablon\n│   ├── jogi_agent/                     # CrewAI ágensek és folyamatvezérlés\n│   │   ├── config/                     # YAML és INI konfigurációs állományok\n│   │   │   ├── agents.yaml             # Aktív ágens szerepkörök és promptok\n│   │   │   ├── agents_compare.yaml     # Kísérleti és összevont ágens-konfigurációk\n│   │   │   ├── config.ini              # Rendszerszintű beállítások (Verbose, Deep Analysis)\n│   │   │   ├── deep_analyst_agent.yaml # Mélyelemző ágens definíciója\n│   │   │   ├── deep_analysis_task.yaml # Mélyelemző feladat leírása\n│   │   │   └── tasks.yaml              # Jogi feladatok leírása és várt kimenetei\n│   │   ├── tools/                      # Ágensek által használt egyedi eszközök\n│   │   │   ├── __init__.py\n│   │   │   └── custom_tool.py          # RAG keresőeszköz a ChromaDB lekérdezéséhez\n│   │   ├── __init__.py\n│   │   ├── crew.py                     # CrewAI ágensek és feladatok deklarációja\n│   │   ├── flow.py                     # JogiFlow (korrekciós hurok és állapotkezelés)\n│   │   ├── main.py                     # CLI belépési pont és teszt futtató\n│   │   ├── router.py                   # RouterFlow (bináris intent-osztályozás és kapuőr)\n│   │   └── utils.py                    # Segédfüggvények (Firebase, konfiguráció, előzmények)\n│   ├── create_config.py                # Alapértelmezett config.ini generátor szkript\n│   └── rag.py                          # RAG pipeline, chunking logika és ChromaDB építés\n├── test/                               # Tesztelési és kiértékelési modul\n│   ├── datasets/                       # Kérdéskészletek (könnyű, nehéz, kombinált)\n│   │   ├── generated_test_questions.xlsx\n│   │   ├── model_comparison/           # Összehasonlító tesztkérdések CSV állománya\n│   │   └── test_questions.xlsx\n│   ├── results/                        # Rögzített teszteredmények\n│   │   ├── model_comparison/           # Az egyes architektúrák kimenetei és comparison.xlsx\n│   │   │   ├── answered_questions_*.csv\n│   │   │   └── comparison.xlsx         # A 6 architektúra összehasonlító benchmark táblázata\n│   │   ├── answered_questions.xlsx\n│   │   └── answered_questions_rag.xlsx\n│   └── scripts/                        # Automata tesztelő és kiértékelő szkriptek\n│       ├── evaluation.py               # Eredmények statisztikai összehasonlítása\n│       ├── generate_xlsx.py            # Automatikus szintetikus kérdésgenerálás ChromaDB-ből\n│       ├── run_deepeval_test.py        # DeepEval metrikák mérése (Faithfulness, Relevancy)\n│       └── run_model.py                # Modellek kötegelt futtatása adatkészleten\n├── .env.example                        # Környezeti változók sablonja\n├── .gitignore                          # Verziókezelésből kizárt fájlok\n├── pyproject.toml                      # Függőségek és futtató scriptek definíciója\n├── report.md                           # Legutóbb generált szakvélemény\n└── uv.lock                             # Függőség-zárolási állomány\n```\n\n---\n\n## Telepítés és Konfiguráció\n\n### Előfeltételek\n*   **Python**: `>= 3.10` és `< 3.14` közötti verzió.\n*   **Csomagkezelő**: Javasolt az [Astral UV](https://docs.astral.sh/uv/) használata.\n\n### 1. Függőségek telepítése\n\n```bash\n# Függőségek szinkronizálása és virtuális környezet létrehozása:\nuv sync\n\n# Virtuális környezet aktiválása Windows alatt:\n.venv\\Scripts\\activate\n# Linux / macOS alatt:\n# source .venv/bin/activate\n```\n\n### 2. Környezeti változók beállítása\n\nMásolja le a `.env.example` fájlt `.env` néven:\n```bash\ncp .env.example .env\n```\n\nTöltse ki a szükséges értékeket a `.env` fájlban:\n```env\n# Google Gemini API beállítások (Fő LLM és RAG Beágyazás)\nGOOGLE_API_KEY=az-on-google-api-kulcsa\nMODEL=gemini/gemini-3.1-flash-lite\nEMBEDDINGS_GOOGLE_GENERATIVE_AI_MODEL_NAME=gemini-embedding-001\n\n# CrewAI beállítások\nCREWAI_MAX_RPM=10\nCREWAI_TRACING_ENABLED=false\n\n# REST API biztonság\nFASTAPI_API_SECRET=egy-biztonsagos-titkos-kulcs\n\n# Firebase Firestore (Base64 kódolt JSON service account kulcs)\nFIREBASE_CREDENTIALS_BASE64=aW5pdGlhbGl6ZV9maXJlYmFzZV9jcmVkZW50aWFscw==\n\n# DeepEval és Tesztelési környezet (opcionális, csak a test/ futtatásához)\nOPENAI_API_KEY=az-on-openai-kulcsa\nBASE_URL=az-on-azure-vagy-openai-vegpontja\n```\n\n### 3. Rendszerbeállítások (`config.ini`)\nA `src/jogi_agent/config/config.ini` fájlban szabályozható a részletes konzolnaplózás és a mélyelemzés:\n```ini\n[crewai]\nverbose_enabled = True\ndeep_analysis_enabled = False\n```\n\n---\n\n## Futtatás és Használat\n\n### 1. Interaktív Jogi Asszisztens (CLI)\nA konzolos felületen közvetlenül beszélgethet a rendszerrel. A kilépéshez írja be a `break` szót.\n\n```bash\n# Indítás CrewAI CLI paranccsal:\ncrewai run\n\n# Indítás UV scripttel:\nuv run run_crew\n\n# Vagy közvetlen Python hívással:\npython src/jogi_agent/main.py\n```\n\nHa a `config.ini`-ben a `deep_analysis_enabled = True`, a rendszer a kérdés feltevése után automatikusan felteszi a tisztázó kérdéseit, amelyekre a válaszokat megadva indíthatja el a jogi elemzést.\n\n### 2. REST API Szerver Indítása (FastAPI)\nÉles és webes környezethez a FastAPI kiszolgáló indítható:\n\n```bash\nuvicorn src.api.api_main:app --host 0.0.0.0 --port 8000 --reload\n```\n\n#### Főbb API Végpontok:\n*   `GET /health` – Rendszer állapotának ellenőrzése.\n*   `POST /api/v1/ask` – Jogi kérdés feldolgozása.\n    *   *Fejléc*: `Authorization: Bearer <FASTAPI_API_SECRET>`\n    *   *Body*:\n        ```json\n        {\n          \"question\": \"Felmondhat-e a munkáltató keresőképtelenség ideje alatt?\",\n          \"history\": [],\n          \"da_questions\": \"\",\n          \"da_answers\": \"\",\n          \"username\": \"User_1\",\n          \"chatID\": \"\",\n          \"questionNumber\": \"1\"\n        }\n        ```\n*   `POST /api/v1/askDeepAnalysis` – Tisztázó kérdések generálása hiányos szituációkhoz.\n*   `POST /api/v1/comment` – Felhasználói visszajelzés rögzítése Firestore-ba (`like` / `dislike` és szöveges megjegyzés).\n\n### 3. Vektoradatbázis Építése és Frissítése\nHa új dokumentumokat helyez el a `pdf/` mappában, újra kell építeni a helyi ChromaDB indexet:\n\n```bash\npython -c \"from src.rag import build_rag; build_rag()\"\n```\n\n### 4. Tesztelés és DeepEval Benchmark Futtatása\n\nA tesztelést, a kérdések megválaszolását és a modellek kiértékelését a `test/scripts/` könyvtárban található automatizált szkriptek végzik:\n\n```bash\n# 1. Kérdések megválaszolása és válaszok/metrikák rögzítése CSV-be (Agent vagy RAG módban):\npython test/scripts/run_model.py\n\n# 2. DeepEval metrikák (Faithfulness, Relevancy) automatikus mérése LLM judge modellel:\npython test/scripts/run_deepeval_test.py\n\n# 3. Két modellkísérlet vagy architektúra-változat statisztikai összehasonlítása:\npython test/scripts/evaluation.py\n\n# Opcionális: Új szintetikus tesztkérdések generálása a ChromaDB-ben indexelt jogi chunkokból:\npython test/scripts/generate_xlsx.py\n```\n\n---\n\n## Tesztkérdés Példák\n\nA rendszer az alábbi komplex szituációkon és határeseteken lett validálva:\n1.  **GDPR**: *„Az adathordozhatósághoz való jog minden adatkezelési jogalap esetén érvényesül?”* (Kivételek és jogalapok szűrése)\n2.  **Mt. + GDPR interakció**: *„A munkavállaló hozzájárulása elegendő jogalap-e minden munkaviszonnyal kapcsolatos adatkezeléshez?”* (Hierarchikus és kényszerhelyzeti adatkezelés)\n3.  **Ptk. szerződéses felelősség**: *„Kizárható-e érvényesen a szándékosan okozott szerződésszegésért való felelősség?”* (Kógens normák vizsgálata)\n4.  **Kombinált határeset**: *„Ha egy munkavállaló felmond a felmondási idő alatt, hogyan adózik a ki nem adott szabadság megváltása?”* (Mt. és SZJA együttes értelmezése)\n\n---\n\n## Jogi Nyilatkozat\nEz a szoftver kutatási és oktatási célból készült. A rendszer által szolgáltatott válaszok mesterséges intelligencia által generált tájékoztató jellegű összefoglalók, és **nem minősülnek hivatalos jogi tanácsadásnak**, sem ügyvédi képviseletnek.\n","readmeExcerpt":"JogiAgent Crew – Multi-Agent RAG Architektúra Magyar Jogi Dokumentumokhoz $1 $1 $1 $1 $1 $1 $1 Ez a projekt egy autonóm, többágenses döntési és végrehajtási folyamatra épülő, nagydimenziós szemantikus kereső és jogi dokumentumelemző **RAG (Retrieval-Augmented Generation)** rendszer. A fejlesztés elsődleges célja komplex, strukturálatlan magyar és európai uniós jogi forrásszövegek feldolgozása, paragrafus-szintű index","codeSnippets":[],"executableExamples":[{"language":"mermaid","snippet":"graph TD\n    User([Felhasználó]) --> Input[Felhasználói Kérdés + Beszélgetési Előzmény]\n    Input --> Router{RouterFlow: Szándék-osztályozó}\n    \n    %% Nem jogi ág\n    Router -->|NOT_LEGAL| Gatekeeper[Kapuőr LLM: Udvarias elutasítás / üdvözlés]\n    Gatekeeper --> LogNL[(Firebase 'nl_questions' / Excel Log)]\n    Gatekeeper --> OutNL([Nem-jogi Válasz])\n\n    %% Jogi ág\n    Router -->|LEGAL| DA_Check{Deep Analysis engedélyezve?}\n    \n    DA_Check -->|Igen| DeepAnalyst[Jogi Mélyelemző Ágens]\n    DeepAnalyst --> DA_Prompt{Hiányos a tényállás?}\n    DA_Prompt -->|Igen| DA_Questions[Tisztázó kérdéssor a felhasználónak]\n    DA_Questions --> UserClarify[Felhasználó válaszai]\n    UserClarify --> JogiFlow\n    DA_Prompt -->|Nem / OK| JogiFlow\n    DA_Check -->|Nem| JogiFlow[JogiFlow Indítása]\n\n    %% JogiFlow alrendszer\n    subgraph JogiFlow_Execution [JogiFlow: Többágenses Munkafolyamat]\n        Strategist[1. Jogi Stratégiai Tervező\\n2-4 specifikus rész-kérdés generálása]\n        Strategist --> Researcher[2. Szenior Jogi Adatbányász\\nIteratív keresés ChromaDB-ben k=10]\n        Researcher --> Grounding[3. Szövegellenőrző Auditor\\nStatute Grounding, bekezdés & idézet szűrés]\n        Grounding --> Advisor[4. Jogi Megfelelőségi Tanácsadó\\nDeduktív indokolás + Kockázati szűrés / Risk Scan]\n        Advisor --> Verifier[5. Jogi Tényellenőrző / Fact-Checker]\n        \n        Verifier --> FeedbackCheck{Megfelelő a válasz?}\n        FeedbackCheck -->|HIBA ÉSZLELVE!| CorrectionLoop[Mini-Crew Korrekciós Hurok\\nTanácsadó javítás max. 2 próbálkozásig]\n        CorrectionLoop --> Verifier\n        FeedbackCheck -->|SIKER, ELLENŐRZÉS BEFEJEZVE| Approved[Jóváhagyott Szakvélemény]\n    end\n\n    Approved --> CleanOutput[Jogi hivatkozások & RAG chunkok leválogatása]\n    CleanOutput --> CloudStore[(Firebase Firestore 'conversations' & 'messages')]\n    CleanOutput --> LocalLog[(Helyi 'logs/log.xlsx')]\n    CleanOutput --> FinalResponse([Végleges Jogi Válasz + Metaadatok])"},{"language":"text","snippet":"jogi-agent-rag/\n├── chroma_db/                          # Helyi vektoros adatbázis (indexelt jogszabályok)\n├── logs/                               # Rendszernaplók könyvtára\n│   ├── generate_log.py                 # Új üres log.xlsx létrehozása\n│   └── log.xlsx                        # Részletes futási analitika és telemetria\n├── pdf/                                # Bemeneti PDF forrásdokumentumok (Ptk, Mt, GDPR, SZJA)\n├── src/                                # Alkalmazás forráskódja\n│   ├── api/                            # REST API mikroszolgáltatás\n│   │   ├── api_main.py                 # FastAPI alkalmazás, hitelesítés és végpontok\n│   │   └── report.md                   # Generált kimeneti sablon\n│   ├── jogi_agent/                     # CrewAI ágensek és folyamatvezérlés\n│   │   ├── config/                     # YAML és INI konfigurációs állományok\n│   │   │   ├── agents.yaml             # Aktív ágens szerepkörök és promptok\n│   │   │   ├── agents_compare.yaml     # Kísérleti és összevont ágens-konfigurációk\n│   │   │   ├── config.ini              # Rendszerszintű beállítások (Verbose, Deep Analysis)\n│   │   │   ├── deep_analyst_agent.yaml # Mélyelemző ágens definíciója\n│   │   │   ├── deep_analysis_task.yaml # Mélyelemző feladat leírása\n│   │   │   └── tasks.yaml              # Jogi feladatok leírása és várt kimenetei\n│   │   ├── tools/                      # Ágensek által használt egyedi eszközök\n│   │   │   ├── __init__.py\n│   │   │   └── custom_tool.py          # RAG keresőeszköz a ChromaDB lekérdezéséhez\n│   │   ├── __init__.py\n│   │   ├── crew.py                     # CrewAI ágensek és feladatok deklarációja\n│   │   ├── flow.py                     # JogiFlow (korrekciós hurok és állapotkezelés)\n│   │   ├── main.py                     # CLI belépési pont és teszt futtató\n│   │   ├── router.py                   # RouterFlow (bináris intent-osztályozás és kapuőr)\n│   │   └── utils.py                    # Segédfüggvények (Firebase, konfiguráció, előzmények)"},{"language":"bash","snippet":"# Függőségek szinkronizálása és virtuális környezet létrehozása:\nuv sync\n\n# Virtuális környezet aktiválása Windows alatt:\n.venv\\Scripts\\activate\n# Linux / macOS alatt:\n# source .venv/bin/activate"},{"language":"bash","snippet":"cp .env.example .env"},{"language":"env","snippet":"# Google Gemini API beállítások (Fő LLM és RAG Beágyazás)\nGOOGLE_API_KEY=az-on-google-api-kulcsa\nMODEL=gemini/gemini-3.1-flash-lite\nEMBEDDINGS_GOOGLE_GENERATIVE_AI_MODEL_NAME=gemini-embedding-001\n\n# CrewAI beállítások\nCREWAI_MAX_RPM=10\nCREWAI_TRACING_ENABLED=false\n\n# REST API biztonság\nFASTAPI_API_SECRET=egy-biztonsagos-titkos-kulcs\n\n# Firebase Firestore (Base64 kódolt JSON service account kulcs)\nFIREBASE_CREDENTIALS_BASE64=aW5pdGlhbGl6ZV9maXJlYmFzZV9jcmVkZW50aWFscw==\n\n# DeepEval és Tesztelési környezet (opcionális, csak a test/ futtatásához)\nOPENAI_API_KEY=az-on-openai-kulcsa\nBASE_URL=az-on-azure-vagy-openai-vegpontja"},{"language":"ini","snippet":"[crewai]\nverbose_enabled = True\ndeep_analysis_enabled = False"}],"parameters":null,"dependencies":[],"permissions":[],"extractedFiles":[],"languages":["python"],"docsSourceLabel":"GITHUB REPOS","editorialOverview":"Magyar jogi dokumentumokra specializált Multi-Agent RAG (Retrieval-Augmented Generation) rendszer CrewAI és LangChain alapokon. JogiAgent Crew – Multi-Agent RAG Architektúra Magyar Jogi Dokumentumokhoz $1 $1 $1 $1 $1 $1 $1 Ez a projekt egy autonóm, többágenses döntési és végrehajtási folyamatra épülő, nagydimenziós szemantikus kereső és jogi dokumentumelemző **RAG (Retrieval-Augmented Generation)** rendszer. A fejlesztés elsődleges célja komplex, strukturálatlan magyar és európai uniós jogi forrásszövegek feldolgozása, paragrafus-szintű index","editorialQuality":{"score":100,"threshold":65,"status":"ready","wordCount":380,"uniquenessScore":69,"reasons":[]}},"media":{"evidence":{"source":"no-media","verified":false,"confidence":"low","updatedAt":"2026-10-09T01:10:41.362Z","emptyReason":"No screenshots, media assets, or demo links are available."},"primaryImageUrl":null,"mediaAssetCount":0,"assets":[],"demoUrl":null},"ownerResources":{"evidence":{"source":"unclaimed","verified":false,"confidence":"low","updatedAt":"2026-10-09T01:10:41.362Z","emptyReason":"This page has not been claimed by the agent owner."},"hasCustomPage":false,"customPageUpdatedAt":null,"customLinks":[],"structuredLinks":{"docsUrl":null,"demoUrl":null,"supportUrl":null,"pricingUrl":null,"statusUrl":null},"customPage":null},"relatedAgents":{"evidence":{"source":"protocol-neighbors","verified":false,"confidence":"medium","updatedAt":"2026-10-09T16:55:45.078Z","emptyReason":null},"items":[{"id":"b917f68a-ebff-438e-84f8-3f4b2494c0bc","entityType":"agent","canonicalPath":"/agent/activepieces-activepieces","slug":"activepieces-activepieces","name":"activepieces","description":"AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents","url":"https://github.com/activepieces/activepieces","homepage":"https://www.activepieces.com","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-15T02:22:12.426Z","createdAt":"2026-02-25T03:38:12.412Z","downloads":null},{"id":"5cb26759-3a39-483f-94cf-276a98c13bb8","entityType":"agent","canonicalPath":"/agent/cherryhq-cherry-studio","slug":"cherryhq-cherry-studio","name":"cherry-studio","description":"AI productivity studio with smart chat, autonomous agents, and 300+ assistants. Unified access to frontier LLMs","url":"https://github.com/CherryHQ/cherry-studio","homepage":"https://cherry-ai.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-11T14:38:40.986Z","createdAt":"2026-02-25T03:38:19.379Z","downloads":null},{"id":"8ebccd8e-3863-4187-8355-c3f14e1f9edf","entityType":"agent","canonicalPath":"/agent/iofficeai-aionui","slug":"iofficeai-aionui","name":"AionUi","description":"Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!","url":"https://github.com/iOfficeAI/AionUi","homepage":"https://www.aionui.com","source":"GITHUB_REPOS","protocols":["MCP","OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-04-10T18:48:31.762Z","createdAt":"2026-02-25T03:38:16.584Z","downloads":null},{"id":"6f6582d0-5d76-4f0f-b81d-86520247950b","entityType":"agent","canonicalPath":"/agent/copilotkit-copilotkit","slug":"copilotkit-copilotkit","name":"CopilotKit","description":"The Frontend for Agents & Generative UI. React + Angular","url":"https://github.com/CopilotKit/CopilotKit","homepage":"https://docs.copilotkit.ai","source":"GITHUB_REPOS","protocols":["OPENCLAW"],"capabilities":[],"safetyScore":100,"overallRank":70,"updatedAt":"2026-03-25T09:50:57.846Z","createdAt":"2026-02-25T03:39:14.617Z","downloads":null}],"links":{"hub":"/agent","source":"/agent/source/github_repos","protocols":[{"label":"OpenClaw","href":"/agent/protocol/openclew"}]}}}