Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel leer je hoe je queryverzoeken schrijft voor foundation-modellen die geoptimaliseerd zijn voor redeneertaken en worden bediend door Unity Gateway.
Tip
Genie Code kan dit voor je doen. Probeer dit voorbeeldprompt:
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.
Databricks Foundation Model-API biedt een geïntegreerde API voor interactie met alle Foundation-modellen, waaronder redeneringsmodellen. Redenering biedt basismodellen verbeterde mogelijkheden om complexe taken aan te pakken. Sommige modellen bieden ook transparantie door hun stapsgewijze gedachteproces te onthullen voordat ze een definitief antwoord geven.
Typen redeneringsmodellen
Er zijn twee typen modellen, alleen redeneren en hybride. In de volgende tabel wordt beschreven hoe verschillende modellen verschillende benaderingen gebruiken om redenering te beheren:
| Type redeneringsmodel | Bijzonderheden | Voorbeelden van modellen | Parameterwaarden |
|---|---|---|---|
| Uitsluitend redeneren | Dit model gebruikt redenering bij elk verzoek, en redeneren kan niet worden uitgeschakeld. |
databricks-gemini-4-argon (ADI-diensten) |
Gebruik reasoning_effort met de Chat Completions API, of reasoning.effort met de Open Responses API. Geaccepteerde waarden zijn "low", "medium" (standaard), en "high". Met de Google Gemini API gebruik je thinkingLevel in generationConfig.thinkingConfig. Niet-ondersteunde inspanningswaarden worden afgewezen in plaats van opnieuw gemapt.
"none" en "minimal" schakel redeneren niet uit en worden afgewezen. |
| Hybride redeneren | Dit model ondersteunt adaptief denken voor dieper redeneren, en denken kan worden uitgeschakeld voor snellere reacties. | databricks-claude-haiku-5-5 |
Gebruik de volgende parameters met de Anthropic Messages API:
|
| Uitsluitend redeneren | Dit model gebruikt adaptief denken voor elk verzoek, en redeneren kan niet worden uitgeschakeld. | databricks-claude-opus-5-5 |
Gebruik de volgende parameters met de Anthropic Messages API:
|
| Uitsluitend redeneren | Dit model maakt altijd gebruik van adaptief denken, en redeneren kan niet worden uitgeschakeld. | databricks-claude-fable-5-1 |
Gebruik de volgende parameters met de Anthropic Messages API:
|
| Hybride redeneren | Ondersteunt zowel snelle, directe antwoorden als diepere redenering wanneer dat nodig is. |
|
Parameters verschillen per model:
|
| Uitsluitend redeneren | Deze modellen gebruiken altijd interne redenering in hun antwoorden. | GPT OSS-modellen zoals databricks-gpt-oss-120b en databricks-gpt-oss-20b. |
Gebruik de volgende parameter in uw aanvraag:
|
Queryvoorbeelden
Note
De volgende voorbeelden zijn gebaseerd op Unity Gateway en modelservices. Als u model voor eindpunten gebruikt in plaats van modelservices, vervangt u de naam van de modelservice door een eindpuntnaam. Zie Gedetailleerde lijst van modellen die worden ondersteund door Databricks Foundation Model API's voor een overzicht van beschikbare foundation-modellen en hun modelservice- en eindpuntnamen.
De meeste redeneermodellen gebruiken het chatvoltooiings-endpoint . Claude Haiku 5.5, Claude Opus 5.5 en Claude Fable 5.1 gebruiken de Anthropic Messages API, zoals in hun voorbeelden te zien is.
Voorbeeld van Claude-model
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)
Claude Haiku 5.5 modelvoorbeeld
Claude Haiku 5.5 ondersteunt adaptief denken. Stel output_config.effort in op low, medium of high om de diepte van het redeneren te bepalen. Databricks gebruikt medium wanneer je deze parameter weglaat. Om redeneren uit te schakelen, zet thinking.type op disabled en laat output_config weg.
curl -X POST "https://<workspace_host>.databricks.com/serving-endpoints/anthropic/v1/messages" \
-u token:$DATABRICKS_TOKEN \
-H "Content-Type: application/json" \
-H "anthropic-beta: effort-2025-11-24" \
-d '{
"model": "databricks-claude-haiku-5-5",
"max_tokens": 4096,
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
},
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
]
}'
Voorbeeld van het Claude Opus 5.5 model
Claude Opus 5.5 gebruikt adaptief denken voor elk verzoek. Stel output_config.effort in op low, medium, high, xhigh of max om de redeneerdiepte te regelen. Databricks gebruikt medium wanneer je deze parameter weglaat.
curl -X POST "https://<workspace_host>.databricks.com/ai-gateway/anthropic/v1/messages" \
-u token:$DATABRICKS_TOKEN \
-H "Content-Type: application/json" \
-H "anthropic-beta: effort-2025-11-24" \
-d '{
"model": "databricks-claude-opus-5-5",
"max_tokens": 4096,
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
},
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
]
}'
voorbeeld van het model Claude Fable 5.1
Claude Fable 5.1 gebruikt altijd adaptief denken. Stel output_config.effort in op low, medium, high, xhigh of max om de redeneerdiepte te regelen.
curl -X POST "https://<workspace_host>.databricks.com/ai-gateway/anthropic/v1/messages" \
-u token:$DATABRICKS_TOKEN \
-H "Content-Type: application/json" \
-H "anthropic-beta: effort-2025-11-24" \
-d '{
"model": "databricks-claude-fable-5-1",
"max_tokens": 4096,
"thinking": {
"type": "adaptive"
},
"output_config": {
"effort": "high"
},
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
]
}'
GPT-5.1
De reasoning_effort parameter voor GPT-5.1 is standaard ingesteld op none, maar kan bij aanvragen worden overschreven. Een hogere redenering kan leiden tot meer doordachte en nauwkeurige antwoorden, maar kan de latentie en het tokengebruik verhogen.
curl -X POST "https://<workspace_host>/ai-gateway/mlflow/v1/chat/completions" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gpt-5-1",
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 4096,
"reasoning_effort": "none"
}'
Voorbeeld van GPT OSS-model
De reasoning_effort parameter accepteert "low", "medium" (standaard) of "high" waarden. Een hogere redenering kan leiden tot meer doordachte en nauwkeurige antwoorden, maar kan de latentie en het tokengebruik verhogen.
curl -X POST "https://<workspace_host>/ai-gateway/mlflow/v1/chat/completions" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gpt-oss-120b",
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 4096,
"reasoning_effort": "high"
}'
Gemini 4 Argon-model voorbeeld
Dit voorbeeld gebruikt system.ai.databricks-gemini-4-argon met reasoning_effort ingesteld op "high". Als je de parameter weglaat, gebruikt het model "medium".
import os
from openai import OpenAI
client = OpenAI(
api_key=os.environ["DATABRICKS_TOKEN"],
base_url=os.environ["DATABRICKS_BASE_URL"],
)
response = client.chat.completions.create(
model="system.ai.databricks-gemini-4-argon",
messages=[{"role": "user", "content": "Why is the sky blue?"}],
max_tokens=2000,
reasoning_effort="high",
)
print(response.choices[0].message.content)
Voorbeeld van Gemini-model
In dit voorbeeld wordt system.ai.gemini-3-1-progebruikt. De reasoning_effort-parameter is standaard ingesteld op "low", maar kan worden overschreven in verzoeken, zoals te zien in het volgende voorbeeld.
curl -X POST "https://<workspace_host>/ai-gateway/mlflow/v1/chat/completions" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.gemini-3-1-pro",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 2000,
"stream": true,
"reasoning_effort": "high"
}'
Het API-antwoord bevat zowel denk- als tekstinhoudsblokken:
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
)
Redenering gedurende meerdere beurten beheren
Deze sectie is specifiek voor het databricks-claude-sonnet-4-5 model.
In gesprekken met meerdere beurten zijn alleen de redeneringsblokken die zijn gekoppeld aan de laatste beurt van de assistent of de hulpmiddelgebruik sessie zichtbaar voor het model en worden meegeteld als invoertokens.
Als u geen redeneringstokens wilt doorgeven aan het model (bijvoorbeeld omdat u niet wilt dat het redeneert over zijn eerdere stappen), kunt u het redeneringsblok helemaal weglaten. Voorbeeld:
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)
Als u het model echter nodig hebt om na te denken over zijn vorige redeneringsproces - bijvoorbeeld als u ervaringen creëert die de tussenliggende redenering tonen - moet u het volledige, ongewijzigde assistentbericht opnemen, inclusief het redeneringsblok van de vorige beurt. U kunt als volgt een thread voortzetten met het volledige assistentbericht:
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 voor open antwoorden
Wanneer u de API Voor open antwoorden gebruikt, wordt redenering geretourneerd als reasoning items in het antwoord output. Als u het model in een volgende beurt wilt laten voortbouwen op zijn eerdere redenering, neem dan die reasoning-items op in de encrypted_content van de volgende aanvraag, waarbij het veld input ongewijzigd blijft.
Een reasoning item dat wordt geretourneerd in de antwoorduitvoer heeft de volgende vorm:
{
"type": "reasoning",
"id": "rs_abc123",
"content": [{ "type": "reasoning_text", "text": "Let me work through the question..." }],
"encrypted_content": "<opaque-provider-signature>"
}
Als u het gesprek wilt voortzetten, stuurt u de uitvoer van de vorige beurt terug in input, waarbij het reasoning-item letterlijk ongewijzigd blijft:
{
"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?" }
]
}
De encrypted_content waarde heeft de providerspecifieke redeneringsstatus. Als het wordt weggelaten of gewijzigd, kan het model niet redeneren over zijn eerdere denkproces. Dit geldt voor Anthropic Claude- en Google Gemini-modellen.
Hoe werkt een redeneringsmodel?
Met redeneringsmodellen worden naast de standaardinvoer- en uitvoertokens speciale redeneringstokens geïntroduceerd. Met deze tokens kan het model de prompt doorlopen, opsplitsen en rekening houden met verschillende manieren om te reageren. Na dit interne redeneringsproces genereert het model het uiteindelijke antwoord als zichtbare uitvoertokens. Sommige modellen, zoals databricks-claude-sonnet-4-5, geven deze redeneringstokens weer aan gebruikers, terwijl andere, zoals de OpenAI o-serie, ze negeren en ze niet beschikbaar maken in de uiteindelijke uitvoer.