Interroger avec l’API Réponses OpenAI

Important

L’API OpenAI Responses décrite dans cet article est un relais direct natif pour les modèles de fondation OpenAI facturés au jeton ainsi que pour les modèles externes, et prend en charge l’ensemble des paramètres et outils d’OpenAI Responses. Pour obtenir une API Réponses unifiées sur Anthropic Claude, Google Gemini et les modèles ouverts hébergés par Databricks, consultez Interroger un modèle avec l’API Open Responses. L’API Chat Completions est également disponible chez tous les fournisseurs.

L’API Réponses OpenAI est une alternative à l’API de complétions de discussion qui fournit des fonctionnalités supplémentaires pour les modèles OpenAI, y compris des outils personnalisés et des flux de travail en plusieurs étapes.

Spécifications

Exemples de requêtes

Les exemples de cette section montrent comment interroger un point de terminaison de paiement par jeton d’API Foundation Model à l’aide de l’API Réponses OpenAI.

Python

Pour utiliser l’API Réponses OpenAI, spécifiez le nom du point de terminaison de service du modèle comme entrée model. L'exemple suivant suppose que vous avez un jeton d'API Azure Databricks et openai installé sur votre environnement de calcul. Vous avez également besoin de votre instance d’espace de travail Azure Databricks pour connecter le client 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
)

API REST

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

Outils personnalisés

Les outils personnalisés permettent au modèle de retourner une sortie de chaîne arbitraire au lieu d’arguments de fonction au format JSON. Cela est utile pour la génération de code, l’application de correctifs ou d’autres cas d’usage où json structuré n’est pas nécessaire.

Note

Les outils personnalisés sont uniquement pris en charge avec les modèles de série GPT-5 (databricks-gpt-5, , databricks-gpt-5-1, databricks-gpt-5-2databricks-gpt-5-4, databricks-gpt-5-5, databricks-gpt-5-5-pro) via l’API Réponses.

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
)

Outils intégrés

Les outils intégrés permettent au modèle d’appeler des fonctionnalités fournies par la plateforme sans avoir à implémenter vous-même le back-end d’outil. Ces outils retournent des sorties structurées et sont entièrement gérés par la plateforme.

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)

Modèles pris en charge

Modèles externes

  • Fournisseur de modèles OpenAI
  • Azure fournisseur de modèles OpenAI

Types d’entrée pris en charge

Les modèles GPT OpenAI sur Azure Databricks acceptent les entrées textuelles et visuelles. Consultez les modèles vision de requête pour connaître les exigences de format et de taille de l’image. Pour connaître les types d’entrée par modèle, consultez les modèles de base hébergés par Databricks disponibles dans les API Foundation Model.

Limites

Les limitations suivantes s’appliquent uniquement aux modèles de base de paiement par jeton . Les modèles externes prennent en charge tous les paramètres et outils de l’API Réponses.

Les paramètres suivants ne sont pas pris en charge et retournent une erreur 400 si spécifiée :

  • background — Le traitement en arrière-plan n’est pas pris en charge.
  • store — Les réponses stockées ne sont pas prises en charge.
  • previous_response_id — Les réponses stockées ne sont pas prises en charge.

Le paramètre service_tier accepte "priority" pour faire passer une requête en mode prioritaire. Consultez Paiement prioritaire au jeton pour les API de modèles de fondation pour connaître les modèles et les régions pris en charge. Définissez service_tier sur "default" pour utiliser explicitement le produit de paiement par jeton par défaut. Omettre service_tier équivaut à passer "default". Toute service_tier valeur autre que "default" ou "priority" retourne une erreur.

Les types d’outils suivants sont pris en charge pour les modèles de base de paiement par jeton :

  • function — Appel de fonction structurée traditionnel
  • custom — Outils personnalisés définis par l’utilisateur
  • apply_patch — Opérations de mise à jour corrective du code
  • shell — Exécution de commande Shell
  • image_generation — Génération d’images
  • mcp — Outils Model Context Protocol
  • web_search — Recherche sur le web

Ressources supplémentaires