Consultar com a API de Respostas da OpenAI
A API de Respostas é compatível apenas com os modelos básicos de pagamento por token OpenAI e com modelos externos. Para uma API unificada que funcione em todos os provedores, use a API Chat Completions.
A API OpenAI Responses é uma alternativa à API Chat Completions que fornece recursos adicionais para os modelos OpenAI , incluindo ferramentas personalizadas e fluxo de trabalho em várias etapas.
Requisitos
- Consulte os Requisitos.
- Instale o pacote apropriado em seu cluster com base na opção de cliente de consulta escolhida.
Exemplos de consulta
Os exemplos nesta seção mostram como consultar um endpoint de pagamento por token API do Foundation Model usando a API de Respostas OpenAI .
- Python (DatabricksOpenAI)
- Python (OpenAI)
- REST API
Para usar a API OpenAI Responses, especifique o nome endpoint do modelo de serviço como a entrada model .
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
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
)
Para consultar modelos fundamentais fora do seu workspace, você deve usar o cliente OpenAI diretamente. Você também precisa da sua instância workspace Databricks para conectar o cliente OpenAI ao Databricks. O exemplo a seguir pressupõe que você tenha tokens API Databricks e openai instalados em seu compute.
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
)
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"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
}' \
https://<workspace_host>.databricks.com/serving-endpoints/responses
Ferramentas personalizadas
Ferramentas personalizadas permitem que o modelo retorne strings arbitrárias em vez de argumentos de função formatados em JSON . Isso é útil para geração de código, aplicação de correções ou outros casos de uso em que JSON estruturado não é necessário.
As ferramentas personalizadas são suportadas apenas com modelos da série GPT-5 (databricks-gpt-5, databricks-gpt-5-1, databricks-gpt-5-2) através da API de Respostas.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.responses.create(
model="databricks-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 integradas permitem que o modelo invoque funcionalidades fornecidas pela plataforma sem exigir que você implemente o backend da ferramenta por conta própria. Essas ferramentas retornam resultados estruturados e são totalmente controladas pela plataforma.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.responses.create(
model="databricks-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 suportados
modelos de fundação hospedados no Databricks
databricks-gpt-5-2databricks-gpt-5-1databricks-gpt-5-1-codex-maxdatabricks-gpt-5-1-codex-minidatabricks-gpt-5databricks-gpt-5-minidatabricks-gpt-5-nano
Modelos externos
- provedor de modelos da OpenAI
- provedor de modelos do Azure OpenAI
Limitações
As seguintes limitações aplicam-se apenas aos modelos de fundação com pagamento por token . Os modelos externos são compatíveis com todos os parâmetros e ferramentas da API de Respostas.
Os seguintes parâmetros não são suportados e retornam um erro 400 se especificados:
background— O processamento em segundo plano não é suportado.store— Respostas armazenadas não são suportadas.previous_response_id— Respostas armazenadas não são suportadas.service_tier— a seleção da camada de serviço é gerenciada pelo Databricks.
Os seguintes tipos de ferramentas são suportados para modelos de fundação de pagamento por tokens:
function— Chamada de função estruturada tradicionalcustom— Ferramentas personalizadas definidas pelo usuárioapply_patch— Operações de correção de códigoshell— execução de comandos do shellimage_generation— Geração de imagensmcp— Ferramentas do Protocolo de Contexto do Modelo