Consultar um modelo de chat

Neste artigo, você aprenderá a escrever solicitações de consulta para modelos fundacionais otimizados para chat e tarefas de uso geral, disponibilizados pelo Unity Gateway.

Dica

O Código do Gênio (modo agente) pode fazer isso por você. Experimente este prompt de exemplo:

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.

Os exemplos neste artigo se aplicam à consulta de modelos de base que são disponibilizados usando:

Requisitos

Exemplos de consulta

Note

Os exemplos a seguir são baseados no Unity Gateway e nos serviços modelo. Se você usar endpoints de Model Serving em vez de serviços de modelo, substitua o nome do serviço de modelo pelo nome do endpoint. Veja Lista detalhada de modelos suportados pelas APIs de Modelos da Fundação Databricks para uma lista dos modelos de fundação disponíveis e seus nomes de serviços de modelo e endpoints.

Os exemplos nesta seção mostram como consultar um serviço de modelo pay-per-token da API do Modelo de Fundação usando as diferentes opções de cliente.

Conclusões de chat do OpenAI

Para usar o cliente OpenAI, especifique o nome do serviço de modelo como a model entrada. O exemplo a seguir pressupõe que você tenha um token de API do Databricks e openai instalado em sua computação. Você também precisa da sua instância de espaço de trabalho do Databricks para conectar o cliente OpenAI ao 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
)

Como exemplo, a seguir está o formato de solicitação esperado para um modelo de chat ao usar a API REST. Para modelos externos, você pode incluir parâmetros adicionais que são válidos para um determinado provedor e configuração de ponto de extremidade. Consulte parâmetros de consulta adicionais.

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

O formato de resposta esperado para uma solicitação feita usando a API REST é o seguinte:

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

Respostas OpenAI

Importante

Esta seção aborda a API de Respostas OpenAI, uma passagem nativa que dá suporte ao conjunto completo de parâmetros de Respostas OpenAI para modelos OpenAI. Para usar o formato de solicitação respostas com modelos abertos hospedados por Anthropic Claude, Google Gemini ou Databricks, consulte Consultar um modelo com a API de Respostas Abertas.

Para usar a API de Respostas OpenAI, especifique o nome do serviço de modelo como a model entrada. O exemplo a seguir pressupõe que você tenha um token de API do Azure Databricks e openai instalado em sua computação. Você também precisa da instância do workspace do Azure Databricks para conectar o cliente da OpenAI ao 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
)

Por exemplo, o seguinte é o formato de solicitação esperado ao usar a API de Respostas OpenAI. O caminho da URL para essa 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
}

Veja a seguir um formato de resposta esperado para uma solicitação feita usando a API de Respostas:

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

API REST

Importante

O exemplo a seguir usa parâmetros da API REST para consultar pontos de extremidade de serviço que atendem modelos externos. Esses parâmetros estão na Visualização Pública e a definição pode ser alterada. Consulte 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 \

Como exemplo, a seguir está o formato de solicitação esperado para um modelo de chat ao usar a API REST. Para modelos externos, você pode incluir parâmetros adicionais que são válidos para um determinado provedor e configuração de ponto de extremidade. Consulte parâmetros de consulta adicionais.

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

O formato de resposta esperado para uma solicitação feita usando a API REST é o seguinte:

{
  "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 de Implantações do MLflow

Importante

O exemplo a seguir usa a API predict() do SDK de Implantações do MLflow..


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

Como exemplo, a seguir está o formato de solicitação esperado para um modelo de chat ao usar a API REST. Para modelos externos, você pode incluir parâmetros adicionais que são válidos para um determinado provedor e configuração de ponto de extremidade. Consulte parâmetros de consulta adicionais.

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

O formato de resposta esperado para uma solicitação feita usando a API REST é o seguinte:

{
  "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 do Databricks do Python

Esse código deve ser executado em um notebook em seu espaço de trabalho. Consulte Usar o SDK do Databricks para Python de um notebook do 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}")

Como exemplo, a seguir está o formato de solicitação esperado para um modelo de chat ao usar a API REST. Para modelos externos, você pode incluir parâmetros adicionais que são válidos para um determinado provedor e configuração de ponto de extremidade. Consulte parâmetros de consulta adicionais.

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

O formato de resposta esperado para uma solicitação feita usando a API REST é o seguinte:

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

Modelos com suporte

Consulte os tipos de modelo do Foundation para modelos de chat com suporte.

Recursos adicionais