Aller au contenu principal

Tâches de fonction IA pour les jobs

info

Bêta

Cette fonctionnalité est en Bêta. Pour l'utiliser, un administrateur de workspace doit activer la tâche de fonction IA Lakeflow depuis la page Aperçus . Consultez Gérer les aperçus Databricks.

Utilisez une tâche de fonction d’IA pour exécuter une fonction d’IA sur chaque fichier d’un volume Unity Catalog ou chaque ligne d’une table dans le cadre d’un job. La tâche écrit un résultat par fichier ou ligne dans une table Unity Catalog qu’elle crée et gère. Chaque exécution ne traite que les fichiers ou les lignes qui ont été ajoutés, modifiés ou supprimés depuis l’exécution précédente. Dans les API Jobs et les Declarative Automation Bundles, une tâche de fonction d’IA est un ai_function_task, et son paramètre de fonction détermine son type : ai_parse_document, ai_extract ou ai_classify.

Types de tâches de fonction IA​

Chaque type de tâche exécute une fonction d’IA et est nommée en fonction de celle-ci, par exemple une tâche ai_parse_document. Dans l’interface utilisateur des travaux, les types de tâches apparaissent sous Document intelligence . Pour ajouter une tâche, consultez la page de son type de tâche.

Traitement intelligent de documents​

Type de tâche

Nom de l’interface utilisateur des jobs

Entrée

Description

ai_parse_document

Analyse des documents

Fichiers dans un volume, ou colonne de table FILE ou BINARY

Extraire le contenu structuré (texte, tables, descriptions de figures) et le layout de documents non structurés.

ai_extract

Extraction d’informations

Une colonne de table de texte ou VARIANT, telle que la colonne response d’une tâche ai_parse_document

Extraire des champs structurés à partir de documents ou de texte en utilisant un schéma que vous définissez.

ai_classify

Classification

Une colonne de texte ou VARIANT de table, telle que la colonne response d'une tâche ai_parse_document

Classez le texte saisi selon les étiquettes que vous fournissez.

Type de tâche

Nom de l’interface utilisateur des jobs

Entrée

Description

ai_parse_document

Analyse des documents

Fichiers dans un volume, ou colonne de table FILE ou BINARY

Extraire le contenu structuré (texte, tables, descriptions de figures) et le layout de documents non structurés.

ai_extract

Extraction d’informations

Une colonne de table de texte ou VARIANT, telle que la colonne response d’une tâche ai_parse_document

Extraire des champs structurés à partir de documents ou de texte en utilisant un schéma que vous définissez.

ai_classify

Classification

Une colonne de texte ou VARIANT de table, telle que la colonne response d'une tâche ai_parse_document

Classez le texte saisi selon les étiquettes que vous fournissez.

Par exemple, vous pouvez utiliser des tâches de fonction d’IA pour :

  • Analysez les nouveaux contrats ajoutés à un volume chaque nuit.
  • Extraire les champs de facture à partir de documents qu’une tâche ai_parse_document a analysés.
  • Classifiez les tickets de support entrants par urgence avant qu’une tâche ultérieure ne les route.

Prérequis​

  • Si l’intelligence documentaire n’apparaît pas dans la liste des tâches, un administrateur du workspace doit activer l’aperçu de la tâche de fonction IA Lakeflow .

  • Les fonctions IA doivent être disponibles dans votre région de workspace. Voir Fonctionnalités avec une disponibilité régionale limitée.

  • Le schéma de sortie doit exister avant l'exécution de la tâche.

  • L’ utilisateur d’exécution du job doit disposer des privilèges suivants :

    • USE CATALOG et USE SCHEMA sur les catalogues et les schémas d’entrée et de sortie.
    • SELECT sur la table d’entrée, ou READ VOLUME sur le volume d’entrée.
    • CREATE TABLE dans le schéma de sortie, pour l’exécution qui crée la table de sortie.
    • MODIFY sur la table de sortie, pour les exécutions ultérieures.
    • EXECUTE sur la fonction dans system.ai, si votre organisation limite l’accès aux AI Functions. Voir Autorisations Unity Catalog pour les AI Functions.
  • Une table d’entrée doit avoir le flux de données de modification activé. Pour l’activer, exécutez ce qui suit :

    SQL
    ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableChangeDataFeed = true);
  • Si vous n’ajoutez pas de colonne d’ID et que la colonne d’entrée n’est pas de type FILE, une table d’entrée doit également avoir le suivi des lignes activé. Pour l’activer, exécutez le code suivant :

    SQL
    ALTER TABLE <table-name> SET TBLPROPERTIES (delta.enableRowTracking = true);

Entrée​

Sous Entrée , sélectionnez un volume Unity Catalog ou un dossier dans un volume pour exécuter la fonction sur chaque fichier. Ou sélectionnez une table et la Colonne qui contient le contenu pour exécuter la fonction sur chaque ligne. Les sources et les types de colonne pris en charge dépendent du type de tâche. Voir Types de tâche de fonction IA.

Pour les entrées de documents, Databricks recommande ce qui suit :

  • Stocker les documents dans une table en tant que colonne FILE (Bêta) plutôt que comme colonne BINARY.
  • Pour une entrée de volume, activez les événements de fichier pour l’emplacement externe du volume. Les événements de fichier ne sont pas requis, mais la tâche trouve les nouveaux fichiers et les fichiers modifiés plus rapidement avec ceux-ci.

Colonne ID​

Pour une entrée de table, vous pouvez ajouter une colonne d’ID , telle qu’une clé primaire. Pour l’ajouter, cliquez sur Ajouter à côté de Colonne d’ID . La tâche utilise la colonne ID pour faire correspondre les résultats aux lignes sources entre les exécutions et la copie dans la table de sortie. Sans colonne ID, la tâche identifie les lignes par leur ID de suivi de ligne. Pour une colonne FILE, la tâche identifie plutôt les lignes par l’URI du fichier, de sorte que le suivi de ligne n’est pas nécessaire et les lignes qui référencent le même fichier partagent un résultat.

Résultat​

Sous Sortie , sélectionnez l’ Emplacement : le catalogue et le schéma Unity Catalog pour la table de sortie. Si vous n’entrez pas de Nom de table , la tâche en génère un qui start par parsed, extracted ou classified et reste le même entre les exécutions.

La tâche crée et gère sa table de sortie. Une exécution échoue si une table portant ce nom existe déjà et que la tâche ne l’a pas créée.

Utiliser la sortie dans une tâche ultérieure​

Une tâche ultérieure peut lire la table de sortie d'une tâche de fonction IA avec la référence de valeur dynamique {{tasks.<task_name>.output.table_name}}.

Lorsque vous ajoutez une tâche de fonction d’IA après une autre tâche de fonction d’IA, son entrée est default la table de sortie et la colonne response de la tâche précédente. Par exemple, une tâche ai_parse_document suivie d’une tâche ai_extract extrait les champs des documents analysés. Voir Utilisation avec d’autres fonctions d’IA.

Définir les tâches de fonction d’IA dans le code​

Vous pouvez définir des tâches AI Function dans Declarative Automation Bundles, Databricks CLI ou l’ API Jobs. Ajoutez un ai_function_task à la tâche, avec une entrée (volume ou delta_table), l’emplacement output et une fonction (ai_parse_document, ai_extract ou ai_classify). Si vous omettez output.table, la tâche génère le nom de la table. Pour voir un exemple, consultez la page de chaque type de tâche.

Comment fonctionnent les tâches de fonction d'IA​

Traitement incrémentiel​

À chaque exécution, la tâche traite les fichiers et les lignes nouveaux ou modifiés depuis l’exécution précédente, et supprime les résultats associés aux fichiers et aux lignes supprimés. Les modifications apportées aux paramètres de la tâche, tels que les champs à extraire, les libellés ou les instructions, s’appliquent uniquement aux entrées traitées après la modification. Pour les appliquer à toutes les entrées, saisissez un nouveau Nom de table . Si vous modifiez la table d’entrée ou de sortie de la tâche, l’exécution suivante traite à nouveau toutes les entrées, ce qui entraîne un coût. Voir Afficher les coûts des charges de travail AI Function.

Table de sortie​

La table de sortie est une table de streaming qu’une tâche ultérieure peut lire de manière incrémentielle. Elle contient les colonnes suivantes :

  • Colonne ID ou id : identifie l'entrée, telle que le chemin d'accès à un fichier dans un volume.
  • response : résultat complet de la fonction sous forme de VARIANT, dans le format renvoyé par la fonction. Des valeurs facultatives, telles que les scores de confiance, les justifications et les citations, font partie de ce résultat. La tâche n'ajoute pas de colonne pour chaque valeur. Pour obtenir une valeur sous forme de colonne, sélectionnez-la dans response dans une query.
  • error : erreur pour cette entrée, ou NULL lorsque la requête réussit.

Pour combiner les résultats avec les données source, joignez la colonne ID.

Surveiller une exécution​

Pendant l’exécution de la tâche, le graphe de la tâche indique le pourcentage d’entrées traitées. La sortie de l’exécution affiche le nombre de Lignes , Réussies et Échouées des entrées, ainsi que le temps restant estimé ( ETA ). Après l’exécution, Exemple de données affiche les lignes de la table de sortie.

Limites​

  • Une tâche ne peut avoir qu’une seule exécution active. Si vous start une exécution alors qu’une autre exécution de la même tâche est en cours, la nouvelle exécution échoue.
  • Les tâches de fonction IA exécutées dans un partage de Workspace utilisent la capacité de AI Functions du Workspace ; leur exécution est donc plus longue lorsqu'elles sont nombreuses à être exécutées simultanément. Pour des performances optimales, gardez environ 20 exécutions ou moins actives à la fois.

Ressources supplémentaires​