Condividi tramite


Eseguire query su un modello di chat

Questo articolo illustra come scrivere richieste di query per i modelli di base ottimizzati per le attività di chat e utilizzo generico e inviarle all'endpoint di gestione del modello.

Gli esempi in questo articolo si applicano all'esecuzione di query sui modelli di base resi disponibili tramite:

Requisiti

Esempi di query

Gli esempi in questa sezione illustrano come eseguire query su un endpoint con pagamento in base al token dell'API del modello di base usando le diverse opzioni client.

Completamento della chat OpenAI

Per usare il client OpenAI, specificare il nome dell'endpoint di gestione del modello come model input. L'esempio seguente presuppone che tu abbia un token API Databricks e che sia installato sul tuo sistema informatico. È anche necessaria l'istanza dell'area di lavoro di Databricks per connettere il client OpenAI a 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/serving-endpoints"
)

response = client.chat.completions.create(
    model="databricks-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
)

Ad esempio, di seguito è riportato il formato di richiesta previsto per un modello di chat quando si usa l'API REST. Per i modelli esterni, è possibile includere parametri aggiuntivi validi per un determinato provider e configurazione dell'endpoint. Consulta Parametri aggiuntivi di query.

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

Di seguito è riportato un formato di risposta previsto per una richiesta effettuata tramite l'API REST:

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

Risposte OpenAI

Importante

L'API Risposte è compatibile solo con i modelli OpenAI.

Per usare l'API Risposte di OpenAI, specificare come input il nome dell'endpoint di servizio del modello model. L'esempio seguente presuppone che tu abbia un token API di Azure Databricks e openai installato nel tuo ambiente di calcolo. È anche necessaria l'istanza dell'area di lavoro di Azure Databricks per connettere il client OpenAI ad 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/serving-endpoints"
)

response = client.responses.create(
    model="databricks-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
)

Ad esempio, di seguito è riportato il formato di richiesta previsto quando si usa l'API Risposte OpenAI. Il percorso URL per questa API è /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
}

Di seguito è riportato un formato di risposta previsto per una richiesta effettuata tramite l'API Risposte:

{
  "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 (Interfaccia di Programmazione delle Applicazioni REST)

Importante

L'esempio seguente usa i parametri dell'API REST per l'esecuzione di query sugli endpoint che servono modelli esterni. Questi parametri si trovano in anteprima pubblica e la definizione potrebbe cambiare. Vedi 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 \

Ad esempio, di seguito è riportato il formato di richiesta previsto per un modello di chat quando si usa l'API REST. Per i modelli esterni, è possibile includere parametri aggiuntivi validi per un determinato provider e configurazione dell'endpoint. Consulta Parametri aggiuntivi di query.

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

Di seguito è riportato un formato di risposta previsto per una richiesta effettuata tramite l'API REST:

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

Importante

L'esempio seguente usa l'API predict() di MLflow Deployments SDK.


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

Ad esempio, di seguito è riportato il formato di richiesta previsto per un modello di chat quando si usa l'API REST. Per i modelli esterni, è possibile includere parametri aggiuntivi validi per un determinato provider e configurazione dell'endpoint. Consulta Parametri aggiuntivi di query.

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

Di seguito è riportato un formato di risposta previsto per una richiesta effettuata tramite l'API REST:

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

Questo codice deve essere eseguito in un notebook nell'area di lavoro. Vedi Usare lo SDK di Databricks per Python da un notebook di Azure Databricks.

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

w = WorkspaceClient()
response = w.serving_endpoints.query(
    name="databricks-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}")

Ad esempio, di seguito è riportato il formato di richiesta previsto per un modello di chat quando si usa l'API REST. Per i modelli esterni, è possibile includere parametri aggiuntivi validi per un determinato provider e configurazione dell'endpoint. Consulta Parametri aggiuntivi di query.

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

Di seguito è riportato un formato di risposta previsto per una richiesta effettuata tramite l'API REST:

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

Modelli supportati

Vedere Tipi di modelli di base per i modelli di chat supportati.

Risorse aggiuntive