チャット モデルのクエリを実行する

Von Bedeutung

ベータ版では、新しい Unity AI Gateway エクスペリエンスを利用できます。 新しい Unity AI ゲートウェイは、強化された機能を備えた LLM エンドポイントとコーディング エージェントを管理するためのエンタープライズ コントロール プレーンです。 Unity AI Gateway を使用した AI ガバナンスに関する説明をご覧ください。

この記事では、チャットおよび汎用タスク用に最適化され、 Unity AI Gateway によって提供される基礎モデルのクエリ要求を記述する方法について説明します。

Tip

Genie Code (エージェント モード) でこれを行うことができます。 次のプロンプトの例を試してください。

Query the databricks-claude-sonnet-4-5 chat model using the OpenAI client. Send a system prompt and a user question, and print the response.

この記事の例は、次のいずれかを使用して使用できる基礎モデルのクエリに適用されます。

要求事項

クエリの例

Note

次の例は、Unity AI Gateway とモデル サービスに基づいています。 モデル サービスの代わりにモデル サービスのエンドポイントを使用する場合は、モデル サービス名をエンドポイント名に置き換えます。 使用可能な基礎モデルとそのモデル サービスとエンドポイント名の一覧については、 Foundation Model API で使用できる Databricks でホストされる 基礎モデルを参照してください。

このセクションの例では、さまざまな クライアント オプションを使用して、Foundation Model API のトークンごとの支払いモデル サービスに対してクエリを実行する方法を示します。

OpenAI チャットの完了

OpenAI クライアントを使用するには、 model 入力としてモデル サービス名を指定します。 次の例では、 Databricks API トークン があり、 openai コンピューティングにインストールされていることを前提としています。 また、OpenAI クライアントを Databricks に接続するには、Databricks ワークスペース インスタンスも必要です。


import os
import openai
from openai import OpenAI

client = OpenAI(
    api_key="dapi-your-databricks-token",
    base_url="https://example.staging.cloud.databricks.com/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 使用時のチャット モデルで想定されている要求形式です。 外部モデルに対しては、特定のプロバイダーとエンドポイント構成で有効な追加のパラメータを含めることができます。 「その他のクエリ パラメーター」を参照してください。

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

REST API を使用して行う要求に対して想定されている応答形式は、次のとおりです。

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

OpenAI 応答

Von Bedeutung

このセクションでは、OpenAI モデルの OpenAI 応答パラメーターの完全なセットをサポートするネイティブ パススルーである OpenAI Responses API について説明します。 Anthropic Claude、Google Gemini、または Databricks でホストされるオープン モデルで Responses 要求形式を使用するには、「Open Responses API を使用してモデルにクエリを実行する」を参照してください。

OpenAI Responses API を使用するには、 model 入力としてモデル サービス名を指定します。 次の例では、 Azure Databricks API トークン があり、 openai コンピューティングにインストールされていることを前提としています。 また、OpenAI クライアントを Azure Databricks に接続するには、Azure Databricks ワークスペース インスタンスも必要です。


import os
import openai
from openai import OpenAI

client = OpenAI(
    api_key="dapi-your-databricks-token",
    base_url="https://example.staging.cloud.databricks.com/ai-gateway/mlflow/v1"
)

response = client.responses.create(
    model="system.ai.gpt-5",
    input=[
      {
        "role": "system",
        "content": "You are a helpful assistant."
      },
      {
        "role": "user",
        "content": "What is a mixture of experts model?",
      }
    ],
    max_output_tokens=256
)

たとえば、OpenAI Responses API を使用する場合に想定される要求形式を次に示します。 この API の URL パスは /serving-endpoints/responses

{
  "model": "databricks-gpt-5",
  "input": [
    {
      "role": "user",
      "content": "What is a mixture of experts model?"
    }
  ],
  "max_output_tokens": 100,
  "temperature": 0.1
}

Responses API を使用して行われた要求に対して想定される応答形式を次に示します。

{
  "id": "resp_abc123",
  "object": "response",
  "created_at": 1698824353,
  "model": "databricks-gpt-5",
  "output": [
    {
      "type": "message",
      "role": "assistant",
      "content": []
    }
  ],
  "usage": {
    "input_tokens": 7,
    "output_tokens": 74,
    "total_tokens": 81
  }
}

REST API

Von Bedeutung

次の例では、REST API パラメーターを使用して、外部モデルにサービスを提供するエンドポイントにクエリを実行します。 これらのパラメーターは パブリック プレビュー 段階であり、定義が変更される可能性があります。 POST /serving-endpoints/{name}/invocations を参照してください。

curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "messages": [
    {
      "role": "system",
      "content": "You are a helpful assistant."
    },
    {
      "role": "user",
      "content": " What is a mixture of experts model?"
    }
  ]
}' \
https://<workspace_host>.databricks.com/serving-endpoints/<your-external-model-endpoint>/invocations \

たとえば、次に示すのは REST API 使用時のチャット モデルで想定されている要求形式です。 外部モデルに対しては、特定のプロバイダーとエンドポイント構成で有効な追加のパラメータを含めることができます。 「その他のクエリ パラメーター」を参照してください。

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

REST API を使用して行う要求に対して想定されている応答形式は、次のとおりです。

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

MLflow デプロイ SDK

Von Bedeutung

次の例では、predict() API を使用します。


import mlflow.deployments

# Only required when running this example outside of a Databricks Notebook
export DATABRICKS_HOST="https://<workspace_host>.databricks.com"
export DATABRICKS_TOKEN="dapi-your-databricks-token"

client = mlflow.deployments.get_deploy_client("databricks")

chat_response = client.predict(
    endpoint="system.ai.claude-sonnet-4-5",
    inputs={
        "messages": [
            {
              "role": "user",
              "content": "Hello!"
            },
            {
              "role": "assistant",
              "content": "Hello! How can I assist you today?"
            },
            {
              "role": "user",
              "content": "What is a mixture of experts model??"
            }
        ],
        "temperature": 0.1,
        "max_tokens": 20
    }
)

たとえば、次に示すのは REST API 使用時のチャット モデルで想定されている要求形式です。 外部モデルに対しては、特定のプロバイダーとエンドポイント構成で有効な追加のパラメータを含めることができます。 「その他のクエリ パラメーター」を参照してください。

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

REST API を使用して行う要求に対して想定されている応答形式は、次のとおりです。

{
  "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 Python SDK

このコードは、ワークスペース内のノートブックで実行する必要があります。 「Azure Databricks ノートブックから Databricks SDK for Python を使用する」を参照してください。

from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ChatMessage, ChatMessageRole

w = WorkspaceClient()
response = w.serving_endpoints.query(
    name="system.ai.claude-sonnet-4-5",
    messages=[
        ChatMessage(
            role=ChatMessageRole.SYSTEM, content="You are a helpful assistant."
        ),
        ChatMessage(
            role=ChatMessageRole.USER, content="What is a mixture of experts model?"
        ),
    ],
    max_tokens=128,
)
print(f"RESPONSE:\n{response.choices[0].message.content}")

たとえば、次に示すのは REST API 使用時のチャット モデルで想定されている要求形式です。 外部モデルに対しては、特定のプロバイダーとエンドポイント構成で有効な追加のパラメータを含めることができます。 「その他のクエリ パラメーター」を参照してください。

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

REST API を使用して行う要求に対して想定されている応答形式は、次のとおりです。

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

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

サポートされているチャット モデルについては、「 Foundation モデルの種類 」を参照してください。

その他のリソース