Aller au contenu principal

Enrichir des données à l'aide des AI Functions

Les AI Functions sont des fonctions intégrées que vous pouvez utiliser pour appliquer des LLM ou des techniques de recherche de pointe sur les données stockées sur Databricks pour la transformation et l'enrichissement des données. Ils peuvent être exécutés à partir de Databricks SQL, des Notebooks, des LakeFlow Pipelines et des Workflows.

Les fonctions AI Functions sont simples à utiliser, rapides et évolutives. Les analystes peuvent les utiliser pour appliquer l'intelligence des données à leurs données propriétaires, tandis que les data engineers, les data scientists et les ingénieurs en Machine Learning peuvent les utiliser pour créer des pipelines batch de qualité production.

Exigences

  • Les AI Functions ne sont pas disponibles sur les SQL warehouses Pro ou Classic.
  • Notebooks et workflows : Serverless compute est requis. AI Functions ne sont pas pris en charge sur les clusters de compute classiques.
  • Nécessite Databricks Runtime 18.2 ou une version ultérieure.

Spécifique à la tâche et usage général

AI Functions a des fonctions spécifiques aux tâches et à usage général :

  • **AI Functions spécifiques aux tâches** — Fonctions conçues spécifiquement et optimisées pour une tâche spécifique, telles que l'analyse de documents, l'extraction d'entités, la classification et l'analyse des sentiments. Ces fonctions sont alimentées par des systèmes gérés par Databricks et fondés sur la recherche. Certaines fonctions incluent des expériences d'interface utilisateur. Consultez les fonctions d'IA spécifiques aux tâches pour connaître les fonctions et les modèles pris en charge.
  • ai_query — La fonction à usage général pour la flexibilité des tâches et des modèles. Fournissez une invite et choisissez n’importe quelle API de modèle de fondation prise en charge. Consultez Utiliser ai_query.

Arbre de décision pour les fonctions d'IA spécifiques aux tâches et ai_query

Pour restreindre les AI Functions spécifiques aux tâches auxquelles votre organisation peut accéder, consultez Permissions Unity Catalog des AI Functions.

Fonctions d'IA spécifiques aux tâches

Les fonctions spécifiques aux tâches sont conçues pour une tâche donnée afin que vous puissiez automatiser les transformations routinières, telles que l'extraction d'entités, la traduction et la classification. Databricks recommande ces fonctions pour commencer, car elles utilisent des techniques de recherche de pointe maintenues par Databricks et ne nécessitent aucune personnalisation.

Voir Analysez les avis des clients en utilisant les AI Functions pour un exemple.

Les fonctions suivantes sont regroupées par tâche.

Traitement intelligent de documents:

Fonction

Description

ai_parse_document

Extraire le contenu structuré (texte, tableaux, descriptions de figures) et le layout de documents non structurés à l'aide de techniques de recherche de pointe.

ai_extract

Extrayez des champs structurés à partir de documents ou de texte à l’aide d’un schéma que vous définissez.

ai_classify

Classez le texte saisi selon les étiquettes que vous fournissez en utilisant des techniques de recherche de pointe.

ai_prep_search (bêta)

Transformez la sortie de document analysée en blocs prêts pour la recherche, optimisés pour la recherche IA et les pipelines RAG.

Fonction

Description

ai_parse_document

Extraire le contenu structuré (texte, tableaux, descriptions de figures) et le layout de documents non structurés à l'aide de techniques de recherche de pointe.

ai_extract

Extrayez des champs structurés à partir de documents ou de texte à l’aide d’un schéma que vous définissez.

ai_classify

Classez le texte saisi selon les étiquettes que vous fournissez en utilisant des techniques de recherche de pointe.

ai_prep_search (bêta)

Transformez la sortie de document analysée en blocs prêts pour la recherche, optimisés pour la recherche IA et les pipelines RAG.

Transformer le texte :

Fonction

Description

ai_fix_grammar

Corrigez les erreurs grammaticales dans le texte à l’aide d’un modèle d’IA générative de pointe.

ai_translate

Traduire le texte dans une langue cible spécifiée à l'aide d'un modèle d'IA générative de pointe.

ai_summarize

Générez un résumé de texte à l'aide de SQL et d'un modèle d'IA générative de pointe.

ai_mask

Masquer les entités spécifiées dans le texte à l'aide d'un modèle d'IA générative de pointe.

Fonction

Description

ai_fix_grammar

Corrigez les erreurs grammaticales dans le texte à l’aide d’un modèle d’IA générative de pointe.

ai_translate

Traduire le texte dans une langue cible spécifiée à l'aide d'un modèle d'IA générative de pointe.

ai_summarize

Générez un résumé de texte à l'aide de SQL et d'un modèle d'IA générative de pointe.

ai_mask

Masquer les entités spécifiées dans le texte à l'aide d'un modèle d'IA générative de pointe.

Analysez le texte :

Fonction

Description

ai_analyze_sentiment

Effectuer une analyse des sentiments sur le texte d'entrée à l'aide d'un modèle d'IA générative de pointe.

ai_similarity

Comparez deux chaînes et computez le score de similarité sémantique en utilisant un modèle d'IA générative de pointe.

Fonction

Description

ai_analyze_sentiment

Effectuer une analyse des sentiments sur le texte d'entrée à l'aide d'un modèle d'IA générative de pointe.

ai_similarity

Comparez deux chaînes et computez le score de similarité sémantique en utilisant un modèle d'IA générative de pointe.

Générer du contenu. Pour les invites personnalisées ou un modèle spécifique, voir Utiliser ai_query:

Fonction

Description

ai_gen

Répondez à une invite fournie par l'utilisateur à l'aide d'un modèle d'IA générative de pointe.

Fonction

Description

ai_gen

Répondez à une invite fournie par l'utilisateur à l'aide d'un modèle d'IA générative de pointe.

Prévoir les séries temporelles :

Fonction

Description

ai_forecast

Prévoir des données jusqu'à un horizon spécifié. Cette fonction à valeur de table est conçue pour extrapoler des données de séries chronologiques dans le futur.

Fonction

Description

ai_forecast

Prévoir des données jusqu'à un horizon spécifié. Cette fonction à valeur de table est conçue pour extrapoler des données de séries chronologiques dans le futur.

Analysez les changements de métriques :

Fonction

Description

ai_top_drivers (Bêta)

Classer les valeurs de dimension qui contribuent le plus à un changement de métrique entre un groupe de contrôle et un groupe de test.

Fonction

Description

ai_top_drivers (Bêta)

Classer les valeurs de dimension qui contribuent le plus à un changement de métrique entre un groupe de contrôle et un groupe de test.

Rechercher avec les intégrations de Recherche IA:

Fonction

Description

vector_search

Recherchez et query un index AI Search à l'aide d'un modèle d'IA générative de pointe.

Fonction

Description

vector_search

Recherchez et query un index AI Search à l'aide d'un modèle d'IA générative de pointe.

Utilisez AI Functions dans les flux de travail de production

Pour l'inférence par batch à grande échelle, vous pouvez intégrer des AI Functions spécifiques à la tâche, ou la fonction à usage général ai_query dans vos workflows de production, comme les Lakeflow Pipelines, les workflows Databricks et Structured Streaming. Ceci permet un traitement de niveau production à grande échelle.

Bonnes pratiques pour les fonctions d'IA en production :

Laissez AI Functions gérer votre charge de travail à grande échelle : AI Functions gère automatiquement la parallélisation, les nouvelles tentatives et la mise à l'échelle. Il est conseillé de soumettre votre dataset complet dans une query unique plutôt que de le fractionner manuellement en petits batchs. Les performances peuvent ne pas monter en charge de manière linéaire, des très petites charges de travail aux charges de travail à grande échelle.

Utiliser les modèles de fondation hébergés par Databricks : Lors de l'utilisation de la fonction AI ai_query, utilisez les modèles de fondation hébergés par Databricks (préfixés par databricks-), et non le débit provisioned throughput. Ces endpoints sans provisionnement sont entièrement managés et conviennent le mieux au traitement par batch.

Consultez Déployer des pipelines d'inférence par batch pour des exemples et des détails.

Suivre la progression des AI Functions

Pour comprendre combien d’inférences se sont terminées ou ont échoué et pour dépanner les performances, vous pouvez surveiller la progression des AI Functions à l’aide de la fonctionnalité de profil de query.

Dans Databricks Runtime 16.1 ML et versions ultérieures, depuis la fenêtre de requête de l'éditeur SQL dans votre Workspace :

  1. Sélectionnez le Link, Running--- en bas de la fenêtre Résultats bruts . La fenêtre des performances apparaît sur la droite.
  2. Cliquez sur **Afficher le profil de la query** pour afficher les détails des performances.
  3. Cliquez sur AI Query pour afficher les métriques de cette requête particulière, y compris le nombre d'inférences terminées et échouées, et le temps total qu'a pris la requête pour se terminer.

Afficher les coûts des charges de travail des fonctions d'IA

Les coûts des fonctions IA sont enregistrés en tant que partie du produit MODEL_SERVING sous le type d'offre BATCH_INFERENCE. Consultez Afficher les coûts des charges de travail d'inférence par batch pour un exemple de query.

remarque

Pour ai_parse_document, ai_extract et ai_classify, les coûts sont enregistrés dans le cadre du produit AI_FUNCTIONS. Consultez Afficher les coûts des exécutions ai_parse_document pour un exemple de query.

Affichez les coûts des charges de travail d'inférence par batch.

Les exemples suivants montrent comment filtrer les charges de travail d’inférence batch en fonction des Jobs, du compute, des SQL Warehouse et des LakeFlow Pipelines.

Consultez Surveiller les coûts de service de modèles pour des exemples généraux sur la manière d'afficher les coûts de vos charges de travail d'inférence par batch qui utilisent les AI Functions.

La requête suivante indique les jobs qui sont utilisés pour l’inférence par batch à l’aide de la table système system.workflow.jobs. Consultez Surveiller les coûts et les performances des jobs avec les tables système.

SQL

SELECT *
FROM system.billing.usage u
JOIN system.workflow.jobs x
ON u.workspace_id = x.workspace_id
AND u.usage_metadata.job_id = x.job_id
WHERE u.usage_metadata.workspace_id = <workspace_id>
AND u.billing_origin_product = "MODEL_SERVING"
AND u.product_features.model_serving.offering_type = "BATCH_INFERENCE";

Affichez les coûts pour ai_parse_document exécutions

L'exemple suivant montre comment query les tables du système de facturation pour afficher les coûts des exécutions ai_parse_document.

SQL

SELECT *
FROM system.billing.usage u
WHERE u.workspace_id = <workspace_id>
AND u.billing_origin_product = "AI_FUNCTIONS"
AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT";