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 version supérieure est requis. Pour une modification à venir de cette exigence, consultez AI Functions nécessitent Databricks Runtime 17.3 LTS ou version ultérieure. Databricks Runtime 18.2 ou version ultérieure est recommandé pour obtenir les meilleures performances et accéder aux fonctionnalités les plus récentes.

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, API REST et API asynchrone 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. Un tiret dans la colonne API asynchrone signifie que l’AI Functions API asynchrone (Bêta) ne prend pas en charge la fonction.

Traitement intelligent de documents:

Fonction

Description

SQL

API REST

API asynchrone (Bêta)

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

Référence de l’API asynchrone

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

Référence de l’API asynchrone

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

Référence de l’API asynchrone

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 sources de connaissances telles que des index AI Search ou un outil de recherche sur un serveur MCP (Model Context Protocol) externe.

Référence SQL

—

—

Fonction

Description

SQL

API REST

API asynchrone (Bêta)

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

Référence de l’API asynchrone

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

Référence de l’API asynchrone

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

Référence de l’API asynchrone

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 sources de connaissances telles que des index AI Search ou un outil de recherche sur un serveur MCP (Model Context Protocol) externe.

Référence SQL

—

—

Transcrire l’audio :

Fonction

Description

SQL

API REST

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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

API asynchrone (Bêta)

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 une inférence par batch afin de Monter en charge, vous pouvez intégrer des AI Functions spécifiques à une tâche ou la fonction à usage général ai_query dans vos flux de travail de production, tels que les LakeFlow Pipelines, les Jobs et Structured Streaming. Cela permet un traitement de niveau production à l'échelle de la Monter en charge.

Pour exécuter ai_parse_document, ai_extract ou ai_classify selon un calendrier sans écrire de SQL, ajoutez une tâche de fonction IA (Beta) à un job. Chaque exécution ne traite que les entrées nouvelles ou modifiées depuis l'exécution précédente. Voir Tâches de fonction IA pour les jobs.

Pour exécuter ai_parse_document, ai_extract ou ai_classify à partir d'une application ou d'un service sur de nombreuses entrées, utilisez l'API asynchrone AI Functions (bêta). L'entrée est un fichier dans un volume Unity Catalog ou, pour ai_parse_document, un répertoire de volume. Le batch s'exécute de manière asynchrone et écrit les résultats dans un fichier dans un volume. Pour obtenir des exemples, consultez l'analyse de documents, l'extraction d'informations et la classification.

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 d’inférence des fonctions IA sont enregistrés dans la table system.billing.usage sous l’un des deux produits :

  • ai_similarity, ai_analyze_sentiment, ai_summarize, ai_translate, ai_fix_grammar et ai_mask sont enregistrés sous le produit MODEL_SERVING avec le type d’offre BATCH_INFERENCE.
  • D’autres AI Functions spécifiques aux tâches, qui entraînent des coûts d'inférence distincts, sont enregistrées sous le produit AI_FUNCTIONS, notamment ai_classify, ai_extract, ai_parse_document et ai_search.

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

Les exemples suivants montrent comment filtrer les enregistrements MODEL_SERVING avec le type d'offre BATCH_INFERENCE sur la base des Jobs, des computes, des SQL Warehouses et des LakeFlow Pipelines. Ces enregistrements incluent les charges de travail ai_query et les fonctions spécifiques aux tâches qui sont enregistrées sous MODEL_SERVING.

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

Afficher les coûts enregistrés sous le produit AI_FUNCTIONS​

L'exemple suivant montre comment query les coûts enregistrés sous le produit AI_FUNCTIONS. Pour filtrer sur une fonction spécifique, utilisez le champ product_features.ai_functions.ai_function. Par exemple, pour voir uniquement les coûts ai_parse_document, ajoutez AND u.product_features.ai_functions.ai_function = "AI_PARSE_DOCUMENT".

SQL

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

Afficher le coût total des fonctions IA par utilisateur​

Pour calculer le coût total d’inférence d’AI Function, incluez l’utilisation des deux produits. La query suivante renvoie le coût catalogue mensuel par utilisateur pour le mois en cours et les 12 mois précédents :

SQL
SELECT
DATE_TRUNC('MONTH', u.usage_date)::DATE AS usage_month,
COALESCE(
u.identity_metadata.run_as,
u.identity_metadata.run_by,
'UNATTRIBUTED'
) AS principal,
ROUND(
SUM(u.usage_quantity * p.pricing.effective_list.default),
2
) AS list_cost_usd
FROM system.billing.usage u
JOIN system.billing.list_prices p
ON u.cloud = p.cloud
AND u.sku_name = p.sku_name
AND u.usage_unit = p.usage_unit
AND u.usage_end_time >= p.price_start_time
AND (p.price_end_time IS NULL OR u.usage_end_time < p.price_end_time)
WHERE p.currency_code = 'USD'
AND u.usage_date >= ADD_MONTHS(DATE_TRUNC('MONTH', CURRENT_DATE()), -12)
AND (
(
u.billing_origin_product = 'MODEL_SERVING'
AND u.product_features.model_serving.offering_type = 'BATCH_INFERENCE'
)
OR u.billing_origin_product = 'AI_FUNCTIONS'
)
GROUP BY 1, 2
ORDER BY 1 DESC, 3 DESC;