Consultar com a API de Respostas da OpenAI

Importante

A API de respostas da OpenAI descrita neste artigo é uma passagem nativa para modelos básicos de pagamento por token da OpenAI e modelos externos, e oferece suporte ao conjunto completo de parâmetros e ferramentas da API de respostas da OpenAI. Para obter uma API de Respostas unificada em Anthropic Claude, google gemini e modelos abertos hospedados pelo Databricks, consulte Consultar um modelo com a API de Respostas Abertas. A API de Conclusões de Chat também está disponível em todos os provedores.

A API de Respostas OpenAI é uma alternativa à API de Conclusões de Chat que fornece recursos adicionais para modelos OpenAI, incluindo ferramentas personalizadas e fluxos de trabalho de várias etapas.

Requirements

Exemplos de consulta

Observação

Os exemplos a seguir são baseados no Unity Gateway e nos serviços modelo. Se você usar endpoints de disponibilização de modelo em vez de serviços de modelos, substitua o nome do serviço de modelos pelo nome de um 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 Foundation Model API usando a API OpenAI Responses.

Python

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 seu computador. Você também precisa da instância do workspace Azure Databricks para conectar o cliente 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/openai/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
)

API REST

curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
  "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
}' \
https://<workspace_host>.databricks.com/ai-gateway/openai/v1/responses

Ferramentas personalizadas

As ferramentas personalizadas permitem que o modelo retorne a saída de cadeia de caracteres arbitrária em vez de argumentos de função formatados por JSON. Isso é útil para a geração de código, a aplicação de patches ou outros casos de uso em que o JSON estruturado não é necessário.

Observação

As ferramentas personalizadas só têm suporte com modelos da série GPT-5 (system.ai.gpt-5, , system.ai.gpt-5-1, system.ai.gpt-5-2, system.ai.gpt-5-4, system.ai.gpt-5-5, system.ai.gpt-5-5-pro) por meio da API de Respostas.

from databricks_openai import DatabricksOpenAI

client = DatabricksOpenAI()

response = client.responses.create(
    model="system.ai.gpt-5",
    input=[{"role": "user", "content": "Write a Python function to calculate factorial"}],
    tools=[
        {
            "type": "custom",
            "name": "code_exec",
            "description": "Executes arbitrary Python code. Return only valid Python code."
        }
    ],
    max_output_tokens=1024
)

Ferramentas integradas

As ferramentas internas permitem que o modelo chame recursos fornecidos pela plataforma sem exigir que você implemente o back-end da ferramenta por conta própria. Essas ferramentas retornam saídas estruturadas e são totalmente gerenciadas pela plataforma.

from databricks_openai import DatabricksOpenAI

client = DatabricksOpenAI()

response = client.responses.create(
    model="system.ai.gpt-5",
    input=[{
        "role": "user",
        "content": "Add input validation to the factorial function in main.py."
    }],
    tools=[
        {
            "type": "apply_patch"
        }
    ],
    max_output_tokens=1024
)

print(response.output_text)

Modelos com suporte

Modelos externos

  • Provedor de modelos OpenAI
  • Azure provedor de modelos OpenAI

Tipos de entrada com suporte

Os modelos de GPT do OpenAI em Azure Databricks aceitam entradas de texto e imagem. Consulte Consultar modelos de visão para obter os requisitos de formato e tamanho de imagem. Para tipos de entrada por modelo, veja Lista detalhada de modelos suportados pelas APIs de Modelos da Fundação Databricks.

Limitações

As limitações a seguir se aplicam somente a modelos de base de pagamento por token . Modelos externos dão suporte a todos os parâmetros e ferramentas da API de Respostas.

Os seguintes parâmetros não têm suporte e retornam um erro 400, se especificado:

  • background — Não há suporte para processamento em segundo plano.
  • store — Não há suporte para respostas armazenadas.
  • previous_response_id — Não há suporte para respostas armazenadas.

O parâmetro service_tier aceita "priority" para colocar uma solicitação no modo de prioridade. Consulte Pagamento prioritário por token para APIs de modelos de fundação para os modelos e regiões com suporte. Defina service_tier como "default" para usar explicitamente o produto padrão de pagamento por token. Omitir service_tier é equivalente a passar "default". Qualquer valor service_tier diferente de "default" ou "priority" retorna um erro.

Os seguintes tipos de ferramenta têm suporte para modelos de base de pagamento por token:

  • function — Chamada de função estruturada tradicional
  • custom — Ferramentas personalizadas definidas pelo usuário
  • apply_patch — Operações de aplicação de patch de código
  • shell — Execução de comando do Shell
  • image_generation — Geração de imagem
  • mcp – Ferramentas do Protocolo de Contexto do Modelo
  • web_search — Pesquisa na Web

Recursos adicionais