Query avec l’OpenAI Responses API
L'API OpenAI Responses décrite dans cet article est un passe-plat natif pour les modèles de base OpenAI payants par jeton et les modèles externes, et prend en charge l'ensemble complet des paramètres et outils de l'API OpenAI Responses. Pour une API de réponses unifiée pour Anthropic Claude, Google Gemini et les modèles ouverts hébergés par Databricks, consultez Interroger un modèle avec l'API OpenAI Responses. L'API d'achèvement du chat est également disponible chez tous les fournisseurs.
L'OpenAI Responses API est une alternative à l'API Chat Completions qui offre des fonctionnalités supplémentaires pour les modèles OpenAI, notamment des outils personnalisés et des workflows en plusieurs étapes.
Exigences
- Consultez Exigences.
- Installez le package approprié sur votre cluster en fonction de l'option de client de requête que vous choisissez.
Exemples de query
Les exemples de cette section montrent comment interroger un Endpoint d'API de modèle de fondation à paiement par jeton à l'aide de l'OpenAI Responses API.
- Python (DatabricksOpenAI)
- Python (OpenAI)
- REST API
Pour utiliser l'OpenAI Responses API, spécifiez le nom de l'Endpoint de service de modèle comme entrée model.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
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
)
Pour interroger des modèles de fondation en dehors de votre Workspace, vous devez utiliser le client OpenAI directement. Vous avez également besoin de votre instance de Workspace Databricks pour connecter le client OpenAI à Databricks. L'exemple suivant suppose que vous avez un jeton d'API Databricks et openai installé sur votre compute.
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
)
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 renvoyer une sortie de chaîne arbitraire au lieu d'arguments de fonction formatés en JSON. Ceci est utile pour la génération de code, l'application de correctifs ou d'autres cas d'utilisation où le JSON structuré n'est pas requis.
Les outils personnalisés ne sont pris en charge qu'avec les modèles de la série 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) via l'API de 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 les capacités fournies par la plateforme sans que vous ayez à implémenter vous-même le backend de l'outil. Ces outils renvoient des sorties structurées et sont entièrement managé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 de fondation hébergés par Databricks
databricks-gpt-5-6-soldatabricks-gpt-5-6-terradatabricks-gpt-5-6-lunadatabricks-gpt-5-5-prodatabricks-gpt-5-5databricks-gpt-5-4databricks-gpt-5-4-minidatabricks-gpt-5-4-nanodatabricks-gpt-5-3-codexdatabricks-gpt-5-2databricks-gpt-5-1databricks-gpt-5databricks-gpt-5-minidatabricks-gpt-5-nano
Modèles externes
- Fournisseur de modèles OpenAI
- Fournisseur de modèle Azure OpenAI
Types d'entrée pris en charge
Les modèles GPT OpenAI sur Databricks acceptent les entrées de texte et d'image. Consultez les modèles de vision par query pour connaître les exigences de format et de taille d'image. Pour les types d'entrée par modèle, consultez les modèles de fondation hébergés par Databricks disponibles dans les API de modèle de fondation.
Limitations
Les limitations suivantes s'appliquent uniquement aux modèles de fondation avec paiement par jeton. Les modèles externes prennent en charge tous les paramètres d'API et les outils des réponses.
Les paramètres suivants ne sont pas pris en charge et renvoient une erreur 400 s'ils sont spécifiés :
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.service_tier— La sélection du niveau de service est gérée par Databricks.
Les types d'outils suivants sont pris en charge pour les modèles de fondation pay-per-token :
function— Appel de fonction structuré traditionnelcustom— Outils personnalisés définis par l'utilisateurapply_patch— Opérations de correction du codeshell— Exécution de commande Shellimage_generation— Génération d'imagesmcp— Outils Model Context Protocolweb_search— Recherche web