使用 OpenAI 响应 API 进行查询

重要

响应 API 仅与 OpenAI 按使用的令牌数收费的基础模型和外部模型兼容。 使用 聊天完成 API,以实现适用于所有提供商的统一 API。

OpenAI 响应 API 是聊天完成 API 的替代方法,它为 OpenAI 模型提供其他功能,包括自定义工具和多步骤工作流。

要求

查询示例

本节中的示例演示如何使用 OpenAI 响应 API 查询基础模型 API 按令牌付费终结点。

Python

要使用 OpenAI 响应 API,请将模型服务终结点名称指定为 model 输入。 以下示例假定您拥有 Azure Databricks API 令牌,并已在计算中安装了 openai。 还需要Azure Databricks工作区实例才能将 OpenAI 客户端连接到 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
)

REST API

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

自定义工具

自定义工具允许模型返回任意字符串输出,而不是 JSON 格式的函数参数。 这对于代码生成、应用修补程序或其他不需要结构化 JSON 的用例非常有用。

注释

自定义工具仅通过响应 API 支持 GPT-5 系列模型(databricks-gpt-5databricks-gpt-5-1databricks-gpt-5-2databricks-gpt-5-4databricks-gpt-5-5databricks-gpt-5-5-pro)。

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
)

内置工具

内置工具允许模型调用平台提供的功能,而无需自己实现工具后端。 这些工具返回结构化输出,由平台完全管理。

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)

支持的模型

外部模型

  • OpenAI 模型提供商
  • Azure OpenAI 模型提供程序

支持的输入类型

Azure Databricks上的 OpenAI GPT 模型接受文本和图像输入。 有关图像格式和大小要求,请参阅 查询视觉模型 。 有关每模型输入类型,请参阅 基础模型 API 中提供的 Databricks 托管的基础模型

局限性

以下限制仅适用于 按令牌付费的基础模型 。 外部模型支持所有响应 API 参数和工具。

不支持以下参数,如果指定,则返回 400 错误:

  • background — 不支持后台处理。
  • store — 不支持存储的响应。
  • previous_response_id — 不支持存储的响应。
  • service_tier - 服务层选择由Azure Databricks管理。

以下工具类型支持按令牌付费的基础模型:

  • function — 传统的结构化函数调用
  • custom — 自定义用户定义工具
  • apply_patch — 代码修补操作
  • shell — Shell 命令执行
  • image_generation — 映像生成
  • mcp — 模型上下文协议工具
  • web_search — Web 搜索

其他资源