Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie Abfragen für Foundation-Modelle schreiben, die für Aufgaben im Bereich der Schlussfolgerung optimiert sind, und sie an Ihren Foundation Model API-Endpunkt senden.
Die Mosaik AI Foundation Model-API stellt eine einheitliche API für die Interaktion mit allen Foundation-Modellen bereit, einschließlich der Reasoning-Modelle. Die Begründung bietet Foundation-Modellen erweiterte Funktionen zur Bewältigung komplexer Aufgaben. Einige Modelle bieten auch Transparenz, indem sie ihren schrittweisen Gedankeprozess vor der Bereitstellung einer endgültigen Antwort offenlegen.
Typen von Begründungsmodellen
Es gibt zwei Arten von Modellen: solche, die ausschließlich auf Logik basieren, und hybride. In der folgenden Tabelle wird beschrieben, wie verschiedene Modelle unterschiedliche Ansätze zur Steuerung der Begründung verwenden:
| Typ des Schlussfolgerungsmodells | Einzelheiten | Modellbeispiele | Die Parameter |
|---|---|---|---|
| Hybride Begründung | Unterstützt schnelle, sofortige Antworten und tiefere Gründe bei Bedarf. | Claude Modelle wie databricks-claude-sonnet-4, databricks-claude-sonnet-4-5, databricks-claude-opus-4-5, und databricks-claude-opus-4-1. |
Schließen Sie die folgenden Parameter ein, um hybride Gründe zu verwenden:
|
| Nur Begründungen | Diese Modelle verwenden immer interne Begründungen in ihren Antworten. | GPT OSS-Modelle wie databricks-gpt-oss-120b und databricks-gpt-oss-20b. |
Verwenden Sie den folgenden Parameter in Ihrer Anforderung:
|
Abfragebeispiele
Auf alle Begründungsmodelle wird über den Endpunkt für Chatabschlusse zugegriffen.
Claude-Modellbeispiel
from openai import OpenAI
import base64
import httpx
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="databricks-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)
GPT-5.1
Der reasoning_effort Parameter für GPT-5.1 ist standardmäßig auf none festgelegt, kann jedoch in Anforderungen überschrieben werden. Ein höherer kognitiver Aufwand kann zu durchdachteren und präziseren Antworten führen, jedoch die Latenz und Tokennutzung erhöhen.
curl -X POST "https://<workspace_host>/serving-endpoints/databricks-gpt-5-1/invocations" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 4096,
"reasoning_effort": "none"
}'
Beispiel für das GPT OSS-Modell
Der reasoning_effort Parameter akzeptiert "low", "medium" (Standard) oder "high" Werte. Ein höherer kognitiver Aufwand kann zu durchdachteren und präziseren Antworten führen, jedoch die Latenz und Tokennutzung erhöhen.
curl -X POST "https://<workspace_host>/serving-endpoints/databricks-gpt-oss-120b/invocations" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": [
{
"role": "user",
"content": "Why is the sky blue?"
}
],
"max_tokens": 4096,
"reasoning_effort": "high"
}'
Beispiel für ein Gemini-Modell
In diesem Beispiel wird databricks-gemini-3-proverwendet. Der Parameter reasoning_effort ist standardmäßig auf "low" gesetzt, kann jedoch in Anforderungen überschrieben werden, wie im folgenden Beispiel gezeigt.
curl -X POST "https://<workspace_host>/serving-endpoints/databricks-gemini-3-pro/invocations" \
-H "Authorization: Bearer $DATABRICKS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"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"
}'
Die API-Antwort umfasst sowohl den Denkvorgang als auch Textblöcke.
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
)
Verwalten von Begründungen über mehrere Wendungen hinweg
Dieser Abschnitt ist spezifisch für die databricks-claude-sonnet-4-5 model.
Bei Unterhaltungen, die mehrere Runden umfassen, sind nur die Begründungsblöcke, die mit der letzten Assistentenrunde oder dem letzten Werkzeuggebrauch verbunden sind, für das Modell sichtbar und werden als Eingabetoken gezählt.
Falls Sie die Begründungstoken nicht an das Modell übergeben möchten (da Sie nicht über die vorherigen Schritte nachdenken müssen), können Sie den Begründungsblock vollständig weglassen. Beispiel:
response = client.chat.completions.create(
model="databricks-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)
Wenn Sie das Modell jedoch benötigen, um über den vorherigen Begründungsprozess nachzudenken, z. B. wenn Sie Erfahrungen aufbauen, die die zwischengeschaltete Begründung aufzeigen, müssen Sie die vollständige, unveränderte Assistentennachricht einschließlich des Begründungsblocks aus der vorherigen Runde einschließen. Hier erfahren Sie, wie Sie einen Thread mit der vollständigen Assistentennachricht fortsetzen:
assistant_message = response.choices[0].message
response = client.chat.completions.create(
model="databricks-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)
Wie funktioniert ein Begründungsmodell?
Mithilfe von Reasoningmodellen werden zusätzlich zu den Standardmäßigen Eingabe- und Ausgabetoken spezielle Begründungstoken eingeführt. Diese Token lassen das Modell durch den Prompt „denken“, sie unterteilen es und lassen es verschiedene Möglichkeiten zur Reaktion in Betracht ziehen. Nach diesem internen Begründungsprozess generiert das Modell seine endgültige Antwort als sichtbare Ausgabetoken. Einige Modelle, z.B. databricks-claude-sonnet-4-5, zeigen diese Begründungstoken Benutzern an, während andere, wie die OpenAI o-Serie, sie verwerfen und nicht in der endgültigen Ausgabe anzeigen.