Přeskočit na hlavní obsah

ai-parsing-api

API pro extrakci dat

Tato část dokumentace popisuje API endpoint, který umožňuje hromadné zpracování entit pro extrakci dat pomocí AI. Slouží jako rozhraní mezi frontendem a backendovým procesorem, který spouští extrakci dat z dokumentů nebo emailů.

Popis funkčnosti

Endpoint přijímá seznam ID entit a typ entity, pro kterou má být extrakce provedena. Validuje vstupní parametry, omezuje maximální počet zpracovávaných entit na 250 a volá příslušný extraktor pro každou entitu. Výsledkem je JSON odpověď s počtem úspěšně zpracovaných entit.

Závislosti

  • Závisí na ExtractorFactory pro vytvoření konkrétního extraktoru
  • Používá EntityManager pro načtení entit z databáze
  • Konfigurace dostupných extraktorů je definována v aiParsing.json

Pracovní postup

  • Validace vstupních parametrů (entityType a ids)
  • Kontrola maximálního počtu entit
  • Vytvoření extraktoru pro daný typ entity
  • Načtení entit z databáze
  • Procesování každé entity extraktorem
  • Vrácení výsledku s počtem zpracovaných entit

Technické informace

Třída CreateExtractionRequest

  • Namespace: Espo\Modules\AiParsing\Api
  • Implementuje rozhraní Action

Konstruktor

  • EntityManager $entityManager: Pro práci s databázovými entitami
  • ExtractorFactory $extractorFactory: Factory pro vytváření extraktorů

Metoda process

  • Parametry:
  • Request $request: HTTP požadavek obsahující:
  • entityType (route param): Typ entity pro extrakci
  • ids (body): Pole ID entit nebo single ID
  • Výstup: Response s JSON strukturou:
  • success: Boolean indikující zda všechny entity byly zpracovány
  • requestedCount: Počet požadovaných entit
  • processedCount: Počet skutečně zpracovaných entit

Omezení

  • Maximálně 250 entit najednou (nastaveno v $entityLimit)
  • Vyžaduje parametr entityType
  • Vyžaduje alespoň jedno ID entity

Výjimky

  • Error: Pro chybějící parametry nebo překročení limitu entit
  • LogicException: Pokud extraktor nelze vytvořit