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

Note

Les exemples suivants sont basés sur Unity Gateway et les services modèles. Si vous utilisez des points de terminaison de service de modèle au lieu des services de modèle, remplacez le nom du service de modèle par un nom de point de terminaison. Voir la liste détaillée des modèles pris en charge par les API de modèles de fondation Databricks pour une liste des modèles de fondation disponibles ainsi que leurs noms de service de modèles et de points de terminaison.

Les exemples de cette section montrent comment interroger un service de modèle de l'API Foundation Model facturé au token en utilisant l'API OpenAI Responses.

Python

Pour utiliser l’API Réponses OpenAI, spécifiez le nom du service de modèle comme model entrée. 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/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
)

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

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 (system.ai.gpt-5, , system.ai.gpt-5-1, system.ai.gpt-5-2system.ai.gpt-5-4, system.ai.gpt-5-5, system.ai.gpt-5-5-pro) via l’API Réponses.

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
)

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="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)

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 les types d’entrée par modèle, voir Liste détaillée des modèles pris en charge par les API de modèles de fondation Databricks.

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 par jeton pour les API Foundation Model 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