Consultar um modelo com a API de Respostas Abertas

Este artigo explica como consultar modelos de base usando a API de Respostas Abertas e descreve o comportamento específico do provedor para considerar quando você faz isso.

A Open Responses API é uma implementação aberta e compatível com vários provedores do formato de solicitação do tipo responses. Ele usa um input campo em vez de messages e retorna uma matriz estruturada output . Envie solicitações para o caminho /serving-endpoints/open-responses com o nome do ponto de extremidade de servidor do modelo no campo model do corpo da solicitação.

Observação

Para modelos OpenAI, use a API de Respostas OpenAI diretamente. Esse caminho é uma passagem nativa e dá suporte ao conjunto completo de parâmetros e ferramentas do OpenAI Responses. Este artigo aborda a API de Respostas Abertas, que funciona entre provedores, mas dá suporte a um conjunto de recursos focado.

Exemplos de consulta

O exemplo a seguir consulta um ponto de extremidade de modelo de base com a API de Respostas Abertas.

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "model": "databricks-claude-sonnet-4-5",
    "input": [
      {
        "role": "user",
        "content": "What is a mixture of experts model?"
      }
    ],
    "max_output_tokens": 256
  }' \
  https://<workspace_host>.databricks.com/serving-endpoints/open-responses

A resposta é um response objeto com uma output matriz. Para solicitações de streaming (stream: true), a resposta é um text/event-stream, em que cada evento é um fragmento de resposta.

Comportamento específico do provedor

O Databricks converte a solicitação Open Responses para o formato nativo de cada provedor. O comportamento é consistente para a maioria das solicitações, mas as diferenças específicas do provedor a seguir se aplicam.

Todos os provedores

  • As conversas são sem estado. previous_response_id e armazenamento de conversas do servidor não são compatíveis. Envie a conversa completa no campo input em cada turno.
  • Alguns campos específicos do OpenAI são aceitos, mas ignorados em provedores não OpenAI. Campos como user, safety_identifier, metadatae truncation são retornados na resposta para portabilidade, mas não alteram o comportamento do provedor.

Modelos hospedados pelo Databricks (código aberto)

  • O suporte a recursos é por modelo. A chamada de função, o raciocínio, a saída estruturada e a entrada da imagem são habilitados por modelo. Uma solicitação que usa um recurso que o modelo não dá suporte retorna um erro. Por exemplo, um modelo que dá suporte ao raciocínio pode não dar suporte à entrada de imagem.
  • A entrada da imagem deve ser uma URL ou um URI de dados. Forneça imagens por meio de image_url como uma https URL ou um data: URI. Não há suporte para referências de arquivo (file_id) e entradas de documento (input_file).

Modelos Anthropic Claude

  • A temperatura usa uma escala de 0 a 2. Claude usa um intervalo nativo de 0 a 1, portanto, o Databricks redimensiona o valor reduzindo-o pela metade,temperature: 1.0 comportando-se como 0.5.
  • Raciocínio de ida e volta em turnos. Para permitir que o modelo raciocine sobre o pensamento anterior em uma conversa com vários turnos, envie os itens retornados reasoning, com encrypted_content inalterados, ao input da próxima solicitação. Consulte modelos de raciocínio de consulta.
  • As entradas de imagem e documento devem ser URIs de dados base64. Forneça imagens usando image_url como um URI data: de base64 e documentos usando file_data como um URI data: de base64. Sem suporte para URLs https e referências de file_id.
  • A saída estruturada tem restrições. text.format do tipo json_schema tem suporte, mas json_object não é e retorna um erro. A saída estruturada não pode ser combinada com streaming ou com raciocínio, e você não pode fixar tool_choice em uma ferramenta específica ao usá-la. Consulte saídas estruturadas no Azure Databricks.
  • Os tokens de raciocínio são incluídos em usage.output_tokens, em vez de serem relatados separadamente.

Modelos do Google Gemini

  • A temperatura usa uma escala de 0 a 2. O Gemini usa um intervalo nativo de 0 a 1, portanto, o Databricks redimensiona o valor reduzindo-o pela metade,temperature: 1.0 comportando-se como 0.5.
  • Raciocínio de ida e volta em turnos. Para permitir que o modelo raciocine sobre o pensamento anterior em uma conversa com vários turnos, envie os itens retornados reasoning, com encrypted_content inalterados, ao input da próxima solicitação. Consulte modelos de raciocínio de consulta.
  • A entrada de imagem aceita URLs https e URIs de dados base64.
  • Tokens de raciocínio são relatados em usage.output_tokens_details.reasoning_tokens.

Important

As chamadas de ferramenta multiturno com Gemini exigem a preservação de encrypted_content. Gemini retorna um encrypted_content valor em cada function_call item que produz. Ao retornar o resultado da ferramenta na próxima interação, você deve incluir o item function_call original com o campo encrypted_content inalterado. Frameworks de agentes que reconstroem chamadas de ferramenta apenas de name, arguments e call_id descartam esse campo, o que faz com que a solicitação subsequente seja rejeitada.

O exemplo a seguir preserva o item function_call (com seu encrypted_content) ao retornar o resultado da ferramenta:

{
  "model": "databricks-gemini-2-5-pro",
  "input": [
    { "role": "user", "content": "What's the weather in San Francisco?" },
    {
      "type": "function_call",
      "call_id": "call_abc123",
      "name": "get_weather",
      "arguments": "{\"city\": \"San Francisco\"}",
      "encrypted_content": "<opaque-provider-signature>"
    },
    {
      "type": "function_call_output",
      "call_id": "call_abc123",
      "output": "{\"temp_f\": 64}"
    }
  ]
}

Tools

A API Open Responses oferece suporte a ferramentas do tipo function em diferentes provedores. Para obter detalhes e os modelos com suporte, consulte a chamada de função em Azure Databricks. Para a ferramenta interna de pesquisa na Web, consulte a pesquisa na Web em Azure Databricks.

Outros tipos de ferramentas internas e personalizadas (por exemplo custom, apply_patch, image_generatione mcp) estão disponíveis apenas por meio da API de Respostas OpenAI.

Modelos com suporte

A API de Respostas Abertas está disponível em modelos de base do Databricks, incluindo modelos abertos hospedados por Anthropic Claude, Google Gemini e Databricks, e o suporte se estende a novos modelos daqui para frente. Para obter a lista atual de modelos disponíveis, consulte os tipos de modelo do Foundation.

O suporte a recursos, como chamada de função, raciocínio, saída estruturada e entrada de imagem, depende do modelo subjacente. Consulte o comportamento específico do provedor.

Tipos de entrada com suporte

O suporte de entrada depende do modelo e do provedor. A entrada de texto é compatível com todos os modelos. Para entrada de imagem, consulte as notas específicas de cada provedor em Comportamento específico do provedor e os requisitos de formato e tamanho em Consultar modelos de visão. Para tipos de entrada por modelo, consulte os modelos de base hospedados pelo Databricks disponíveis nas APIs do Foundation Model.

Recursos adicionais