Frågeresoneringsmodeller

I den här artikeln lär du dig hur man skriver frågeförfrågningar för grundmodeller optimerade för resonemangsuppgifter och som hanteras av Unity Gateway.

Tip

Genie Code (agentläge) kan göra detta åt dig. Prova den här exempelprompten:

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 tillhandahåller ett enhetligt API för att interagera med alla Foundation-modeller, inklusive resonemangsmodeller. Resonemang ger grundläggande modeller förbättrade funktioner för att hantera komplexa uppgifter. Vissa modeller ger också transparens genom att avslöja sin stegvisa tankeprocess innan de levererar ett slutgiltigt svar.

Typer av resonemangsmodeller

Det finns två typer av modeller, endast resonemang och hybrid. I följande tabell beskrivs hur olika modeller använder olika metoder för att styra resonemang:

Typ av resonemangsmodell Detaljer Modellexempel Parameterar
Hybridskäl Denna modell stödjer adaptivt tänkande för djupare resonemang, och tänkande kan inaktiveras för snabbare svar. databricks-claude-haiku-5-5 Använd följande parametrar med Anthropic Messages API:et:
  • thinking: Ställ in type på adaptive för att använda resonemang eller på disabled för att inaktivera det.
  • output_config.effort: Godkänner low, medium eller high. Databricks sätter standardinställningen till medium när du utelämnar denna parameter. Andra värden, inklusive none, xhigh, och max, förkastas.
Endast resonemang Denna modell använder adaptivt tänkande för varje begäran, och resonemang kan inte inaktiveras. databricks-claude-opus-5-5 Använd följande parametrar med Anthropic Messages API:et:
  • thinking: Ställ type in på adaptive. Funktionsnedsatt tänkande och manuella budget_tokens värden förkastas.
  • output_config.effort: Accepterar xhigh, max, high, medium eller low. Databricks sätter standardinställningen till medium när du utelämnar denna parameter. Andra värden, inklusive none och disabled, förkastas.
Endast resonemang Denna modell använder alltid adaptivt tänkande, och resonemang kan inte inaktiveras. databricks-claude-fable-5-1 Använd följande parametrar med Anthropic Messages API:et:
  • thinking: Ställ type in på adaptive.
  • output_config.effort: Accepterar xhigh, max, high, medium eller low. Databricks sätter ingen standard; Anthropic använder high när du utelämnar denna parameter. Andra värderingar, inklusive none, förkastas.
Hybridskäl Stöder både snabba, omedelbara svar och djupare resonemang när det behövs.
  • Claude-modeller som databricks-claude-sonnet-4-6, databricks-claude-sonnet-4-5, databricks-claude-opus-5, databricks-claude-opus-4-8, databricks-claude-opus-4-7, databricks-claude-opus-4-6, och databricks-claude-opus-4-5databricks-claude-opus-4-1.
  • databricks-deepseek-v4-1-flash
Parametrarna varierar beroende på modell:
  • För Claude-modeller, använd thinking och budget_tokens. Parametern budget_tokens styr hur många tokens modellen kan använda för internt tänkande. Högre budgetar kan förbättra kvaliteten för komplexa uppgifter, men användningen över 32 K kan variera. budget_tokens måste vara mindre än max_tokens.
  • För DeepSeek V4.1 Flash reasoning_effort accepterar "low", "high", "xhigh", eller "max" (standard). "minimal" mappas till "low" och "medium" mappas till "high". "none" eller "disabled" försvagar resonemanget. Andra värden förkastas.
Endast resonemang Dessa modeller använder alltid interna resonemang i sina svar. GPT OSS-modeller som databricks-gpt-oss-120b och databricks-gpt-oss-20b. Använd följande parameter i din begäran:
  • reasoning_effort: accepterar värden för "low", "medium" (standard) eller "high". Högre resonemang kan resultera i mer eftertänksamma och korrekta svar, men kan öka svarstiden och tokenanvändningen. Den här parametern godkänns endast av en begränsad uppsättning modeller, inklusive databricks-gpt-oss-120b och databricks-gpt-oss-20b.

Frågeexempel

Anmärkning

Följande exempel baseras på Unity Gateway och modelltjänster. Om du använder modell som betjänar slutpunkter i stället för modelltjänster ersätter du modelltjänstens namn med ett slutpunktsnamn. Se Detaljerad lista över modeller som stöds av Databricks Foundation Model API:er för en lista över tillgängliga grundmodeller samt deras modelltjänst- och slutpunktsnamn.

De flesta resonerande modeller använder slutpunkten för chattkompletteringar. Claude Haiku 5.5, Claude Opus 5.5 och Claude Fable 5.1 använder Anthropic Messages API, som visas i deras exempel.

Claude-modellexempel

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)

Modellexempel för Claude Haiku 5.5

Claude Haiku 5.5 stödjer adaptivt tänkande. Sätt output_config.effort till low, medium, eller high för att kontrollera resonemangsdjupet. Databricks använder medium när du utelämnar denna parameter. För att inaktivera resonemang, sätt thinking.type till disabled och utelämna output_config.

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?"
      }
    ]
  }'

Exempel på Claude Opus 5.5-modellen

Claude Opus 5.5 använder adaptivt tänkande för varje begäran. Ställ in high på xhigh, max, medium, low eller output_config.effort för att styra resonemangsdjupet. Databricks använder medium när du utelämnar denna parameter.

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?"
      }
    ]
  }'

Exempel på Claude Fable 5.1-modellen

Claude Fable 5.1 använder alltid adaptivt tänkande. Ställ in high på xhigh, max, medium, low eller output_config.effort för att styra resonemangsdjupet.

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

Parametern reasoning_effort för GPT-5.1 är inställd none på som standard, men kan åsidosättas i begäranden. Högre resonemang kan resultera i mer eftertänksamma och korrekta svar, men kan öka svarstiden och tokenanvändningen.

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"
  }'

GPT OSS-modellexempel

Parametern reasoning_effort accepterar "low", "medium" (standard) eller "high" värden. Högre resonemang kan resultera i mer eftertänksamma och korrekta svar, men kan öka svarstiden och tokenanvändningen.

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"
  }'

Exempel på Gemini-modell

I det här exemplet används system.ai.gemini-3-1-pro. Parametern reasoning_effort är inställd "low" på som standard, men kan åsidosättas i begäranden enligt följande exempel.

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"
  }'

API-svaret innehåller både block för tankeinnehåll och textinnehåll.

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
)

Hantera resonemang över flera turer

Det här avsnittet är specifikt för databricks-claude-sonnet-4-5 modellen.

I konversationer med flera turer är endast de resonemangsblock som är associerade med den senaste assistentsvängen eller verktygsanvändningssessionen synliga för modellen och räknas som indatatoken.

Om du inte vill skicka tillbaka resonemangstoken till modellen (du behöver till exempel inte resonera över dess tidigare steg) kan du utelämna resonemangsblocket helt och hållet. Till exempel:

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)

Men om du behöver att modellen resonerar över dess tidigare resonemangsprocess - till exempel om du skapar upplevelser som visar dess mellanliggande resonemang - måste du inkludera det fullständiga, oförändrade assistentmeddelandet, inklusive resonemangsblocket från föregående tur. Så här fortsätter du med en tråd med det fullständiga assistentmeddelandet:

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)

Öppna svars-API

När du använder API:et Öppna svar returneras resonemang som reasoning objekt i svaret output. Om du vill låta modellen resonera över sitt tidigare tänkande i en senare tur inkluderar du dessa reasoning objekt – med fältet encrypted_content oförändrat – i nästa begärans input.

Ett reasoning objekt som returneras i svarsutdata har följande form:

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

Om du vill fortsätta konversationen skickar du utdata från föregående tur i input, med objektet reasoning bevarat ordagrant:

{
  "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?" }
  ]
}

Värdet encrypted_content innehåller leverantörsspecifik resonemangsstatus. Om den tas bort eller ändras kan modellen inte resonera över sitt tidigare tänkande. Detta gäller för Anthropic Claude- och Google Gemini-modeller.

Hur fungerar en resonemangsmodell?

Resonemangsmodeller introducerar särskilda resonemangstoken utöver standardtoken för in- och utdata. Dessa token låter modellen "tänka" genom prompten, dela upp den och överväga olika sätt att svara. Efter den här interna resonemangsprocessen genererar modellen sitt slutliga svar som synliga utdatatoken. Vissa modeller, till exempel databricks-claude-sonnet-4-5, visar dessa resonemangstoken för användare, medan andra, till exempel OpenAI o-serien, tar bort dem och inte exponerar dem i de slutliga utdata.

Ytterligare resurser