Utilisez ai_query.

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

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

Exigences

  • Cette fonction n’est pas disponible sur les entrepôts SQL classiques.
  • Databricks Runtime 15.4 LTS ou supérieur est requis. Databricks Runtime 18.2 ou supérieur est recommandé pour les meilleures performances et l’accès aux dernières fonctionnalités.

Quand utiliser ai_query

Databricks recommande de commencer par une fonction IA spécifique à une tâche lorsqu’une fonction 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ôler l’invite, les paramètres du modèle ou le format de sortie plus précisément
  • Interroger un modèle personnalisé, optimisé ou externe
  • Besoin de flexibilité pour optimiser davantage le débit ou la qualité

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

Bonnes pratiques

  • Utilisez des modèles hébergés par Databricks. Utilisez system.ai des services modèles au lieu de terminaux de débit provisionnés. Ces services modèles sont entièrement gérés et évoluent automatiquement sans provisionnement ni configuration.
  • Sélectionnez un modèle optimisé pour l’inférence par lots. Databricks optimise des modèles spécifiques pour les charges de travail batch à débit élevé. L’utilisation d’un modèle non optimisé peut entraîner une réduction du débit et des délais d’achèvement des travaux plus longs. Consultez les modèles pris en charge pour obtenir la liste complète des modèles optimisés par lots.
  • Envoyez votre jeu de données complet dans une requête unique. AI Functions gère automatiquement la parallélisation, les nouvelles tentatives et la mise à l’échelle. Le fractionnement manuel des données en petits lots peut réduire le débit.
  • Définissez failOnError sur false pour les charges de travail volumineuses. Cela permet à la tâche de s'achever et de retourner des messages d’erreur pour les lignes ayant échoué, vous permettant ainsi de conserver les résultats réussis sans retraiter l’ensemble du jeu de données.

Gouvernance de la passerelle Unity AI

ai_query les requêtes vers les services de modèle system.ai (par exemple, system.ai.gpt-5-4) sont automatiquement acheminées via Unity AI Gateway. Les services de modèle que vous créez dans Unity AI Gateway ne sont pas encore pris en charge. Seule une partie des fonctionnalités de la passerelle Unity AI s’applique aux requêtes routées :

  • Pris en charge : suivi de l’utilisation, intégration budgétaire (y compris plafonds de dépenses strictes), et vérifications des autorisations sur le service modèle.
  • Non pris en charge : garde-fous (politiques de service), tables d’inférence, tables de traçage, limites de taux, plans de secours et fournisseurs de modèles externes.

Voir points de terminaison de requête avec ai_query pour plus de détails.

Modèles pris en charge

ai_query prend en charge les modèles hébergés par Databricks, les modèles de débit provisionnés, 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 point de terminaison pour chacun d’eux.

Type Description Modèles pris en charge Exigences
Modèles hébergés par Databricks Azure Databricks héberge ces modèles de fondation et propose system.ai des services de modèles que vous pouvez interroger en utilisant ai_query. Consultez les modèles de base pris en charge sur Model Service pour lesquels les modèles sont pris en charge pour chaque fonctionnalité Model Serving et leur disponibilité dans leur région. Consultez les modèles de base pris en charge sur Model Service pour obtenir la liste complète des modèles de base pris en charge sur Model Serving. Ces modèles sont pris en charge et optimisés pour la prise en main des flux de travail d’inférence et de production par lots :
  • system.ai.qwen35-122b-a10b
  • system.ai.qwen3-next-80b-a3b-instruct
  • system.ai.claude-opus-5
  • system.ai.claude-opus-4-8
  • system.ai.claude-opus-4-7
  • system.ai.claude-opus-4-6
  • system.ai.claude-sonnet-4-6
  • system.ai.claude-sonnet-4
  • system.ai.gpt-oss-20b
  • system.ai.gpt-oss-120b
  • system.ai.gemma-3-12b
  • system.ai.llama-4-maverick
  • system.ai.meta-llama-3-3-70b-instruct
  • system.ai.meta-llama-3-1-8b-instruct
  • system.ai.qwen3-embedding-0-6b
  • system.ai.gte-large-en

Les modèles OpenAI et Google Gemini sont disponibles uniquement via les services ADI, fournis par Databricks. Pour accéder à ces modèles dans votre environnement de Azure Databricks, consultez ADI Services.
D’autres modèles hébergés Azure Databricks sont disponibles pour une utilisation avec AI Functions, mais ne sont pas recommandés pour les flux de travail de production d’inférence par lots à grande échelle. Ces autres modèles sont disponibles pour l’inférence en temps réel à l’aide des API Foundation Model pay-per-token.
Databricks Runtime 15.4 LTS ou version ultérieure est nécessaire pour utiliser cette fonctionnalité. Ne nécessite aucune configuration ou aucun approvisionnement de point de terminaison. Votre utilisation de ces modèles est soumise aux termes du modèle applicable et à la disponibilité de la région AI Functions.
Modèles de débit provisionnés AI Functions fonctionne avec des modèles de débit provisionnés déployés sur Model Service.
  • Modèles de base affinés déployés sur Model Service
  • Modèles de débit provisionnés déployés sur Model Service
Modèles personnalisés et modèles externes Vous pouvez apporter vos propres modèles personnalisés ou externes et les interroger à l’aide de fonctions IA. AI Functions offre une flexibilité afin de pouvoir interroger des modèles pour des scénarios d’inférence en temps réel ou d’inférence par lots.

Utiliser ai_query avec des modèles de base

L’exemple suivant montre comment utiliser ai_query avec un modèle de base hébergé par Azure Databricks.

SQL

SELECT text, ai_query(
    "system.ai.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;

Python

df_out = df.selectExpr(
  "ai_query('system.ai.gpt-oss-120b', CONCAT('Please provide a summary of the following text: ', text), modelParameters => named_struct('max_tokens', 100, 'temperature', 0.7)) as summary"
)
df_out.write.mode("overwrite").saveAsTable('output_table')

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

L’exemple de notebook suivant montre comment extraire des données structurées de base en utilisant ai_query pour transformer des données non structurées brutes en informations organisées et exploitables grâce à des techniques d’extraction automatisées. Ce notebook montre également comment tirer parti de l’évaluation des agents pour mesurer la précision en utilisant des données de référence.

Bloc-notes d’inférence batch et d’extraction de données structurées

Obtenir un ordinateur portable

Utiliser ai_query avec des modèles ML traditionnels

ai_query prend en charge les modèles ML traditionnels, y compris les modèles entièrement personnalisés. Ces modèles doivent être déployés sur les points de terminaison Model Service. Pour plus d’informations sur la syntaxe et les paramètres, consultez ai_query la fonction.

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 par lots à l’aide de BERT pour la reconnaissance des entités nommées

Le notebook suivant présente un exemple d'inférence par lot d'un modèle ML traditionnel en utilisant BERT.

Notebook d’inférence par lots utilisant BERT pour la reconnaissance d’entités nommées

Obtenir un ordinateur portable