Aller au contenu principal

Utilisation ai_query

ai_query est une fonction d’IA à usage général qui vous permet de query n’importe quel modèle d’IA pris en charge directement à partir de SQL ou Python. Contrairement aux AI Functions spécifiques à des tâches, qui sont conçues et optimisées pour une seule tâche, ai_query vous offre un contrôle total sur le modèle, l'invite et les parameters.

Pour la référence complète de la syntaxe et des paramètres, voir la fonction ai_query.

astuce

Intégration d'AI Gateway

Si votre compte a la préversion Bêta du Unity AI Gateway activée, les requêtes ai_query vers les Endpoint fournis par Databricks sont automatiquement acheminées via Unity AI Gateway. Ceci active le suivi de l'utilisation pour vos charges de travail d'inférence par batch. Voir les Query Endpoint avec ai_query pour plus de détails.

Exigences

  • Cette fonction n'est pas disponible sur les SQL Warehouses Pro ou Classic.
  • Notebooks et workflows : Serverless compute est requis. ai_query n'est pas pris en charge sur les clusters de compute classiques.
  • Nécessite Databricks Runtime 18.2 ou une version ultérieure.

Quand utiliser ai_query

Databricks recommande de commencer par une fonction d'IA spécifique à une tâche lorsqu'une correspond à votre objectif. Utilisez ai_query lorsqu'une fonction spécifique à une tâche ne répond pas à vos besoins. Par exemple, lorsque vous devez :

  • Contrôlez le prompt, les paramètres du modèle ou le format de sortie plus précisément.
  • Interroger un modèle personnalisé, affiné ou externe
  • Besoin de flexibilité pour optimiser davantage le throughput ou la qualité

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

Bonnes pratiques

  • Utilisez les modèles hébergés par Databricks. Utilisez les Endpoints de modèle de base hébergés par Databricks (avec le préfixe databricks-), au lieu des Endpoints de throughput de provisionnement. Ces Endpoints sont entièrement managés et montent en charge automatiquement sans provisionnement ni configuration.
  • Sélectionnez un modèle optimisé pour l'inférence par batch. Databricks optimise des modèles spécifiques pour les charges de travail par batch à haut throughput. L'utilisation d'un modèle non optimisé peut entraîner un throughput réduit et des délais d'exécution des Jobs plus longs. Consultez la liste complète des modèles pris en charge pour les modèles optimisés par batch.
  • Soumettez votre dataset complet dans une seule query. AI Functions gèrent automatiquement la parallélisation, les nouvelles tentatives et la mise à l'échelle. La séparation manuelle des données en petits batches peut réduire le throughput.
  • **Définissez failOnError sur false pour les charges de travail importantes.** Cela permet au Job de se terminer et de renvoyer des messages d'erreur pour les lignes ayant échoué, afin que vous conserviez les résultats réussis sans retraiter l'intégralité du dataset.

Modèles pris en charge

ai_query prend en charge les modèles hébergés par Databricks, les modèles à throughput provisionné, les modèles personnalisés et les modèles externes.

Le tableau suivant récapitule les types de modèles pris en charge, les modèles associés et les exigences de configuration de l'Endpoint de diffusion de modèle pour chacun.

Type

Description

Modèles pris en charge

Exigences

Modèles hébergés par Databricks

Databricks héberge ces modèles de fondation et offre des endpoints préconfigurés que vous pouvez interroger à l'aide de ai_query. Consultez Modèles de fondation pris en charge sur Model Serving pour connaître les modèles pris en charge pour chaque fonctionnalité de Model Serving et leur disponibilité régionale.

Consultez Modèles de fondation pris en charge sur Model Serving pour obtenir la liste complète des modèles de fondation pris en charge sur Model Serving. Ces modèles sont pris en charge et optimisés pour démarrer l’inférence par batch et les workflows de production :

  • databricks-gpt-5-2
  • databricks-gpt-5-1
  • databricks-gpt-5
  • databricks-gpt-5-mini
  • databricks-gpt-5-nano
  • databricks-gpt-5-5
  • databricks-gpt-5-4-mini
  • databricks-gpt-5-4-nano
  • databricks-gemini-3-1-pro
  • databricks-gemini-3-flash
  • databricks-gemini-3-6-flash
  • databricks-gemini-3-5-flash
  • databricks-gemini-3-1-flash-lite
  • databricks-gemini-2-5-pro
  • databricks-gemini-2-5-flash
  • databricks-qwen35-122b-a10b
  • databricks-qwen3-next-80b-a3b-instruct
  • databricks-claude-opus-4-8
  • databricks-claude-opus-4-7
  • databricks-claude-opus-4-6
  • databricks-claude-sonnet-4-6
  • databricks-claude-sonnet-4
  • databricks-gpt-oss-20b
  • databricks-gpt-oss-120b
  • databricks-gemma-3-12b
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-qwen3-embedding-0-6b
  • databricks-gte-large-en

D’autres modèles hébergés par Databricks sont disponibles pour une utilisation avec AI Functions, mais ils ne sont pas recommandés pour les workflows de production d’inférence par batch à grande échelle. Ces autres modèles sont mis à disposition pour l’inférence en temps réel à l’aide des APIs du modèle de fondation du paiement par jeton.

Databricks Runtime 15.4 LTS ou version ultérieure est requis pour utiliser cette fonctionnalité. Ne nécessite aucun provisionnement ni aucune configuration d'endpoint. Votre utilisation de ces modèles est soumise aux conditions de modèle applicables et à la disponibilité régionale des AI Functions.

Modèles de throughput provisionné

AI Functions fonctionne avec des modèles à throughput provisionné déployés sur Model Serving.

  • Modèles de fondation affinés déployés sur Model Serving
  • Modèles de throughput provisionné déployés sur Model Serving

Modèles personnalisés et modèles externes

Vous pouvez apporter vos propres modèles personnalisés ou externes et les interroger à l'aide des AI Functions. AI Functions offre une flexibilité vous permettant de query des modèles pour l'inférence en temps réel ou les scénarios d'inférence par batch.

Type

Description

Modèles pris en charge

Exigences

Modèles hébergés par Databricks

Databricks héberge ces modèles de fondation et offre des endpoints préconfigurés que vous pouvez interroger à l'aide de ai_query. Consultez Modèles de fondation pris en charge sur Model Serving pour connaître les modèles pris en charge pour chaque fonctionnalité de Model Serving et leur disponibilité régionale.

Consultez Modèles de fondation pris en charge sur Model Serving pour obtenir la liste complète des modèles de fondation pris en charge sur Model Serving. Ces modèles sont pris en charge et optimisés pour démarrer l’inférence par batch et les workflows de production :

  • databricks-gpt-5-2
  • databricks-gpt-5-1
  • databricks-gpt-5
  • databricks-gpt-5-mini
  • databricks-gpt-5-nano
  • databricks-gpt-5-5
  • databricks-gpt-5-4-mini
  • databricks-gpt-5-4-nano
  • databricks-gemini-3-1-pro
  • databricks-gemini-3-flash
  • databricks-gemini-3-6-flash
  • databricks-gemini-3-5-flash
  • databricks-gemini-3-1-flash-lite
  • databricks-gemini-2-5-pro
  • databricks-gemini-2-5-flash
  • databricks-qwen35-122b-a10b
  • databricks-qwen3-next-80b-a3b-instruct
  • databricks-claude-opus-4-8
  • databricks-claude-opus-4-7
  • databricks-claude-opus-4-6
  • databricks-claude-sonnet-4-6
  • databricks-claude-sonnet-4
  • databricks-gpt-oss-20b
  • databricks-gpt-oss-120b
  • databricks-gemma-3-12b
  • databricks-llama-4-maverick
  • databricks-meta-llama-3-3-70b-instruct
  • databricks-meta-llama-3-1-8b-instruct
  • databricks-qwen3-embedding-0-6b
  • databricks-gte-large-en

D’autres modèles hébergés par Databricks sont disponibles pour une utilisation avec AI Functions, mais ils ne sont pas recommandés pour les workflows de production d’inférence par batch à grande échelle. Ces autres modèles sont mis à disposition pour l’inférence en temps réel à l’aide des APIs du modèle de fondation du paiement par jeton.

Databricks Runtime 15.4 LTS ou version ultérieure est requis pour utiliser cette fonctionnalité. Ne nécessite aucun provisionnement ni aucune configuration d'endpoint. Votre utilisation de ces modèles est soumise aux conditions de modèle applicables et à la disponibilité régionale des AI Functions.

Modèles de throughput provisionné

AI Functions fonctionne avec des modèles à throughput provisionné déployés sur Model Serving.

  • Modèles de fondation affinés déployés sur Model Serving
  • Modèles de throughput provisionné déployés sur Model Serving

Modèles personnalisés et modèles externes

Vous pouvez apporter vos propres modèles personnalisés ou externes et les interroger à l'aide des AI Functions. AI Functions offre une flexibilité vous permettant de query des modèles pour l'inférence en temps réel ou les scénarios d'inférence par batch.

Utilisez ai_query avec les modèles de fondation

L'exemple suivant montre comment utiliser ai_query avec un modèle de fondation hébergé par Databricks.

SQL
SELECT text, ai_query(
"databricks-gpt-oss-120b",
"Summarize the given text comprehensively, covering key points and main ideas concisely while retaining relevant details and examples. Ensure clarity and accuracy without unnecessary repetition or omissions: " || text
) AS summary
FROM uc_catalog.schema.table;

Exemple de Notebook : Inférence par batch et extraction de données structurées

Le notebook d'exemple suivant montre comment effectuer une extraction de données structurées de base à l'aide de ai_query pour transformer des données brutes et non structurées en informations organisées et utilisables grâce à des techniques d'extraction automatisée. Ce notebook montre également comment tirer parti d'Agent Evaluation pour évaluer la précision à l'aide des données de vérité terrain.

Notebook d'inférence par batch et d'extraction de données structurées

Utiliser ai_query avec des modèles ML traditionnels

ai_query prend en charge les modèles de ML traditionnels, y compris ceux entièrement personnalisés. Ces modèles doivent être déployés sur des Endpoints de Model Serving. Pour les détails de la syntaxe et les paramètres, voir la fonctionai_query.

SQL
SELECT text, ai_query(
endpoint => "spam-classification",
request => named_struct(
"timestamp", timestamp,
"sender", from_number,
"text", text),
returnType => "BOOLEAN") AS is_spam
FROM catalog.schema.inbox_messages
LIMIT 10

Exemple de Notebook : Inférence batch utilisant BERT pour la reconnaissance d'entités nommées

Le notebook suivant présente un exemple d'inférence par batch de modèle ML traditionnel à l'aide de BERT.

Notebook d'inférence par batch utilisant BERT pour la reconnaissance d'entités nommées.