Aller au contenu principal

Transformez des données non structurées à l’aide d’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 des données stockées sur Databricks pour la transformation et l'analyse des données. Ils peuvent être exécutés depuis 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.

Lorsque vous appelez une fonction IA, votre query s’exécute sur le compute à partir duquel vous la soumettez, tel qu’un SQL warehouse, un notebook, un cluster ou un pipeline. Selon la fonction, l’inférence du modèle peut s’exécuter sur une infrastructure distincte gérée par Databricks, facturée en supplément de ce compute. Voir Afficher les coûts des charges de travail des fonctions IA.

Exigences​

  • Les AI Functions ne sont pas disponibles sur les warehouses SQL classiques.
  • Databricks Runtime 15.4 LTS ou une version ultérieure est requis. Databricks Runtime 18.2 ou une version ultérieure est recommandé pour bénéficier des meilleures performances et accéder aux dernières fonctionnalités.

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. Utilisez les colonnes SQL et API REST pour ouvrir la référence de chaque interface. Un tiret dans la colonne API REST signifie qu'aucune référence d'API REST dédiée n'est répertoriée.

Traitement intelligent de documents:

Fonction

Description

SQL

API REST

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.

Référence SQL

Référence de l’API REST

ai_extract

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

Référence SQL

Référence de l’API REST

ai_classify

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

Référence SQL

Référence de l’API REST

ai_prep_search (bêta)

Transformez les documents analysés ou le texte brut et le markdown en segments prêts pour la recherche, optimisés pour la recherche IA et les pipelines RAG.

Référence SQL

—

ai_search (bêta)

Récupérez des documents classés et dédoublonnés ainsi qu'une réponse étayée pour une query en langage naturel sur une ou plusieurs sources de connaissances.

Référence SQL

—

ai_enrich (bêta)

Générez de nouvelles colonnes pour chaque ligne à partir d’un schéma que vous définissez, éventuellement basé sur des index de recherche IA ou une recherche Web.

Référence SQL

—

Fonction

Description

SQL

API REST

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.

Référence SQL

Référence de l’API REST

ai_extract

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

Référence SQL

Référence de l’API REST

ai_classify

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

Référence SQL

Référence de l’API REST

ai_prep_search (bêta)

Transformez les documents analysés ou le texte brut et le markdown en segments prêts pour la recherche, optimisés pour la recherche IA et les pipelines RAG.

Référence SQL

—

ai_search (bêta)

Récupérez des documents classés et dédoublonnés ainsi qu'une réponse étayée pour une query en langage naturel sur une ou plusieurs sources de connaissances.

Référence SQL

—

ai_enrich (bêta)

Générez de nouvelles colonnes pour chaque ligne à partir d’un schéma que vous définissez, éventuellement basé sur des index de recherche IA ou une recherche Web.

Référence SQL

—

Transcrire l’audio :

Fonction

Description

SQL

API REST

ai_transcribe (bêta)

Transcrivez un fichier audio en texte, avec des Timestamp par segment et un étiquetage automatique des locuteurs si cette option est activée.

Référence SQL

—

Fonction

Description

SQL

API REST

ai_transcribe (bêta)

Transcrivez un fichier audio en texte, avec des Timestamp par segment et un étiquetage automatique des locuteurs si cette option est activée.

Référence SQL

—

Transformer le texte :

Fonction

Description

SQL

API REST

ai_fix_grammar

Corrigez les erreurs grammaticales dans le texte à l'aide d'un modèle d'IA de pointe.

Référence SQL

—

ai_translate

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

Référence SQL

—

ai_summarize

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

Référence SQL

—

ai_mask

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

Référence SQL

—

Fonction

Description

SQL

API REST

ai_fix_grammar

Corrigez les erreurs grammaticales dans le texte à l'aide d'un modèle d'IA de pointe.

Référence SQL

—

ai_translate

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

Référence SQL

—

ai_summarize

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

Référence SQL

—

ai_mask

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

Référence SQL

—

Analyser un texte non structuré :

Fonction

Description

SQL

API REST

ai_decide (bêta)

Évaluez les questions par rapport à du texte ou des données structurées et renvoyez des probabilités, des choix ou des scores.

Référence SQL

Référence de l’API REST

ai_analyze_sentiment

Effectuez une analyse des sentiments sur le texte saisi à l'aide d'un modèle d'IA de pointe.

Référence SQL

—

ai_similarity

Comparez deux chaînes de caractères et calculez le score de similarité sémantique à l'aide d'un modèle d'IA de pointe.

Référence SQL

—

Fonction

Description

SQL

API REST

ai_decide (bêta)

Évaluez les questions par rapport à du texte ou des données structurées et renvoyez des probabilités, des choix ou des scores.

Référence SQL

Référence de l’API REST

ai_analyze_sentiment

Effectuez une analyse des sentiments sur le texte saisi à l'aide d'un modèle d'IA de pointe.

Référence SQL

—

ai_similarity

Comparez deux chaînes de caractères et calculez le score de similarité sémantique à l'aide d'un modèle d'IA de pointe.

Référence SQL

—

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

Fonction

Description

SQL

API REST

ai_gen

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

Référence SQL

—

Fonction

Description

SQL

API REST

ai_gen

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

Référence SQL

—

Prédire les résultats :

Fonction

Description

SQL

API REST

ai_predict_class (bêta)

Entraînez un modèle de classification et prédisez les étiquettes de classe pour les lignes où la colonne cible est NULL.

Référence SQL

—

ai_predict_value (bêta)

Entraînez un modèle de régression et prévoyez des valeurs numériques pour les lignes où la colonne cible est NULL.

Référence SQL

—

Fonction

Description

SQL

API REST

ai_predict_class (bêta)

Entraînez un modèle de classification et prédisez les étiquettes de classe pour les lignes où la colonne cible est NULL.

Référence SQL

—

ai_predict_value (bêta)

Entraînez un modèle de régression et prévoyez des valeurs numériques pour les lignes où la colonne cible est NULL.

Référence SQL

—

Prévoir les séries temporelles :

Fonction

Description

SQL

API REST

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.

Référence SQL

—

ai_detect_anomalies (bêta)

Identifiez les valeurs anormales dans les données de séries temporelles historiques et renvoyez les valeurs attendues, les limites de prédiction et les scores d’anomalie.

Référence SQL

—

Fonction

Description

SQL

API REST

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.

Référence SQL

—

ai_detect_anomalies (bêta)

Identifiez les valeurs anormales dans les données de séries temporelles historiques et renvoyez les valeurs attendues, les limites de prédiction et les scores d’anomalie.

Référence SQL

—

Analysez les changements de métriques :

Fonction

Description

SQL

API REST

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.

Référence SQL

—

Fonction

Description

SQL

API REST

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.

Référence SQL

—

Rechercher avec les intégrations de Recherche IA:

Fonction

Description

SQL

API REST

vector_search

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

Référence SQL

Référence de l’API REST

Fonction

Description

SQL

API REST

vector_search

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

Référence SQL

Référence de l’API REST

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​

Le compute qui exécute votre query est toujours facturé, par exemple un SQL warehouse ou un Job cluster. L’existence d’un coût supplémentaire d’inférence de modèle dépend de la fonction :

  • Les fonctions spécifiques à une tâche (par exemple, ai_classify, ai_summarize, ai_translate) exécutent l’inférence sur une infrastructure GPU serverless gérée par Databricks via Model Serving. Vous ne provisionnez pas cette infrastructure, mais elle est facturée en plus de votre compute de query.
  • ai_query est facturé pour l’ endpoint de Model Serving que vous spécifiez. Les endpoints de modèles de fondation hébergés par Databricks sont facturés comme les fonctions spécifiques à une tâche ; les endpoints de modèles personnalisés et de throughput provisionné s’exécutent sur leur propre compute de service dédié et sont facturés en conséquence.
  • ai_forecast , ai_detect_anomalies , ai_predict_class , ai_predict_value et ai_top_drivers s’exécutent entièrement sur le compute à partir duquel vous les soumettez, sans coût d’inférence supplémentaire.
  • vector_search interroge votre index AI Search via le service AI Search géré par Databricks.

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";