Hivatalos Rendszerdokumentáció

Alkalmazás Leírása és Felhasználói Kézikönyv

Részletes útmutató a 14. századi regeszta-tudásbázis felépítéséhez, a GraphRAG keresési réteghez és a Keycloak felhasználókezeléshez.

1

Rendszeráttekintés és Történeti Korpusz

Az Anjou Regesta Platform a késő középkori magyar történelem (1301–1382: I. Károly Róbert és I. Nagy Lajos uralkodása) okleveles regesztáinak feldolgozására, szemantikus keresésére és AI-alapú kutatására létrehozott tudományos infrastruktúra.

Mi az a regeszta?

A regeszta (latinul: regestum) egy oklevél tartalmi kivonata, amely rögzíti az oklevél keltét (év, hó, nap, kiadási helyszín), a kiadót, a címzettet, a jogügylet lényegét (adomány, zálog, pereskedés, privilégium), valamint a hitelesítő és pecsételő személyeket.

Miért volt szükség GraphRAG-ra és MCP-re?

  • Nyelvi heterogenitás: A latin és középkori archaikus magyar kifejezések, ragok és elnevezések (pl. castrum, várispánság, homagium) miatt a hagyományos kulcsszavas keresés sok releváns forrást figyelmen kívül hagy.
  • Bonyolult kapcsolatháló: Nemesi családok rokonsága, familiárisi kötelékek és birtokcsere-ügyletek relációs táblákban nehezen átláthatók, de tudásgráfban hatékonyan bejárhatók.
  • Hallucinációmentes AI-kutatás: A Model Context Protocol (MCP) garantálja, hogy az LLM-ek (Claude, Gemini) közvetlenül a hitelesített forrásszövegekből idézzenek pontos évszámokkal és forrásjelöléssel.
2

Rendszerarchitektúra és Adatfolyam

A rendszer egymással lazán csatolt, konténerizált mikroszolgáltatásokból áll, melyeket Docker Compose és Traefik fordított proxy fog össze központi SSL titkosítással:

Szolgáltatás Technológia Feladat Belső / Külső Port
PostgreSQL 18 postgres:18-bookworm Regeszták forrásadatai és Keycloak belső DB 5432 (belső)
Neo4j Enterprise neo4j:latest (APOC) Dokumentumgráf, vektorindex és Cypher 7474 (HTTP) / 7687 (Bolt)
Ollama nomic-embed-text 768 dimenziós szövegbeágyazás 61000
FastMCP Szerver Python 3.11 / Starlette Kereső eszközök SSE protokollal és Keycloak middleware-rel 8000
Keycloak IAM quay.io/keycloak:24.0.5 Identitáskezelés, OAuth2/OIDC, RBAC 8080
Web Portál Python 3.12 / FastAPI Főoldal, profil, kézikönyv és élő playground 8080

Smart Chunking és ETL Munkafolyamat

Az n8n munkafolyamat automatikusan beolvassa a PostgreSQL rekordokat 10-es kötegekben (batch), elvégzi az okos mondat- és szóhatár-tudatos darabolást (Smart Chunking), meghívja az Ollama beágyazó szervert a 768 dimenziós vektorokért, és elmenti a csomópontokat a Neo4j gráfba a megfelelő relációkkal.

3

Adatmodell és Gráfstruktúra

A Neo4j adatbázisban felépített gráfstruktúra a dokumentum-szintű regesztákat és az azokból kinyert chunkokat hierachikusan rendszerezi:

:ProcessedRegestum
  • • uuid: Egyedi oklevél azonosító
  • • pub_year: Kiadás éve (pl. 1323)
  • • issue: Kiadás helye (pl. Temesvár)
  • • text: A regeszta teljes forrásszövege
:Chunk
  • • text: Szóhatár-tudatos szövegrészlet
  • • embedding: 768 elemű lebegőpontos vektor
  • • Reláció: (:ProcessedRegestum)-[:HAS_CHUNK]->(:Chunk)
4

Keresési Kézikönyv és Minták

A platform két független, egymást kiegészítő keresési módot biztosít a kutatóknak:

A) Full-Text / Lucene Keresés (search_regestum_text)

A Neo4j beépített Lucene indexén fut. Támogatja a speciális szintaxisokat:

castrum~ Fuzzy keresés: megtalálja a latin ragozott alakokat (castri, castra)
"Károly Róbert" AND Visegrád Összetett kifejezés és kötelező helyszín
adomány* Csonkolás / Wildcard: adományoz, adománylevél, adománya

B) Szemantikus Vektoros Keresés (search_regestum_vector)

A természetes nyelvű kifejezést az Ollama azonnal 768 dimenziós térbe ágyazza, és a koszinusz hasonlóság alapján megkeresi a legközelebbi chunkokat.

Példa kérdés:
"birtokadományozás háborús érdemekért és hűtlenség miatt elkobzott javak"

Akkor is megtalálja a rozgonyi vagy nógrádi adományleveleket, ha a "háborús érdem" szókapcsolat nem szó szerint így szerepel bennük!

5

Keycloak Adminisztráció és Szerepkörök

A hitelesítést a központi Keycloak 24 IAM szerver végzi a regesta realm alatt:

user szerepkör (Kutató)

Jogosult a regeszta szöveges és szemantikus keresőeszközeinek futtatására az MCP szerveren és ezen a portálon.

admin szerepkör (Rendszergazda)

Teljes hozzáférés a regesztákhoz, Neo4j sémalekérdezéshez, Cypher futtatáshoz és a Keycloak Admin felülethez.

Új Felhasználó Létrehozása az Adminisztrátori Konzolban

  1. Nyissa meg a Keycloak Admin Konzolt.
  2. Válassza ki a bal felső sarokban a regesta realmet.
  3. A bal menüben kattintson a Users ➔ Create new user gombra.
  4. Töltse ki az adatokat (Username, Email, First name, Last name, Email Verified = Yes).
  5. A Credentials fülön állítson be jelszót (Temporary kapcsolót kapcsolja ki).
  6. A Role mapping fülön rendelje hozzá a user szerepkört.
6

MCP Kliensek Csatlakoztatása

Az MCP (Model Context Protocol) szabványos SSE csatornán kommunikál. A csatlakozáshoz az mcp-remote segédprogram használható:

// Claude Desktop konfiguráció (claude_desktop_config.json):
{ "mcpServers": { "anjou-regesta": { "command": "npx", "args": [ "-y", "mcp-remote", "https://mcp.regesta.arany.artraco.com/sse", "--header", "Authorization: Basic <base64(felhasználónév:jelszó)>" ] } } }
7

Gyakran Ismételt Kérdések (GYIK)

Mi a teendő, ha HTTP 403 Forbidden hibát kapok az MCP-től?

A felhasználói fiókhoz nincs hozzárendelve a user vagy admin szerepkör. Kérje meg a rendszergazdát, hogy a Keycloak Admin felületen adja hozzá a szerepkört!

Hogyan tesztelhetem a rendszert helyi gépen?

Használhatja a fenti "Demó belépés" lehetőséget, amellyel Keycloak kapcsolat nélkül is kipróbálhatja a portált és a szimulált regeszta keresési találatokat.

Milyen időközönként frissül a Neo4j gráf?

Az n8n adatcsatorna időzített crontabbal és kézi eseményvezérelten is indítható, mindig csak a frissen feltöltött regesztákat dolgozza fel inkrementálisan.

Sikeres művelet