Запрос с помощью API ответов OpenAI

Это важно

API OpenAI Responses, описанный в этой статье, представляет собой собственный механизм сквозной передачи для базовых моделей OpenAI с оплатой за токен и внешних моделей и поддерживает полный набор параметров и инструментов OpenAI Responses. Сведения о едином Responses API для Anthropic Claude, Google Gemini и открытых моделей, размещенных в Databricks, см. в статье Отправка запроса к модели с помощью Open Responses API. API завершения чата также доступен для всех поставщиков.

API ответов OpenAI — это альтернатива API завершения чата, которая предоставляет дополнительные возможности для моделей OpenAI, включая пользовательские инструменты и многоэтапные рабочие процессы.

Требования

Примеры запросов

В примерах этого раздела показано, как запросить конечную точку API модели Foundation за токен с помощью API OpenAI Responses.

Python

Чтобы использовать API ответов OpenAI, укажите имя конечной точки службы модели в качестве входных model данных. В следующем примере предполагается, что у вас есть токен API Azure Databricks и 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 не требуется.

Замечание

Пользовательские средства поддерживаются только с моделями серии GPT-5 (databricks-gpt-5, databricks-gpt-5-1, databricks-gpt-5-2, databricks-gpt-5-4, databricks-gpt-5-5, databricks-gpt-5-5-pro) через API ответов.

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
  • поставщик модели OpenAI Azure

Поддерживаемые типы входных данных

Модели OpenAI GPT в Azure Databricks принимают входные данные текста и изображения. Ознакомьтесь с моделями визуального зрения запросов для требований к формату изображения и размеру. Сведения о типах входных данных для каждой модели см. в разделе о размещённых Databricks базовых моделях, доступных в API-интерфейсах базовых моделей.

Ограничения

Следующие ограничения применяются только к моделям основы оплаты за токен . Внешние модели поддерживают все параметры и средства API ответов.

Следующие параметры не поддерживаются и возвращают ошибку 400, если задано:

  • background — фоновая обработка не поддерживается.
  • store — сохраненные ответы не поддерживаются.
  • previous_response_id — сохраненные ответы не поддерживаются.

Параметр service_tier принимает значение "priority", чтобы включить для запроса режим приоритета. См. раздел «Приоритетная оплата за токен для API базовых моделей» со списком поддерживаемых моделей и регионов. Установите service_tier в значение "default", чтобы явно использовать продукт с оплатой за каждый токен по умолчанию. Опущение service_tier эквивалентно передаче "default". Любое service_tier значение, отличное от "default" или "priority" возвращающее ошибку.

Следующие типы инструментов поддерживаются для моделей основы оплаты за токены:

  • function — традиционный вызов структурированной функции
  • custom — настраиваемые инструменты пользователя
  • apply_patch — операции исправления кода
  • shell — выполнение команд оболочки
  • image_generation — создание образа
  • mcp — инструменты протокола контекста модели
  • web_search — поиск в Интернете

Дополнительные ресурсы