メインコンテンツまでスキップ

タイプ別に基盤モデルをクエリ

備考

ベータ版

この機能はベータ版です。アカウント管理者は、アカウント コンソールの [プレビュー] ページからこの機能へのアクセスを制御できます。 Databricksのプレビューを管理するを参照してください。

この記事では、Unity AI Gatewayモデルサービス によって提供されるDatabricksホスト型基盤モデル(チャット、ビジョン、音声と動画、推論などのモデルタイプ別に分類)のクエリリクエストの書き方について説明します。

要件

注記

次の例は、Unity AIゲートウェイとモデルサービスに基づいています。モデルサービスではなくモデルサービングエンドポイントを使用する場合、モデルサービス名をエンドポイント名に置き換えてください。利用可能な基盤モデルのリスト、およびそれらのモデルサービスとエンドポイント名については、基盤モデルを見つけるを参照してください。

チャット

チャットおよび汎用タスク向けに最適化された基盤モデル。

このセクションの例では、さまざまなクライアントオプションを使用して、モデルサービスをクエリする方法を示します。

バッチ推論の例については、 AI関数を使用したデータの拡充を参照してください。

OpenAI クライアントを使用するには、モデルサービス名を model入力として指定します。

Python
from databricks_openai import DatabricksOpenAI

client = DatabricksOpenAI()

response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_tokens=256
)

ワークスペースの外部で基盤モデルをクエリするには、OpenAIクライアントを直接使用する必要があります。OpenAI クライアントを Databricks に接続するには、Databricks ワークスペースインスタンスも必要です。次の例では、Databricks API トークンと、コンピュートに openai がインストールされていることを前提としています。

Python

import os
import openai
from openai import OpenAI

client = OpenAI(
api_key=os.environ.get('DATABRICKS_TOKEN'),
base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_tokens=256
)

例として、REST API を使用する場合のチャットモデルの予期されるリクエスト形式は次のとおりです。

Bash
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}

REST API を使用して行われたリクエストの予想される応答形式は次のとおりです:

JSON
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}

ビジョン

DatabricksがホストするビジョンモデルをUnity AI Gatewayのモデルサービスを通じてクエリし、統合されたAPIで画像を理解および分析します。

OpenAI クライアントを使用するには、モデルサービス名を model入力として指定します。

Python

from openai import OpenAI
import base64
import requests

# Get the workspace API URL and token from the notebook context
API_ROOT = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiUrl().get()
API_TOKEN = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()

client = OpenAI(
api_key=API_TOKEN,
base_url=f"{API_ROOT}/ai-gateway/mlflow/v1",
)

# Download and encode image
image_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
resp = requests.get(image_url)
resp.raise_for_status()
image_data = base64.b64encode(resp.content).decode("utf-8")

# OpenAI request
completion = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "what's in this image?"},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image_data}"},
},
],
}
],
)

print(completion.choices[0].message.content)

Chat Completions API は複数の画像入力をサポートしており、モデルは各画像を分析し、すべての入力から情報を統合してプロンプトへの応答を生成できます。

Python

from openai import OpenAI
import base64
import requests

# Get the workspace API URL and token from the notebook context
API_ROOT = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiUrl().get()
API_TOKEN = dbutils.notebook.entry_point.getDbutils().notebook().getContext().apiToken().get()

client = OpenAI(
api_key=API_TOKEN,
base_url=f"{API_ROOT}/ai-gateway/mlflow/v1",
)

# Download and encode multiple images
image1_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
resp1 = requests.get(image1_url)
resp1.raise_for_status()
image1_data = base64.b64encode(resp1.content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/thumb/d/dd/Gfp-wisconsin-madison-the-nature-boardwalk.jpg/2560px-Gfp-wisconsin-madison-the-nature-boardwalk.jpg"
resp2 = requests.get(image2_url)
resp2.raise_for_status()
image2_data = base64.b64encode(resp2.content).decode("utf-8")

# OpenAI request
completion = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "user",
"content": [
{"type": "text", "text": "What are in these images? Is there any difference between them?"},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image1_data}"},
},
{
"type": "image_url",
"image_url": {"url": f"data:image/jpeg;base64,{image2_data}"},
},
],
}
],
)

print(completion.choices[0].message.content)

入力画像の要件

モデル

サポートされている形式

複数のリクエストあたりの画像

画像サイズ制限

画像サイズ変更の推奨事項

画質に関する考慮事項

databricks-gpt-5-5-pro

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-5

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-4

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-4-mini

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-4-nano

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-2

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-1

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-mini

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gpt-5-nano

  • JPEG
  • PNG
  • WebP
  • GIF (アニメーションなしのGIF

リクエストあたり最大500個の個別画像入力

ファイルサイズ制限:リクエストあたりのペイロードの合計サイズは最大10MBです

N/A

  • ウォーターマークまたはロゴはありません。
  • 人間が理解できるほど明確

databricks-gemini-3-5-flash

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemini-3-1-pro

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemini-3-pro

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemini-3-flash

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemini-3-1-flash-lite

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemini-2-5-pro

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemini-2-5-flash

  • JPEG
  • PNG
  • WebP

APIリクエストの場合、最大50枚の画像。提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズの上限:画像ごとに 7 MB

N/A

N/A

databricks-gemma-3-12b

  • JPEG
  • PNG
  • WebP
  • GIF

APIリクエスト用 最大5枚の画像

  • 提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズ制限: API リクエストごとにすべての画像で合計 10 MB

N/A

N/A

databricks-llama-4-maverick

  • JPEG
  • PNG
  • WebP
  • GIF

APIリクエスト用 最大5枚の画像

  • 提供されたすべての画像は、1つのリクエストで処理されます。

ファイルサイズ制限: API リクエストごとにすべての画像で合計 10 MB

N/A

N/A

  • databricks-claude-sonnet-4-6
  • databricks-claude-sonnet-4-5
  • databricks-claude-haiku-4-5
  • databricks-claude-opus-4-8
  • databricks-claude-opus-4-7
  • databricks-claude-opus-4-6
  • databricks-claude-opus-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4
  • JPEG
  • PNG
  • GIF
  • WebP
  • Claude.AIで 最大20枚の画像
  • APIリクエストの場合、 最大100個の画像
  • 提供されたすべての画像はリクエストで処理されるため、比較や対照に役立ちます。
  • 8000x8000 px を超える画像は拒否されます。
  • 1つのAPIリクエストで20枚を超える画像が送信された場合、 1画像あたりの最大許容サイズ は*2000 × 2000 px*です。

最適なパフォーマンスを得るには、画像が大きすぎる場合はアップロードする前に画像をリサイズしてください。

  • 画像の 長辺が1568ピクセルを超える か、 サイズが~1,600トークンを超える 場合、アスペクト比を維持して 自動的にスケールダウンされます
  • 非常に小さい画像(いずれかの辺が200ピクセル未満の画像)は、パフォーマンスが低下する可能性があります。
  • レイテンシを短縮するには、画像を*1.15メガピクセル*以内、かつ両方向で最大*1568ピクセル*に保ってください。
  • 明瞭性:ぼやけた画像やピクセル化された画像は避けてください。
  • 画像内のテキスト:
    • テキストが 読みやすく 、小さすぎないことを確認してください。
    • テキストを拡大するためだけに、重要な視覚的コンテキストをトリミングすることは避けてください。

画像からトークンへの変換

基盤モデルへのリクエスト内の各画像は、トークン使用量に追加されます。使用しているトークン使用量とモデルに基づいて画像の価格を推定するには、価格計算ツールをご覧ください。

画像理解の制限

サポートされているDatabricksホスト型基盤モデルの画像理解に関する制限事項は次のとおりです:

モデル

制限事項

次の Claude モデルがサポートされています。

  • databricks-claude-opus-4-8
  • databricks-claude-opus-4-7
  • databricks-claude-opus-4-6
  • databricks-claude-opus-4-5
  • databricks-claude-opus-4-1
  • databricks-claude-sonnet-4-6
  • databricks-claude-sonnet-4-5
  • databricks-claude-sonnet-4

DatabricksにおけるClaudeモデルの制限は以下のとおりです:

  • 人間の監視なしに完璧な精度や機密性の高い分析を必要とするタスクにClaudeを使用することは避けてください。
  • 人物の識別 :画像内の人物を識別したり名前を付けたりすることはできません。
  • **精度**: 低品質、回転した、または非常に小さい画像(200ピクセル)を誤って解釈する可能性があります。
  • 空間推論: アナログ時計の読み取りやチェスの駒の位置など、正確なレイアウトに苦慮します。
  • カウント :概算の件数を提供しますが、小さいオブジェクトが多数ある場合は正確でないことがあります。
  • **AI生成画像**:合成画像や偽画像を確実に検出することはできません。
  • 不適切なコンテンツ :露骨な画像やポリシーに違反する画像をブロックします。
  • ヘルスケア: 複雑な医療スキャン(例えば、CTやMRI)には適していません。これは診断ツールではありません。

音声と動画

Databricks上のUnity AI Gatewayによって提供されるGemini 基盤モデルに、オーディオおよびビデオ入力を送信します。Chat Completions APIまたはGoogle Gemini APIを使用して、メディアをURLとして、またはbase64でエンコードされたインラインデータとして提供できます。

オーディオおよびビデオ入力は、次の2つの方法で提供できます。

  • URL :メディアファイルへの公開アクセス可能なURLを渡します。ビデオの場合、YouTubeのURLもサポートされています。
  • Base64 インラインデータ : ファイルを Base64 文字列としてエンコードし、データ URI として渡します(例: data:video/mp4;base64,<encoded_data>)。

Chat Completions API

チャット補完APIを使用すると、ビデオとオーディオの入力を渡すことができます。メディア入力を渡すには、messages配列でvideo_urlおよびaudio_urlコンテンツタイプを使用します。各コンテンツアイテムには、Web URLまたはbase64データURIのいずれかを受け入れるurlフィールドが含まれています。

次の例は、Chat Completions APIを使用した動画および音声入力を示しています。

Python
import os
import base64
from openai import OpenAI

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')

client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)

# Encode a local video file as base64
with open("video.mp4", "rb") as f:
video_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.chat.completions.create(
model="system.ai.gemini-3-1-pro",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Summarize what happens in these videos."},
{
"type": "video_url",
"video_url": {"url": "https://example.com/sample-video.mp4"}
},
{
"type": "video_url",
"video_url": {"url": f"data:video/mp4;base64,{video_b64}"}
},
]
}],
max_tokens=1024
)

print(response.choices[0].message.content)
Python
import os
import base64
from openai import OpenAI

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')
DATABRICKS_BASE_URL = os.environ.get('DATABRICKS_BASE_URL')

client = OpenAI(
api_key=DATABRICKS_TOKEN,
base_url=DATABRICKS_BASE_URL
)

# Encode a local audio file as base64
with open("audio.mp3", "rb") as f:
audio_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.chat.completions.create(
model="system.ai.gemini-3-1-pro",
messages=[{
"role": "user",
"content": [
{"type": "text", "text": "Transcribe this audio and summarize the key points."},
{
"type": "audio_url",
"audio_url": {"url": "https://example.com/sample-audio.mp3"}
},
{
"type": "audio_url",
"audio_url": {"url": f"data:audio/mp3;base64,{audio_b64}"}
},
]
}],
max_tokens=1024
)

print(response.choices[0].message.content)

Google Gemini API

Google Gemini APIを使用して、parts配列内でメディアをinlineData (Base64エンコードされたもの) または fileData (URL参照) として渡します。

次の例は、Google Gemini API を使用したビデオおよびオーディオ入力を示しています。

Python
from google import genai
from google.genai import types
import base64
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://<workspace-url>/ai-gateway/gemini",
headers={
&quot;Authorization&quot;: f&quot;Bearer {DATABRICKS_TOKEN}&quot;,
},
),
)

# Encode a local video file as base64
with open("video.mp4", "rb") as f:
video_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.models.generate_content(
model="system.ai.gemini-3-1-pro",
contents=[
types.Content(
role="user",
parts=[
types.Part(text="Summarize what happens in these videos."),
types.Part(
file_data=types.FileData(
mime_type="video/mp4",
file_uri="https://example.com/sample-video.mp4",
)
),
types.Part(
inline_data=types.Blob(
mime_type="video/mp4",
data=video_b64,
)
),
],
),
],
config=types.GenerateContentConfig(
max_output_tokens=1024,
),
)

print(response.text)
Python
from google import genai
from google.genai import types
import base64
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = genai.Client(
api_key="databricks",
http_options=types.HttpOptions(
base_url="https://<workspace-url>/ai-gateway/gemini",
headers={
&quot;Authorization&quot;: f&quot;Bearer {DATABRICKS_TOKEN}&quot;,
},
),
)

# Encode a local audio file as base64
with open("audio.mp3", "rb") as f:
audio_b64 = base64.standard_b64encode(f.read()).decode("utf-8")

response = client.models.generate_content(
model="system.ai.gemini-3-1-pro",
contents=[
types.Content(
role="user",
parts=[
types.Part(text="Transcribe this audio and summarize the key points."),
types.Part(
file_data=types.FileData(
mime_type="audio/mp3",
file_uri="https://example.com/sample-audio.mp3",
)
),
types.Part(
inline_data=types.Blob(
mime_type="audio/mp3",
data=audio_b64,
)
),
],
),
],
config=types.GenerateContentConfig(
max_output_tokens=1024,
),
)

print(response.text)

制限事項

  • 1 回のリクエストに複数の音声入力または動画入力を含めることができますが、大きなファイルはレイテンシーとトークン使用量を増加させます。

理由

推論タスク用に最適化された基盤モデルDatabricks 基盤モデル API は、推論モデルを含むすべての基盤モデルと対話するための統合 API を提供します。推論により、基盤モデルは複雑なタスクに対処するための機能が強化されます。モデルによっては、最終的な回答を出す前に段階的な思考プロセスを明らかにすることで、透明性も提供します。

推論モデルの種類

モデルには、推論のみとハイブリッドの2つのタイプがあります。次の表では、異なるモデルが推論を制御するためにどのように異なるアプローチを使用するかを説明します。

モデル

推論モデルタイプ

詳細

パラメータ

databricks-gpt-5-5-prodatabricks-gpt-5-5databricks-gpt-5-4databricks-gpt-5-4-minidatabricks-gpt-5-4-nanodatabricks-gpt-5-2databricks-gpt-5-1databricks-gpt-5databricks-gpt-5-miniおよびdatabricks-gpt-5-nanoのようなGPT-5モデル。

根拠のみ

これらのモデルは、常にその応答に内部的な推論を使用します。

リクエストで次のパラメーターを使用します。

  • reasoning_effort: このパラメーターは、限られたモデルでのみ受け入れられます。 推論の努力を高めると、より思慮深く正確な応答が得られる可能性がありますが、待ち時間とトークンの使用量が増える可能性があります。
    • GPT-5.5 と GPT-5.5 Pro の場合、reasoning_effortパラメーターはデフォルトでmediumに設定されますが、リクエストでオーバーライドできます。
    • GPT-5.1およびGPT-5.2の場合、reasoning_effortパラメーターはデフォルトでnoneに設定されていますが、リクエストでオーバーライドできます。
    • GPT-5、GPT-5 mini、および GPT-5 nano の場合、reasoning_effort パラメーターはデフォルトでminimalに設定されますが、リクエストでオーバーライドできます。

Claude モデルの databricks-claude-sonnet-4-6databricks-claude-sonnet-4-5databricks-claude-sonnet-4databricks-claude-opus-4-8databricks-claude-opus-4-7databricks-claude-opus-4-6databricks-claude-opus-4-5、および databricks-claude-opus-4-1 など。

ハイブリッド推論

これらのモデルは、迅速なインスタント応答と、必要に応じたより深い推論の両方をサポートしています。

ハイブリッド推論を使用するには、次のパラメーターを含めます:

  • thinking
  • budget_tokensモデルが内部的な思考のために使用できるトークンの数を制御します。より高い予算は、複雑なタスクの品質を向上させることができますが、32Kを超える使用量では異なる場合があります。budget_tokensmax_tokens未満でなければなりません。

databricks-gemini-3-5-flashdatabricks-gemini-3-1-prodatabricks-gemini-3-1-flash-litedatabricks-gemini-3-proなどの Gemini 3 モデル databricks-gemini-3-flash

ハイブリッド推論

これらのモデルは、迅速なインスタント応答と、必要に応じたより深い推論の両方をサポートしています。

ハイブリッド推論を使用するには、次のパラメーターを含めます:

  • reasoning_effort:このパラメーターは、Gemini 3モデル以降で受け入れられます。
    • Gemini 3 モデルの場合、このパラメーターは、 "low" (デフォルト)、 "medium" 、または"high"の値を受け入れます。

databricks-gemini-2-5-prodatabricks-gemini-2-5-flashのようなGemini 2.5モデル。

ハイブリッド推論

これらのモデルは、迅速なインスタント応答と、必要に応じたより深い推論の両方をサポートしています。

ハイブリッド推論を使用するには、次のパラメーターを含めます:

  • thinking
  • budget_tokensモデルが内部的な思考のために使用できるトークンの数を制御します。より高い予算は、複雑なタスクの品質を向上させることができますが、32Kを超える使用量では異なる場合があります。budget_tokensmax_tokens未満でなければなりません。

databricks-gpt-oss-120bdatabricks-gpt-oss-20bのようなGPT OSSモデル。

根拠のみ

これらのモデルは、常にその応答に内部的な推論を使用します。

リクエストで次のパラメーターを使用します。

  • reasoning_effort: このパラメーターは、限られたモデルでのみ受け入れられます。 推論の努力を高めると、より思慮深く正確な応答が得られる可能性がありますが、待ち時間とトークンの使用量が増える可能性があります。
    • GPT OSS モデルの場合、このパラメーターは、 "low""medium" (デフォルト)、または"high"の値を受け入れます。

クエリの例

すべての reasoning モデルは、chat completions エンドポイントを通じてアクセスされます。

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={
&quot;thinking&quot;: {
&quot;type&quot;: &quot;enabled&quot;,
&quot;budget_tokens&quot;: 10240
}
}
)

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

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

API レスポンスには、思考とテキストのコンテンツ ブロックの両方が含まれています。

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
)

複数ターンにわたる推論を管理する

このセクションは、databricks-claude-sonnet-4-5 モデルに固有です。

複数ターンの会話では、最後のAssistantのターンまたはツール使用セッションに関連付けられた推論ブロックのみがモデルに表示され、入力トークンとしてカウントされます。

推論トークンをモデルに渡したくない場合(例えば、以前のステップに基づいて推論する必要がない場合)、推論ブロック全体を省略できます。例えば:

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={
&quot;thinking&quot;: {
&quot;type&quot;: &quot;enabled&quot;,
&quot;budget_tokens&quot;: 10240
}
}
)

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

ただし、モデルが以前の推論プロセスを推論する必要がある場合 (たとえば、中間推論を表すエクスペリエンスを構築している場合) は、以前のターンの推論ブロックを含め、完全で変更されていないアシスタント メッセージを含める必要があります。完全なアシスタント メッセージでスレッドを続行する方法は次のとおりです。

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={
&quot;thinking&quot;: {
&quot;type&quot;: &quot;enabled&quot;,
&quot;budget_tokens&quot;: 10240
}
}
)

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

推論モデルはどのように機能しますか?

推論モデルは、標準の入力トークンと出力トークンに加えて、特殊な推論トークンを導入します。これらのトークンにより、モデルはプロンプトを「考え」、それを分解し、さまざまな応答方法を検討できます。この内部推論プロセス後、モデルは最終回答を表示される出力トークンとして生成します。databricks-claude-sonnet-4-5のような一部のモデルはこれらの理由付けトークンをユーザーに表示しますが、OpenAI oシリーズのような他のモデルはそれらを破棄し、最終出力には表示しません。

サポートされているモデル

基盤モデルを発見するで、利用可能な基盤モデルと、チャット、ビジョン、オーディオとビデオ、推論を含む各モデルがサポートするインタラクションタイプを参照してください。

その他のリソース