51 lines
2.6 KiB
Markdown
51 lines
2.6 KiB
Markdown
# ZP Agent
|
||
|
||
Backend pre indexovanie, hybridné vyhľadávanie a RAG nad repozitárom
|
||
záverečných prác `zpwiki`.
|
||
|
||
Projekt vzniká v rámci práce **Agent pre manažment záverečných prác**.
|
||
Spracúva profily študentov, zadania a poznámky zo ZP Wiki a poskytuje
|
||
odpovede o prácach, projektoch, rokoch a súvisiacich vzťahoch so zdrojovými odkazmi.
|
||
|
||
## Ako funguje
|
||
|
||
1. Načíta Markdown dokumenty a YAML metadáta z lokálnej kópie Git repozitára.
|
||
2. Rozdelí obsah na tokenové úseky a vytvorí textový, vektorový a grafový index.
|
||
3. Podľa zvoleného nástroja vyhľadá relevantné texty alebo grafové fakty.
|
||
4. Jazykový model vyberie dôkazy alebo navrhne štruktúrované tvrdenia.
|
||
5. Backend skontroluje hodnoty, väzby, citácie a pokrytie požadovaných údajov.
|
||
6. Z overených podkladov zostaví odpoveď; chýbajúce informácie výslovne označí.
|
||
|
||
Aktualizáciu možno spustiť manuálne alebo webhookom z Gitea. Oba indexy
|
||
sa obnovujú z rovnakého snapshotu a používajú spoločnú verziu dát.
|
||
|
||
## Vyhľadávanie
|
||
|
||
**RAG** kombinuje fulltextové vyhľadávanie BM25 so sémantickým vyhľadávaním
|
||
pomocou embeddingov. Výsledky spája metódou RRF. Je vhodný na otázky
|
||
na obsah, zadanie, metódy, priebeh a výsledky práce.
|
||
|
||
**GraphRAG** využíva znalostný graf osôb, dokumentov, prác, projektov,
|
||
tém, tagov a kategórií. Umožňuje vyhľadávať vzťahy, spoločné vlastnosti
|
||
a kombinácie podmienok, napríklad tag spolu s typom a rokom práce.
|
||
|
||
## Použité technológie
|
||
|
||
- **Python, FastAPI a Pydantic** – API, validácia vstupov a typované odpovede.
|
||
- **SQLite a FTS5** – dokumenty, metadáta, fulltextový index a uložené vektory.
|
||
- **Sentence Transformers a multilingual-e5-small** – viacjazyčné embeddingy.
|
||
- **Tiktoken** – meranie veľkosti a delenie textových úsekov.
|
||
- **Neo4j a Cypher** – uloženie a vyhľadávanie grafových vzťahov.
|
||
- **MCP a Claude Skills** – sprístupnenie RAG a GraphRAG používateľovi v Claude.
|
||
- **OAuth s PKCE** – autentizácia webového MCP konektora.
|
||
- **Docker Compose** – spoločné nasadenie API, Neo4j a MCP servera.
|
||
- **Git a Gitea webhooky** – získavanie zmien a spúšťanie synchronizácie.
|
||
- **Pytest a evaluačné skripty** – regresie, kontrola vyhľadávania a odpovedí.
|
||
|
||
## Súčasný stav
|
||
|
||
RAG, GraphRAG, kontrolovaná cesta odpovedí a pripojenie cez Claude sú funkčné.
|
||
Systém obsahuje embeddingovú cache, kontroly dostupnosti a persistentnú
|
||
synchronizačnú frontu. Historické evaluácie sú uložené pri jednotlivých vetvách.
|
||
Samostatný hlavný agent, CRZP a spracovanie plných textov prác sú ďalšie etapy.
|