Aller au contenu principal

Tâche ai_classify 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 sur la page Aperçus . Consultez Gérer les aperçus Databricks.

Pour classifier du texte dans un job, utilisez une tâche ai_classify. La tâche exécute ai_classify sur chaque ligne d’une table Unity Catalog. La tâche classifie du texte ou des documents analysés dans des étiquettes que vous définissez et écrit le résultat pour chaque ligne dans une table Unity Catalog.

Une tâche ai_classify 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_classify définie. Pour les prérequis et savoir comment les tâches de fonction d’IA traitent les données, voir Tâches de fonction d’IA pour les jobs.

Ajouter une tâche ai_classify​

Pour ajouter une tâche ai_classify :

  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 n'a pas encore de tâches, cliquez sur Icône Plus. Ajouter un autre type de tâche .
  3. Sous Intelligence documentaire , sélectionnez Classification .
  4. Saisissez un nom dans le champ Nom de la tâche . La valeur default est classification.
  5. Sous Entrée , sélectionnez une table et la Colonne à classifier. Pour classifier des documents, commencez par les analyser. Voir Utilisation avec d’autres fonctions d’IA.
  6. Sous Sortie , sélectionnez l' emplacement et saisissez éventuellement un nom de table . Voir Sortie.
  7. (Facultatif) Ajoutez une colonne ID . Voir Colonne ID.
  8. Définissez les étiquettes de classification. Consultez la section Définir les étiquettes.
  9. (Optionnel) Configurez les paramètres sous Paramètres optionnels . Voir Paramètres optionnels.
  10. (Facultatif) Pour configurer les threshold de tentatives, de durée d'exécution ou de backlog de streaming, ou les notifications, voir Paramètres de tâche avancés.
  11. Cliquez sur Enregistrer la tâche .

La tâche s’exécute la prochaine fois que le job s’exécute. La première exécution classifie chaque ligne de la table. Les exécutions ultérieures classifient uniquement les lignes ajoutées ou modifiées depuis l’exécution précédente, et retirent les résultats des lignes supprimées. 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, voir Configurer et modifier des tâches dans les Lakeflow Jobs.

Définir les labels​

Sous Étiquettes , ajoutez chaque étiquette à laquelle une entrée peut être associée, avec un nom et une description facultative. Les noms des étiquettes doivent être uniques. Une description permet à la fonction de distinguer des étiquettes similaires.

La fonction affecte à chaque entrée l'étiquette la plus appropriée, même lorsqu'aucune étiquette ne correspond bien. Pour capturer les entrées qui ne correspondent pas, ajoutez une étiquette fourre-tout, telle que other, et décrivez ce qu'elle contient. Pour examiner les résultats incertains, activez les Scores de confiance .

Une tâche ai_classify prend 2 à 10 étiquettes. La fonction ai_classify elle-même prend jusqu'à 500 étiquettes, donc pour en utiliser plus de 10, appelez ai_classify dans une tâche SQL, notebook ou pipeline.

Paramètres optionnels​

Sous Paramètres optionnels , vous pouvez configurer les éléments suivants :

  • Scores de confiance : inclure un score de confiance pour chaque étiquette dans la réponse.
  • Justifications : Incluez une justification qui explique chaque classification dans la réponse.
  • Labels multiples : Assignez plus d'un label à chaque entrée.
  • Instructions : Conseils appliqués à chaque ligne, par exemple quelle étiquette choisir quand deux étiquettes correspondent.
  • Version : version ai_classify sur laquelle la tâche s’exécute, affichée pour référence. La version est pin afin que les exécutions programmées ne changent pas lors de la mise à jour de la fonction.

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

Les bundles d'automatisation déclaratifs vous permettent de définir le job dans des fichiers sources, afin que vous puissiez versionner, réviser et déployer ses modifications comme du code. L'exemple suivant définit un job avec une tâche ai_classify qui étiquette chaque ticket de support comme urgent ou normal et inclut une justification pour chaque étiquette. Pour classifier les documents dans un volume, voir Utilisation avec d'autres fonctions IA. Pour créer le job avec l'API Jobs à la place, envoyez les mêmes paramètres de job à jobs/create.

YAML
# resources/classify_support_tickets.job.yml
resources:
jobs:
classify_support_tickets:
name: classify_support_tickets
tasks:
- task_key: classification
ai_function_task:
delta_table:
table_name: main.support.tickets
input_column: body
merge_key_columns: [ticket_id]
output:
catalog: main
schema: support
ai_classify:
version: '2.1'
inline_labels:
labels:
- name: urgent
description: The customer is blocked or reports an outage.
- name: normal
description: A question or a non-blocking issue.
instructions: Prefer urgent when the ticket mentions production.
enable_rationales: true

Résultat​

La colonne response de la table de sortie contient le résultat ai_classify complet pour chaque ligne sous la forme d'un VARIANT, y compris les scores de confiance et les justifications lorsque vous les activez. 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 les retours ai_classify. Pour les autres colonnes, voir Table de sortie.

Ressources supplémentaires​