LogoLogo
  • 📖Suite reciTAL - Documentation
  • 🚀Démarrage rapide
    • Utiliser un modèle d'extraction reciTAL sur étagère
  • 🎯Extraction
    • 🎯Introduction
    • Entraîner un modèle d'extraction
      • Constituer un Dataset
      • Annoter un Dataset
      • Entraîner un modèle
    • Configurer un Agent d'Extraction
      • Créer un Agent
      • Configurer les extracteurs d'un Agent
      • Configurer les paramètres d'un Agent
    • Valider un Agent
      • Charger des documents en validation
      • Valider un Agent
    • Ecran de correction
  • 🗃️Classification
    • 🗃️Introduction
    • Entraîner un modèle de classification
      • Constitution des datasets
      • Entrainement du modèle
      • Lecture et interprétation des résultats
    • Configurer un Agent de Classification
  • 🪄Workflow
    • 🪄Introduction
    • Créer un Workflow
    • Les modules Workflow
    • Jobs
    • Inputs
  • 🔌Intégration API
    • Authentification
    • Extraction
      • Envoyer des documents en extraction
      • Structure des résultats d'extraction
    • Classification
      • Envoyer des documents en classification
      • Structure des résultats de classification
    • Workflow
      • Envoyer des documents dans un Workflow
      • Structure des résultats du workflow
  • 📺Autres
    • Glossaire reciTAL
    • Astuces d'annotation
    • Gestion des utilisateurs
    • Métriques d'évaluation
    • Connection avec OpenID Connect (OIDC)
  • 🏗️Nos APIs
    • Swagger Workflow
    • Swagger Extraction
    • Swagger Classification
    • Swagger Auth
  • ⚙️Changelogs
    • Version 25.5.x (14/05/2025)
    • Mises à jours précédentes
      • Version 25.4.x (22/04/2025)
      • Version 25.3.x (24/03/2025)
      • Version 25.2.x (05/02/2025)
      • Version 24.12.x (23/12/2024)
      • Version 24.11.x (2024-11-05)
      • Version 24.9.x (2024-09-20)
      • Version 24.7.x (2024-07-09)
      • Version 24.6.x (20/06/2024)
      • Version 24.1.x (12/01/2024)
      • Version 23.12.x (12/12/2023)
      • Version 1.0.12 (05/12/2023)
      • Version 1.0.11 (30/11/2023)
      • Version 1.0.10 (22/11/2023)
      • Version 1.0.9 (27/10/2023)
      • Version 1.0.8 (18/10/2023)
      • Version 1.0.7 (03/10/2023)
      • Version 1.0.6 (11/09/2023)
      • Version 1.0.5 (23/08/2023)
      • Version 1.0.4 (18/08/2023)
      • Version 1.0.3 (27/06/2023)
      • Version 1.0.2 (02/05/2023)
      • Version 1.0.1 (24/03/2023)
  • 📧Contact
    • Nous contacter
Powered by GitBook
On this page
  • 1. Input
  • Ingérer des Emails
  • 2. AI Agent
  • Classification de document
  • Classification de mails
  • Extraction
  • GenAI
  • 3. Review
  • Review de Classification (vidéo-typage)
  • Review d'Extraction (vidéo-codage)
  • 4. Actions
  • Workflow (sous-workflow)
  • Diviser un document
  • Décompresser
  • Fusionner des documents
  • Validation d'ensemble
  • 5. Code personnalisé
  • 6. État
  • 7. Output
  • Webhook
  1. Workflow

Les modules Workflow

Un grand nombre de modules existent pour compléter votre Worflow. Cette page permet d'avoir une vue d'ensemble sur ces derniers, et ce qu'ils permettent de faire.

PreviousCréer un WorkflowNextJobs

Last updated 1 month ago

Les modules sont étiquettés afin de pouvoir les retrouver plus facilement. Il y a plusieurs types d'étiquettes :

  • La nature de l'action : "Classification, "Extraction", "Post-traitement", "Automation"

  • La nature du media : "Mails", "Document"

  • Le type du module : "Input", "AI Agent", "Review", "Etat", "Code", "Output"

1. Input

Ingérer des Emails

Cette étape permet de récupérer toutes les informations concernant le mail et de les conserver dans "data". Elle permet également de mettre les pièces jointes dans une collection.

Paramètres

Paramètre
Description

Nom

Le nom de l'étape

Expression d'entrée

La collection d'email à traiter. files["email"] par défaut.

Taille minimale de pièce jointe (ko)

Limite minimale à une pièce jointe pour qu'elle soit prise en compte.

Taille maximale de pièce jointe (ko)

Limite maximale à une pièce jointe pour qu'elle soit prise en compte.

Ignorer pièce jointe si le nom contient

Si le nom de la pièce jointe contient le texte renseigné, alors la pièce jointe sera ignorée. Mettre le nom entre "".

Extensions acceptées pour pièce jointe

Les fichiers n'ayant pas ces extensions ne seront pas pris en compte. Si aucune extension n'est renseignée, tous les fichiers sont pris en compte.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Collection de sortie

La collection dans laquelle seront envoyées les pièces jointes. "attachments" par défaut.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

{
    "email": {
        "date": "2024-07-01 14:59:43",
        "subject": ".....",
        "from": {
            "name": "Demo Test",
            "address": "demo.test@recital.ai"
        },
        "to": [
            {
                "name": "Demo Test",
                "address": "demo.test@recital.ai"
            }
        ],
        "cc": [],
        "body": "....",
        "attachments" : ["test1.pdf", "test2.pdf"],
        "skipped_attachments" : ["logo.jpg"]
    }
}

2. AI Agent

Classification de document

Paramètres

Paramètre
Description

Nom

Le nom de l'étape

Modèle

La sélection parmi les modèles de classification de document existants

Per page

(SAM) Permet d'avoir une classification page à page. Il peut être couplé à un module split-pdf à la suite pour déliasser un document.

Use Google OCR

Utilisation de google OCR si activé. Sinon, utilisation d'un modèle OCR open-source.

Expression d'entrée

Le ou les fichiers à classifier. files["file"] par défaut.

Expression du modèle

Sélection dynamique du modèle d'extraction.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

Classification de mails

Paramètres

Paramètre
Description

Nom

Le nom de l'étape

Expression d'entrée

Le mail à classifier. La valeur par défaut est : data['email']

Expression des pièces jointes

La collection des pièces jointes. La valeur par défaut est : files['attachments']

Modèle

La sélection parmi les modèles de classification de mails existants

Expression du modèle

Sélection dynamique du modèle d'extraction.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

Extraction

Paramètres

Paramètre
Description

Nom

Le nom de l'étape

Agent d'extraction

La sélection parmi les agents d'extraction existant

Expression d'entrée

Le ou les fichiers à classifier. files["file"] par défaut.

Expression du modèle

Sélection dynamique du modèle d'extraction.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

GenAI

WIP

3. Review

Les étape de review sont bloquantes tant que le document n'a pas été validé par un opérateur.

Review de Classification (vidéo-typage)

Active le vidéo-typage suite à une classification.

Paramètres

Paramètre
Description

Nom

Le nom de l'étape

Contexte

Permet d'afficher des informations pendant la review

Expression d'entrée

Le ou les fichiers à classifier. files["file"] par défaut.

Expression du contexte

Permet d'afficher des informations pendant la review. Le paramètre supporte des expressions dynamiques.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

Review d'Extraction (vidéo-codage)

Active le vidéo-codage suite à une extraction.

Paramètres

Paramètre
Description

Nom

Le nom de l'étape

Expression d'entrée

Le ou les fichiers à classifier. files["file"] par défaut.

Expression du contexte

Permet d'afficher des informations pendant la review. Le paramètre supporte des expressions dynamiques.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

4. Actions

Workflow (sous-workflow)

Il est possible d'imbriquer des workflows enfants dans un workflow parent. Cela présente plusieurs utilités:

  • Réutilisation d'un workflow dans plusieurs workflow.

  • Dans le cas de création de sous-documents (module split-pdf) durant le workflow parent, pouvoir itérer sur l'ensemble de ces sous-documents. Un job 'enfant' sera crée par sous-documents.

  • Utiliser la récursivité. Un workflow peut s'appeler lui-même. Attention cependant a bien vérifier les conditions d'arrêt.

Paramètres

Paramètre
Description

Nom

Le nom du module

Workflow

La sélection parmi les workflow existants

Expression d'entrée

Les informations auxquels aura accès le sous-workflow. Par exemple après un split-pdf, on peut avoir : zip(data['split-pdf']['files'], files['classified']) On prend les informations renvoyées par split-pdf, ainsi que l'ensemble des fichiers ajoutés dans la collection "classified" par split-pdf. A utiliser avec l'option "Iterate over input".

Workflow Expression

Permet de sélectionner dynamiquement un workflow en fonction d'une expression.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

Diviser un document

Ce module permet de séparer un document en sous-documents. Très utile par exemple pour Déliasser un document après une classification page par page. Les sous-documents générés sont stocké dans la collection de sortie

Paramètres

Paramètre
Description

Nom

Le nom du module

Collection de sortie

La collection dans laquelle sont envoyés les sous-documents générés.

Expression d'entrée

Le ou les fichiers à déliasser. files["file"] par défaut.

Labels Expr

La liste des labels de chaque page. Le document sera divisé à chaque fois qu'un label est différent de la page précédente.

Labels To Ignore

Les pages ayant ce label seront automatiquement mis à l'écart, et ne figureront pas dans les sous-documents générés.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

{
    "split-pdf": {
        "files": [
            {
                "name": xxxx-split-1.pdf",
                "label": "Carte grise",
                "pages": [
                    1,
                    2
                ],
                "file_id": ... // int
            },
            {
                "name": xxxx-split-2.pdf",
                "label": "CNI",
                "pages": [
                    3
                ],
                "file_id": ... // int
            }
        ]
    }
}

Décompresser

Ce module permet de décompresser un dossier archivé et d'extraire les fichiers compressés dans une collection de sortie.

Paramètres

Paramètre
Description

Nom

Le nom du module

Collection de sortie

La collection dans laquelle sont envoyés les fichiers décompressés.

Expression d'entrée

Le ou les fichiers à décompresser. files["file"] par défaut.

Extensions

Une liste d'extension valide. (Exemple : "pdf, doc, jpg, png"). Les fichiers ayant une extension différente dans l'archive seront ignorés.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

{
    "unpack": {
        "unpacked": [
            "ffe09da0-7e09-11ee-a133-dd18cdfb66cc.pdf",
            "ffc93a80-7e08-11ee-a133-dd18cdfb66cc.pdf",
            "ff7c3680-7e09-11ee-a133-dd18cdfb66cc.pdf"
        ],
        "skipped": []
    }
}

Fusionner des documents

Ce module permet de fusionner les pages de plusieurs documents en entrée en un seul document.

Paramètres

Paramètre
Description

Nom

Le nom du module

Collection de sortie

La collection dans laquelle est envoyé le fichier fusionné.

Nom du fichier de sortie

Le nom du fichier de sortie

Expression d'entrée

Les fichiers à fusionner. files["file"] par défaut.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

{
    "merge-pdf": {
        "file_id": ..., // int
        "name": "merged.pdf"
    }
}

Validation d'ensemble

En cours de développement

5. Code personnalisé

Le module de code personnalisé permet de faire tout ce qui n'a pas encore été préconçu par d'autre module.

def execute_action(job, input):
    # Do smth here
    return StepActionType.done, {
        # Add data here          
    }

Le paramètre d'entrée job contient toutes les informations utiles dans job.data.

Il est également possible de rajouter de nouvelles informations dans data avec le return.

6. État

Rajouter un module d'état permet de:

  • Recevoir automatiquement une notification de changement d'état. Avec les données accumulées jusque là.

  • Filtrer / trier les jobs en fonction de leur état.

Les modules d'état peuvent être ajoutés à n'importe quelle transition. Ils permettent de mettre à jour l'état général d'un job, et de notifier si une url de callback a été définie lors de la création du job.

7. Output

Webhook

Permet de renvoyer les résultats en cours (ou une partie) vers une URL donnée.

Paramètres

Paramètre
Description

Nom

Le nom du module

URL

L'url de callback

Ignorer les erreurs

Boolean. Si l'option est activée, les flux ne sera pas interrompu, même si le code de réponse est une erreur.

Expression d'entrée

Les données à renvoyer. "data" par défaut.

Clé de sortie

La clé de "data" dans lesquels seront stockées toutes les informations relatives à ce module.

Itérer sur l'entrée

Activer l'option si l'entrée est une liste. Le module traitera les documents 1 à 1, et la sortie sera une liste de résultats.

Structure des résultats

{
    "webhook": {
        "retries": [
            {
                "url": "http://foo.bar.baz.example.com",
                "delivery": "faa7f0ee-79fc-4f7f-8bd7-13fe507d431b",
                "timestamp": "2025-02-12T16:51:21.738001+00:00",
                "time": 0.16692353412508965,
                "status": 403
            },
            {
                "url": "http://foo.bar.baz.example.com",
                "delivery": "016fc069-077a-4026-a122-d03e044fc67a",
                "timestamp": "2025-02-12T16:51:26.989879+00:00",
                "time": 0.17694886191748083,
                "status": 403
            }
        ],
        "url": "http://foo.bar.baz.example.com",
        "delivery": "016fc069-077a-4026-a122-d03e044fc67a",
        "timestamp": "2025-02-12T16:51:26.989879+00:00",
        "time": 0.17694886191748083,
        "status": 200
    }
}

Ce module suppose qu'une boite mail a été configurée (voir ), ou bien que les documents envoyés sont des .msg ou .eml.

Voir

Voir

Voir

Voir .

Voir

Voir

Pour plus de détails sur le fonctionnement du module de code personnalisé, et sur des détails du Workflow, veuillez .

🪄
lnputs
Structure des résultats de Classification
Structure des résultats de Classification
Structure des résultats d'Extraction
Structure des résultats de Classification
Structure des résultats d'Extraction
Structure des résultats du Workflow
contacter l'équipe Projet
Ecran de review d'extraction