Zapytanie do API odpowiedzi OpenAI

Ważne

Interfejs API Responses OpenAI opisany w tym artykule stanowi natywny mechanizm przekazywania dla bazowych modeli OpenAI rozliczanych za token oraz modeli zewnętrznych i obsługuje pełny zestaw parametrów i narzędzi interfejsu OpenAI Responses. Informacje na temat ujednoliconego interfejsu Responses API dla modeli Anthropic Claude, Google Gemini i modeli open source hostowanych przez Databricks można znaleźć tutaj: Wysyłanie zapytania do modelu za pomocą Open Responses API. Chat Completions API jest również dostępne u wszystkich dostawców.

Interfejs API odpowiedzi OpenAI jest alternatywą dla interfejsu API dopełnień czatu, który zapewnia dodatkowe funkcje dla modeli OpenAI, w tym niestandardowe narzędzia i wieloetapowe przepływy pracy.

Wymagania

Przykłady zapytań

Uwaga / Notatka

Poniższe przykłady opierają się na Unity Gateway i usługach modelowych. Jeśli używasz modelu obsługującego punkty końcowe zamiast usług modelu, zastąp nazwę usługi modelu nazwą punktu końcowego. Zobacz Szczegółową listę modeli obsługiwanych przez interfejsy API modeli bazowych Databricks, aby wyświetlić listę dostępnych modeli bazowych oraz nazwy usług modeli i punktów końcowych.

Przykłady w tej sekcji pokazują, jak wysyłać zapytania do usługi modelu Foundation Model API rozliczanej za token za pomocą interfejsu OpenAI Responses API.

Python

Aby korzystać z interfejsu OpenAI Responses API, podaj nazwę usługi modelu jako dane wejściowe model. W poniższym przykładzie przyjęto założenie, że masz token interfejsu API Azure Databricks i zainstalowany na Twoim zasobie obliczeniowym. Potrzebujesz również instancji obszaru roboczego Azure Databricks, aby połączyć klienta OpenAI z 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
)

interfejs 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

Narzędzia niestandardowe

Narzędzia niestandardowe umożliwiają modelowi zwracanie dowolnych danych wyjściowych ciągu zamiast argumentów funkcji sformatowanych w formacie JSON. Jest to przydatne w przypadku generowania kodu, stosowania poprawek lub innych przypadków użycia, w których ustrukturyzowany kod JSON nie jest wymagany.

Uwaga / Notatka

Narzędzia niestandardowe są obsługiwane tylko w przypadku modeli serii 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) za pośrednictwem API Responses.

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
)

Wbudowane narzędzia

Wbudowane narzędzia umożliwiają modelowi wywoływanie funkcji udostępnianych przez platformę bez konieczności samodzielnego implementowania zaplecza narzędzia. Te narzędzia zwracają ustrukturyzowane dane wyjściowe i są w pełni zarządzane przez platformę.

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)

Obsługiwane modele

Modele zewnętrzne

  • Dostawca modelu OpenAI
  • dostawca modelu Azure OpenAI

Obsługiwane typy danych wejściowych

Modele openAI GPT na Azure Databricks akceptują dane wejściowe tekstu i obrazu. Zobacz Modele przetwarzania obrazów zapytań , aby uzyskać informacje o wymaganiach dotyczących formatu i rozmiaru obrazu. Aby sprawdzić typy danych wejściowych dla poszczególnych modeli, zobacz Szczegółową listę modeli obsługiwanych przez interfejsy API Databricks Foundation Model.

Ograniczenia

Następujące ograniczenia dotyczą tylko modeli podstaw płatności za token . Modele zewnętrzne obsługują wszystkie parametry i narzędzia interfejsu odpowiedzi API.

Następujące parametry nie są obsługiwane i zwracają błąd 400, jeśli określono:

  • background — Przetwarzanie w tle nie jest obsługiwane.
  • store — Przechowywane odpowiedzi nie są obsługiwane.
  • previous_response_id — Przechowywane odpowiedzi nie są obsługiwane.

Parametr service_tier przyjmuje wartość "priority", aby włączyć tryb priorytetowy dla żądania. Informacje o obsługiwanych modelach i regionach znajdziesz w Priorytetowa płatność za token dla interfejsów API modeli bazowych. Ustaw service_tier na "default", aby jawnie ustawić domyślny produkt rozliczany za token. Pominięcie service_tier jest równoważne z przekazaniem "default". Każda service_tier wartość inna niż "default" lub "priority" zwraca błąd.

Następujące typy narzędzi są obsługiwane w przypadku modeli bazowych opartych na płatności za token:

  • function — Tradycyjne ustrukturyzowane wywoływanie funkcji
  • custom — Niestandardowe narzędzia zdefiniowane przez użytkownika
  • apply_patch — Operacje stosowania poprawek kodu
  • shell — Wykonywanie polecenia powłoki
  • image_generation — Generowanie obrazu
  • mcp — Narzędzia protokołu kontekstowego modelu
  • web_search — wyszukiwanie w Sieci Web

Dodatkowe zasoby