Konfigurace metadat pro AI Parsing
Tato dokumentace popisuje systémovou konfiguraci metadat pro modul AI Parsing v EspoCRM. Tento modul umožňuje automatické zpracování a analýzu dat pomocí umělé inteligence, včetně extrakce informací z dokumentů a jejich mapování na entity v systému.
Přehled funkcionality
Modul AI Parsing rozšiřuje základní funkcionalitu EspoCRM o možnost:
- Automatického parsování dokumentů a e-mailů pomocí externích služeb AI
- Propojení parsovaných záznamů s existujícími entitami v systému
- Správy stavů parsování (odesláno, přijato, zpracováno, chyba)
- Vytváření akcí pro hromadné zpracování a reportování chyb
Jádrem této funkcionality je třída AiParsingDefs, která dynamicky upravuje metadata systému pro podporu AI parsování.
Závislosti a propojení
Modul spoléhá na:
- Základní třídy EspoCRM: Využívá framework pro správu metadat a konfiguraci
- Modul Autocrm: Dědí z
AdditionalBuilderWithConfiga využívá utility jakoObjectUtil - Entita
AiParsingRecord: Centrální entita pro sledování stavů parsování - Nástroj
AiParsingTool: Poskytuje seznam entit podporujících AI parsování
Hlavní workflow
- Inicializace metadat: Při startu systému se načte konfigurace z
metadata.json - Dynamická modifikace: Třída
AiParsingDefsupravuje metadata pro: - Všechny entity podporující AI parsování (získané přes
AiParsingTool) - Speciální entity pro extrakci dat (extractors)
- Vytvoření vazeb: Pro každou entitu se vytvoří:
- Pole
aiParsingRecordspro zobrazení souvisejících parsovacích záznamů - Vazby mezi entitou a
AiParsingRecord - Akce pro hromadné zpracování a reportování chyb
- Konfigurace rozhraní: Soubory jako
layout.jsonupravují UI
Technické informace
Třída AiParsingDefs
Hlavní třída rozšiřující AdditionalBuilderWithConfig s klíčovými metodami:
build(stdClass $data): void
- Parametr:
$data- Objekt metadat systému k modifikaci - Logika:
- Získá seznam entit podporujících AI parsování (
getAiParsableEntityTypeList()) - Pro každou entitu:
- Vytvoří pole
aiParsingRecordstypulinkMultiple - Nastaví vazbu
hasManykAiParsingRecord - Přidá reverzní vazbu v
AiParsingRecord - Přidá dynamickou logiku pro zobrazení
- Přidá akce
reportParsingError - Pro extraktory (z
getExtractors()): - Podobná konfigurace jako výše
- Navíc přidá akci
createExtractionRequest
addAction(stdClass $data, string $entityType, string $actionName, string $actionLabel, string $actionHandler): void
- Parametry:
$data: Metadata objekt$entityType: Cílová entita$actionName: Technický název akce$actionLabel: Popisek pro UI$actionHandler: Cesta k handleru- Efekt: Přidá akci do
massActionListadetailActionListentity
Konfigurační soubory
metadata.json: RegistrujeAiParsingDefsjako builder metadatlayout.json: Přidává záložku do nastaveníDocument.json: Přidává poleaiExtractorEntityTypepro dokumentyroutes.json: Definuje API endpointy pro parsování
Utility
ObjectUtil: Pomocné metody pro práci s nested objektyAiParsingTool: Poskytuje konfiguraci parsovatelných entit
Entity
AiParsingRecord: Sleduje stav parsování s metodami jakomarkAsParsed(),markAsFailed()