Aller au contenu principal

Modèles de raisonnement de query

Dans cet article, vous apprendrez à rédiger des requêtes de query pour des modèles de fondation optimisés pour les tâches de raisonnement, et servis par Unity AI Gateway.

prompt

Genie Code (mode Agent) peut le faire pour vous. Essayez cet exemple de prompt :

Query the databricks-claude-sonnet-4-5 model using the OpenAI client with extended thinking enabled (budget_tokens set to 10240). Send a reasoning question and print both the thinking summary and the final answer.

L'API de modèle de fondation Databricks fournit une API unifiée pour interagir avec tous les modèles de fondation, y compris les modèles de raisonnement. Le raisonnement confère aux modèles de fondation des capacités améliorées pour s'attaquer à des tâches complexes. Certains modèles offrent également une transparence en révélant leur processus de pensée étape par étape avant de fournir une réponse finale.

Types de modèles de raisonnement

Il existe deux types de modèles : basés uniquement sur le raisonnement et hybrides. Le tableau suivant décrit comment différents modèles utilisent différentes approches pour contrôler le raisonnement :

Modèles

Type de modèle de raisonnement

Détails

Paramètres

Modèles GPT-5 comme databricks-gpt-5-6-sol, databricks-gpt-5-6-terra, databricks-gpt-5-6-luna, databricks-gpt-5-5-pro, databricks-gpt-5-5, databricks-gpt-5-4, databricks-gpt-5-4-mini, databricks-gpt-5-4-nano, databricks-gpt-5-2, databricks-gpt-5-1, databricks-gpt-5, databricks-gpt-5-mini et databricks-gpt-5-nano.

Raisonnement uniquement

Ces modèles utilisent toujours un raisonnement interne dans leurs réponses.

Utilisez le paramètre suivant dans votre requête :

  • reasoning_effort: Ce parameter n'est accepté que par un ensemble limité de modèles. Un effort de raisonnement plus élevé peut entraîner des réponses plus réfléchies et plus précises, mais peut augmenter la latence et l'utilisation des jetons.
    • Pour GPT-5.5 et GPT-5.5 Pro, le parameter reasoning_effort est set to medium by default, mais peut être remplacé dans les requêtes.
    • Pour GPT-5.1 et GPT-5.2, le parameter reasoning_effort est défini par default sur none, mais peut être remplacé dans les requêtes.
    • Pour GPT-5, GPT-5 mini et GPT-5 nano, le paramètre reasoning_effort est défini sur minimal par default, mais peut être remplacé dans les requêtes.

Modèles Claude tels que databricks-claude-sonnet-4-6, databricks-claude-sonnet-4-5, databricks-claude-sonnet-4, databricks-claude-opus-4-8, databricks-claude-opus-4-7, databricks-claude-opus-4-6, databricks-claude-opus-4-5 et databricks-claude-opus-4-1.

Raisonnement hybride

Ces modèles prennent en charge les réponses rapides et instantanées ainsi qu'un raisonnement plus approfondi si nécessaire.

Incluez les paramètres suivants pour utiliser le raisonnement hybride :

  • thinking
  • budget_tokens: contrôle le nombre de jetons que le modèle peut utiliser pour la réflexion interne. Des budgets plus élevés peuvent améliorer la qualité des tâches complexes, mais l'utilisation au-delà de 32 K peut varier. budget_tokens doit être inférieur à max_tokens.

Modèles Gemini 3 tels que databricks-gemini-3-6-flash, databricks-gemini-3-5-flash, databricks-gemini-3-1-pro, databricks-gemini-3-1-flash-lite et databricks-gemini-3-flash

Raisonnement hybride

Ces modèles prennent en charge les réponses rapides et instantanées ainsi qu'un raisonnement plus approfondi si nécessaire.

Incluez les paramètres suivants pour utiliser le raisonnement hybride :

  • reasoning_effort: ce paramètre est accepté par les modèles Gemini 3 et supérieurs.
    • Pour les modèles Gemini 3, ce paramètre accepte les valeurs "low" (par default), "medium" ou "high".

Modèles Gemini 2,5 comme databricks-gemini-2-5-pro et databricks-gemini-2-5-flash.

Raisonnement hybride

Ces modèles prennent en charge les réponses rapides et instantanées ainsi qu'un raisonnement plus approfondi si nécessaire.

Incluez les paramètres suivants pour utiliser le raisonnement hybride :

  • thinking
  • budget_tokens: contrôle le nombre de jetons que le modèle peut utiliser pour la réflexion interne. Des budgets plus élevés peuvent améliorer la qualité des tâches complexes, mais l'utilisation au-delà de 32 K peut varier. budget_tokens doit être inférieur à max_tokens.

Modèles GPT OSS comme databricks-gpt-oss-120b et databricks-gpt-oss-20b.

Raisonnement uniquement

Ces modèles utilisent toujours un raisonnement interne dans leurs réponses.

Utilisez le paramètre suivant dans votre requête :

  • reasoning_effort: Ce parameter n'est accepté que par un ensemble limité de modèles. Un effort de raisonnement plus élevé peut entraîner des réponses plus réfléchies et plus précises, mais peut augmenter la latence et l'utilisation des jetons.
    • Pour les modèles GPT OSS, ce paramètre accepte les valeurs "low", "medium" (default) ou "high".

databricks-glm-5-2 et databricks-inkling.

Raisonnement uniquement

Ces modèles utilisent toujours un raisonnement interne dans leurs réponses.

Utilisez le paramètre suivant dans votre requête :

  • reasoning_effort: Ce parameter n'est accepté que par un ensemble limité de modèles. Un effort de raisonnement plus élevé peut entraîner des réponses plus réfléchies et plus précises, mais peut augmenter la latence et l'utilisation des jetons.

Modèles

Type de modèle de raisonnement

Détails

Paramètres

Modèles GPT-5 comme databricks-gpt-5-6-sol, databricks-gpt-5-6-terra, databricks-gpt-5-6-luna, databricks-gpt-5-5-pro, databricks-gpt-5-5, databricks-gpt-5-4, databricks-gpt-5-4-mini, databricks-gpt-5-4-nano, databricks-gpt-5-2, databricks-gpt-5-1, databricks-gpt-5, databricks-gpt-5-mini et databricks-gpt-5-nano.

Raisonnement uniquement

Ces modèles utilisent toujours un raisonnement interne dans leurs réponses.

Utilisez le paramètre suivant dans votre requête :

  • reasoning_effort: Ce parameter n'est accepté que par un ensemble limité de modèles. Un effort de raisonnement plus élevé peut entraîner des réponses plus réfléchies et plus précises, mais peut augmenter la latence et l'utilisation des jetons.
    • Pour GPT-5.5 et GPT-5.5 Pro, le parameter reasoning_effort est set to medium by default, mais peut être remplacé dans les requêtes.
    • Pour GPT-5.1 et GPT-5.2, le parameter reasoning_effort est défini par default sur none, mais peut être remplacé dans les requêtes.
    • Pour GPT-5, GPT-5 mini et GPT-5 nano, le paramètre reasoning_effort est défini sur minimal par default, mais peut être remplacé dans les requêtes.

Modèles Claude tels que databricks-claude-sonnet-4-6, databricks-claude-sonnet-4-5, databricks-claude-sonnet-4, databricks-claude-opus-4-8, databricks-claude-opus-4-7, databricks-claude-opus-4-6, databricks-claude-opus-4-5 et databricks-claude-opus-4-1.

Raisonnement hybride

Ces modèles prennent en charge les réponses rapides et instantanées ainsi qu'un raisonnement plus approfondi si nécessaire.

Incluez les paramètres suivants pour utiliser le raisonnement hybride :

  • thinking
  • budget_tokens: contrôle le nombre de jetons que le modèle peut utiliser pour la réflexion interne. Des budgets plus élevés peuvent améliorer la qualité des tâches complexes, mais l'utilisation au-delà de 32 K peut varier. budget_tokens doit être inférieur à max_tokens.

Modèles Gemini 3 tels que databricks-gemini-3-6-flash, databricks-gemini-3-5-flash, databricks-gemini-3-1-pro, databricks-gemini-3-1-flash-lite et databricks-gemini-3-flash

Raisonnement hybride

Ces modèles prennent en charge les réponses rapides et instantanées ainsi qu'un raisonnement plus approfondi si nécessaire.

Incluez les paramètres suivants pour utiliser le raisonnement hybride :

  • reasoning_effort: ce paramètre est accepté par les modèles Gemini 3 et supérieurs.
    • Pour les modèles Gemini 3, ce paramètre accepte les valeurs "low" (par default), "medium" ou "high".

Modèles Gemini 2,5 comme databricks-gemini-2-5-pro et databricks-gemini-2-5-flash.

Raisonnement hybride

Ces modèles prennent en charge les réponses rapides et instantanées ainsi qu'un raisonnement plus approfondi si nécessaire.

Incluez les paramètres suivants pour utiliser le raisonnement hybride :

  • thinking
  • budget_tokens: contrôle le nombre de jetons que le modèle peut utiliser pour la réflexion interne. Des budgets plus élevés peuvent améliorer la qualité des tâches complexes, mais l'utilisation au-delà de 32 K peut varier. budget_tokens doit être inférieur à max_tokens.

Modèles GPT OSS comme databricks-gpt-oss-120b et databricks-gpt-oss-20b.

Raisonnement uniquement

Ces modèles utilisent toujours un raisonnement interne dans leurs réponses.

Utilisez le paramètre suivant dans votre requête :

  • reasoning_effort: Ce parameter n'est accepté que par un ensemble limité de modèles. Un effort de raisonnement plus élevé peut entraîner des réponses plus réfléchies et plus précises, mais peut augmenter la latence et l'utilisation des jetons.
    • Pour les modèles GPT OSS, ce paramètre accepte les valeurs "low", "medium" (default) ou "high".

databricks-glm-5-2 et databricks-inkling.

Raisonnement uniquement

Ces modèles utilisent toujours un raisonnement interne dans leurs réponses.

Utilisez le paramètre suivant dans votre requête :

  • reasoning_effort: Ce parameter n'est accepté que par un ensemble limité de modèles. Un effort de raisonnement plus élevé peut entraîner des réponses plus réfléchies et plus précises, mais peut augmenter la latence et l'utilisation des jetons.

Exemples de query

remarque

Les exemples suivants sont basés sur Unity AI Gateway et les services de modèles. Si vous utilisez des Endpoint de diffusion de modèles au lieu de services de modèles, remplacez le nom du service de modèle par un nom d'Endpoint. Voir modèles de fondation hébergés par Databricks disponibles dans les API Foundation Model pour une liste des modèles de fondation disponibles ainsi que leurs noms de service de modèle et d'Endpoint.

Tous les modèles de raisonnement sont accessibles via l'endpoint de complétion de chat.

Python
import os
from openai import OpenAI

client = OpenAI(
api_key=os.environ.get('YOUR_DATABRICKS_TOKEN'),
base_url=os.environ.get('YOUR_DATABRICKS_BASE_URL')
)

response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[{"role": "user", "content": "Why is the sky blue?"}],
max_tokens=20480,
extra_body={
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
)

msg = response.choices[0].message
reasoning = msg.content[0]["summary"][0]["text"]
answer = msg.content[1]["text"]

print("Reasoning:", reasoning)
print("Answer:", answer)

La réponse de l'API comprend des blocs de contenu de réflexion et de texte :

Python
ChatCompletionMessage(
role="assistant",
content=[
{
"type": "reasoning",
"summary": [
{
"type": "summary_text",
"text": ("The question is asking about the scientific explanation for why the sky appears blue... "),
"signature": ("EqoBCkgIARABGAIiQAhCWRmlaLuPiHaF357JzGmloqLqkeBm3cHG9NFTxKMyC/9bBdBInUsE3IZk6RxWge...")
}
]
},
{
"type": "text",
"text": (
"# Why the Sky Is Blue\n\n"
"The sky appears blue because of a phenomenon called Rayleigh scattering. Here's how it works..."
)
}
],
refusal=None,
annotations=None,
audio=None,
function_call=None,
tool_calls=None
)

Gérer le raisonnement sur plusieurs tours

Cette section est spécifique au modèle databricks-claude-sonnet-4-5.

Dans les conversations multi-tours, seuls les blocs de raisonnement associés au dernier tour de l'assistant ou à la session d'utilisation d'outils sont visibles par le modèle et sont comptabilisés comme des jetons d'entrée.

Si vous ne souhaitez pas transmettre les jetons de raisonnement au modèle (par exemple, vous n'avez pas besoin qu'il raisonne sur ses étapes précédentes), vous pouvez omettre entièrement le bloc de raisonnement. Par exemple :

Python
response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{"role": "user", "content": "Why is the sky blue?"},
{"role": "assistant", "content": text_content},
{"role": "user", "content": "Can you explain in a way that a 5-year-old child can understand?"}
],
max_tokens=20480,
extra_body={
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
)

answer = response.choices[0].message.content[1]["text"]
print("Answer:", answer)

Toutefois, si vous avez besoin que le modèle raisonne sur son processus de raisonnement précédent — par exemple, si vous créez des expériences qui mettent en évidence son raisonnement intermédiaire —, vous devez inclure le message de l'assistant complet et non modifié, y compris le bloc de raisonnement du tour précédent. Voici comment poursuivre un fil de discussion avec le message complet de l'assistant :

Python
assistant_message = response.choices[0].message

response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{"role": "user", "content": "Why is the sky blue?"},
{"role": "assistant", "content": text_content},
{"role": "user", "content": "Can you explain in a way that a 5-year-old child can understand?"},
assistant_message,
{"role": "user", "content": "Can you simplify the previous answer?"}
],
max_tokens=20480,
extra_body={
"thinking": {
"type": "enabled",
"budget_tokens": 10240
}
}
)

answer = response.choices[0].message.content[1]["text"]
print("Answer:", answer)

API de réponses ouvertes

Lorsque vous utilisez l'API des réponses ouvertes, le raisonnement est renvoyé sous la forme de reasoning éléments dans la réponse output. Pour permettre au modèle de raisonner sur sa réflexion précédente lors d'une étape ultérieure, incluez ces reasoning éléments — avec leur champ encrypted_content inchangé — dans le input de la prochaine requête.

Un élément reasoning retourné dans la sortie de la réponse a la forme suivante :

JSON
{
"type": "reasoning",
"id": "rs_abc123",
"content": [{ "type": "reasoning_text", "text": "Let me work through the question..." }],
"encrypted_content": "<opaque-provider-signature>"
}

Pour continuer la conversation, renvoyez la sortie du tour précédent dans input, avec l'élément reasoning conservé tel quel :

JSON
{
"model": "databricks-claude-sonnet-4-5",
"input": [
{ "role": "user", "content": "Why is the sky blue?" },
{
"type": "reasoning",
"id": "rs_abc123",
"content": [{ "type": "reasoning_text", "text": "Let me work through the question..." }],
"encrypted_content": "<opaque-provider-signature>"
},
{ "role": "assistant", "content": "The sky is blue because of Rayleigh scattering..." },
{ "role": "user", "content": "Can you explain it for a five-year-old?" }
]
}

La valeur encrypted_content comporte un état de la raison spécifique au fournisseur. S'il est supprimé ou modifié, le modèle ne peut pas raisonner sur sa réflexion antérieure. Ceci s'applique aux modèles Anthropic Claude et Google Gemini.

Comment fonctionne un modèle de raisonnement ?

Les modèles de raisonnement introduisent des jetons de raisonnement spéciaux en plus des jetons d'entrée et de sortie standard. Ces jetons permettent au modèle de « penser » via le prompt, en le décomposant et en envisageant différentes manières de répondre. Après ce processus de raisonnement interne, le modèle génère sa réponse finale sous forme de jetons de sortie visibles. Certains modèles, comme databricks-claude-sonnet-4-5, affichent ces jetons de raisonnement aux utilisateurs, tandis que d’autres, tels que la série OpenAI o, les ignorent et ne les exposent pas dans la sortie finale.

Ressources supplémentaires