Tâches de fonction IA pour les jobs
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 |
|---|---|---|---|
Analyse des documents | Fichiers dans un volume, ou colonne de table | Extraire le contenu structuré (texte, tables, descriptions de figures) et le layout de documents non structurés. | |
Extraction d’informations | Une colonne de table de texte ou | Extraire des champs structurés à partir de documents ou de texte en utilisant un schéma que vous définissez. | |
Classification | Une colonne de texte ou | 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_documenta 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 CATALOGetUSE SCHEMAsur les catalogues et les schémas d’entrée et de sortie.SELECTsur la table d’entrée, ouREAD VOLUMEsur le volume d’entrée.CREATE TABLEdans le schéma de sortie, pour l’exécution qui crée la table de sortie.MODIFYsur la table de sortie, pour les exécutions ultérieures.EXECUTEsur la fonction danssystem.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 :
SQLALTER 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 :SQLALTER 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 colonneBINARY. - 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 deVARIANT, 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 dansresponsedans une query.error: erreur pour cette entrée, ouNULLlorsque 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
- Transformer des données non structurées à l'aide d'AI Functions: en savoir plus sur AI Functions.
- Traitement intelligent des documents: découvrez les moyens de traiter des documents sur Databricks.
- Configurez et modifiez les tâches dans Lakeflow Jobs: configurez et modifiez les tâches dans Lakeflow Jobs.