Kueri model chat

Dalam artikel ini, Anda belajar cara menulis permintaan query untuk model dasar yang dioptimalkan untuk chat dan tugas tujuan umum serta dilayani oleh Unity Gateway.

Tip

Genie Code (mode Agen) dapat melakukan ini untuk Anda. Coba perintah contoh ini:

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.

Contoh dalam artikel ini berlaku untuk mengkueri model fondasi yang tersedia menggunakan:

  • Model Fondasi API yang disebut sebagai model fondasi yang dihosting Databricks.
  • Model eksternal yang disebut sebagai model fondasi yang dihosting di luar Databricks.

Persyaratan

Contoh kueri

Note

Contoh berikut didasarkan pada Unity Gateway dan layanan model. Jika Anda menggunakan model yang melayani titik akhir alih-alih layanan model, ganti nama layanan model dengan nama titik akhir. Lihat model fondasi yang di-hosting oleh Databricks yang tersedia di API Model Fondasi untuk daftar model fondasi yang tersedia beserta nama layanan model dan endpoint-nya.

Contoh di bagian ini menunjukkan cara mengkueri layanan model bayar per token Foundation Model API, menggunakan opsi klien yang berbeda.

Penyelesaian Percakapan OpenAI

Untuk menggunakan klien OpenAI, tentukan nama layanan model sebagai model input. Contoh berikut mengasumsikan Anda memiliki token Databricks API dan openai diinstal pada komputasi Anda. Anda juga memerlukan instans ruang kerja Databricks untuk menghubungkan klien OpenAI ke 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
)

Sebagai contoh, berikut ini adalah format permintaan yang diharapkan untuk model obrolan saat menggunakan REST API. Untuk model eksternal, Anda dapat menyertakan parameter tambahan yang valid untuk penyedia dan konfigurasi titik akhir tertentu. Lihat Parameter kueri tambahan.

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

Berikut ini adalah format respons yang diharapkan untuk permintaan yang dibuat menggunakan 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
}

Respons OpenAI

Penting

Bagian ini membahas OpenAI Responses API, sebuah passthrough native yang mendukung seluruh parameter OpenAI Responses untuk model OpenAI. Untuk menggunakan format permintaan Respons dengan model terbuka yang dihosting Anthropic Claude, Google Gemini, atau Databricks, lihat Mengkueri model dengan OPEN Responses API.

Untuk menggunakan API Responses OpenAI, tentukan nama layanan model sebagai input model. Contoh berikut mengasumsikan Anda memiliki token Api Azure Databricks dan openai diinstal pada komputasi Anda. Anda juga memerlukan instans ruang kerja Azure Databricks untuk menyambungkan klien OpenAI ke 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
)

Sebagai contoh, berikut ini adalah format permintaan yang diharapkan saat menggunakan OPENAI Responses API. Jalur URL untuk API ini adalah /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
}

Berikut ini adalah format respons yang diharapkan untuk permintaan yang dibuat menggunakan API Respons:

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

Penting

Contoh berikut menggunakan parameter REST API untuk mengkueri titik akhir penyajian yang melayani model eksternal. Parameter ini ada di Pratinjau Umum dan definisinya mungkin berubah. Lihat 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 \

Sebagai contoh, berikut ini adalah format permintaan yang diharapkan untuk model obrolan saat menggunakan REST API. Untuk model eksternal, Anda dapat menyertakan parameter tambahan yang valid untuk penyedia dan konfigurasi titik akhir tertentu. Lihat Parameter kueri tambahan.

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

Berikut ini adalah format respons yang diharapkan untuk permintaan yang dibuat menggunakan 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
}

SDK Penyebaran MLflow

Penting

Contoh berikut menggunakan predict() API dari MLflow Deployments SDK.


import os
import mlflow.deployments

# Only required when running this example outside of a Databricks Notebook
os.environ["DATABRICKS_HOST"] = "https://<workspace_host>.databricks.com"
os.environ["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
    }
)

Sebagai contoh, berikut ini adalah format permintaan yang diharapkan untuk model obrolan saat menggunakan REST API. Untuk model eksternal, Anda dapat menyertakan parameter tambahan yang valid untuk penyedia dan konfigurasi titik akhir tertentu. Lihat Parameter kueri tambahan.

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

Berikut ini adalah format respons yang diharapkan untuk permintaan yang dibuat menggunakan 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

Kode ini harus dijalankan dalam buku catatan di ruang kerja Anda. Lihat cara menggunakan Databricks SDK untuk Python dari buku catatan Azure Databricks.

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

Sebagai contoh, berikut ini adalah format permintaan yang diharapkan untuk model obrolan saat menggunakan REST API. Untuk model eksternal, Anda dapat menyertakan parameter tambahan yang valid untuk penyedia dan konfigurasi titik akhir tertentu. Lihat Parameter kueri tambahan.

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

Berikut ini adalah format respons yang diharapkan untuk permintaan yang dibuat menggunakan 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
}

Model yang didukung

Lihat Jenis model fondasi untuk model obrolan yang didukung.

Sumber daya tambahan