Aller au contenu principal

Tâche ai_parse_document pour les jobs

info

Bêta

Cette fonctionnalité est en version bêta. Pour l’utiliser, un administrateur de workspace doit activer la tâche de fonction d’IA Lakeflow à partir de la page Aperçus . Consultez Gérer les aperçus Databricks.

Pour analyser des documents dans un job, utilisez une tâche ai_parse_document. La tâche exécute ai_parse_document sur chaque document dans un volume ou une table Unity Catalog. La tâche analyse le texte, les tableaux, les descriptions de figures et le layout de documents tels que des PDF et des images, et écrit le résultat pour chaque document dans une table Unity Catalog. Pour les formats de fichier pris en charge et les limites, consultez ai_parse_document.

Une tâche ai_parse_document est un type de tâche de fonction d’IA. Dans l’API Jobs et les Declarative Automation Bundles, il s’agit d’une ai_function_task avec la fonction ai_parse_document définie. Pour les exigences et la façon dont les tâches de fonction d’IA traitent les données, consultez Tâches de fonction d’IA pour les jobs.

Ajouter une tâche ai_parse_document​

Pour ajouter une tâche ai_parse_document :

  1. Accédez à la Tâches tab dans l’interface utilisateur des Jobs.

  2. Cliquez sur Icône Plus. Ajouter une tâche . Si le job ne contient pas encore de tâche, cliquez sur Icône Plus. Ajouter un autre type de tâche .

  3. Sous Intelligence documentaire , sélectionnez Analyse de documents .

  4. Entrez un nom dans le champ Nom de la tâche . La valeur default est parsing.

  5. Sous Entrée , sélectionnez les documents à analyser. Voir Entrée.

    • Volume : Sélectionnez un volume ou un dossier dans un volume.
    • Table : Sélectionnez une table et un(e) FILE BINARY Colonne ou.
  6. Sous Sortie , sélectionnez l’ Emplacement et, éventuellement, saisissez un Nom de table . Voir Sortie.

  7. (Facultatif) Pour une entrée de table, ajoutez une colonne ID . Voir Colonne ID.

  8. Dans Décrire les types d’éléments , sélectionnez les éléments analysés qui recevront une description générée par l’IA : Tous les types pris en charge , Figures uniquement ou Aucun . Aucun ne génère aucune description, ce qui réduit le compute et le coût des documents contenant de nombreuses figures. Voir Compréhension des éléments.

  9. (Facultatif) Pour configurer les threshold de tentatives, de durée d’exécution ou de backlog de streaming, ou les notifications, consultez Paramètres de tâche avancés.

  10. Cliquez sur Enregistrer la tâche .

La tâche s’exécute lors de la prochaine exécution du job. Pour exécuter le job selon une planification, voir Exécuter des jobs selon une planification. Pour modifier, cloner, désactiver ou supprimer cette tâche, consultez Configurer et modifier des tâches dans les Lakeflow Jobs.

Définissez la tâche dans Declarative Automation Bundles​

Les Declarative Automation Bundles vous permettent de définir le job dans des fichiers sources, afin que vous puissiez versionner, examiner et déployer des changements sur celui-ci comme du code. L’exemple suivant définit un job avec une tâche ai_parse_document qui analyse chaque fichier d’un volume et génère uniquement des descriptions pour les figures. Pour ne générer aucune description, ignorez description_element_types. Pour enregistrer une image rendue de chaque page, définissez image_output_path sur un chemin de volume. Pour créer le job avec l’API Jobs à la place, envoyez les mêmes paramètres de job à jobs/create.

YAML
# resources/parse_invoices.job.yml
resources:
jobs:
parse_invoices:
name: parse_invoices
tasks:
- task_key: parsing
ai_function_task:
volume:
volume_path: /Volumes/main/finance/invoices
output:
catalog: main
schema: finance
ai_parse_document:
version: '2.0'
description_element_types: [DESCRIPTION_ELEMENT_TYPE_FIGURE]

Résultat​

La colonne response de la table de sortie contient le résultat ai_parse_document complet pour chaque document en tant que VARIANT. La tâche n'ajoute pas de colonne pour chaque valeur. Pour obtenir une valeur en tant que colonne, sélectionnez-la à partir de response dans une query. Pour le format, voir ai_parse_document renvoie. Pour les autres colonnes, voir Table de sortie.

À utiliser avec d’autres fonctions d’IA​

Pour extraire des champs des documents analysés ou les classer, ajoutez une tâche ai_extract ou ai_classify qui s’exécute après la tâche ai_parse_document. Dans l’interface utilisateur Jobs, l’entrée de la nouvelle tâche est définie par default sur la table de sortie et la colonne response de la tâche ai_parse_document. Consultez Utiliser la sortie dans une tâche ultérieure.

L’exemple suivant de Declarative Automation Bundles définit un job qui analyse les fichiers d’un volume, puis extrait un ID de facture et un total de chaque document analysé. La tâche extraction lit la table de sortie de la tâche parsing avec {{tasks.parsing.output.table_name}}, lit sa colonne response et utilise sa colonne id comme colonne d’ID.

YAML
# resources/parse_and_extract_invoices.job.yml
resources:
jobs:
parse_and_extract_invoices:
name: parse_and_extract_invoices
tasks:
- task_key: parsing
ai_function_task:
volume:
volume_path: /Volumes/main/finance/invoices
output:
catalog: main
schema: finance
ai_parse_document:
version: '2.0'
- task_key: extraction
depends_on:
- task_key: parsing
ai_function_task:
delta_table:
table_name: '{{tasks.parsing.output.table_name}}'
input_column: response
merge_key_columns: [id]
output:
catalog: main
schema: finance
table: invoice_fields
ai_extract:
version: '2.1'
schema: |
{
"invoice_id": {"type": "string", "description": "Unique invoice identifier"},
"total_amount": {"type": "number", "description": "Total invoice amount"}
}

Ressources supplémentaires​