Interroger un modèle de chat
Dans cet article, vous apprendrez à rédiger des requêtes pour les modèles de fondation optimisés pour le chat et les tâches à usage général, et servis par Unity AI Gateway.
Genie Code (mode Agent) peut le faire pour vous. Essayez cet exemple de prompt :
Query the databricks-claude-sonnet-4-5 chat model using the OpenAI client. Send a system prompt and a user question, and print the response.
Les exemples de cet article s'appliquent à l'interrogation de modèles de fondation qui sont mis à disposition à l'aide de l'une des méthodes suivantes :
- APIs de modèles de fondation qui sont désignés comme modèles de fondation hébergés par Databricks .
- Les modèles externes qui sont appelés les modèles de fondation hébergés en dehors de Databricks .
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 suivants sont basés sur la Passerelle d’IA Unity et les services de modèle. Si vous utilisez des Endpoint de service de modèle au lieu de services de modèle, remplacez le nom du service de modèle par un nom d'Endpoint. Voir les modèles de fondation hébergés par Databricks disponibles dans les APIs de modèles de fondation pour une liste des modèles de fondation disponibles et leurs noms de service de modèle et d'Endpoint.
Les exemples de cette section montrent comment interroger un service de modèle API de modèle de fondation par jeton à l'aide des différentes options client.
Pour un exemple d'inférence par batch, voir Enrichir des données à l'aide des AI Functions.
- OpenAI Chat Completions
- OpenAI Responses
- SQL
- REST API
- MLflow Deployments SDK
- Databricks Python SDK
- LangChain
Pour utiliser le client OpenAI, spécifiez le nom du service de modèle comme entrée model.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_tokens=256
)
Pour interroger les 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/ai-gateway/mlflow/v1"
)
response = client.chat.completions.create(
model="system.ai.claude-sonnet-4-5",
messages=[
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": "What is a mixture of experts model?",
}
],
max_tokens=256
)
À titre d'exemple, voici le format de requête attendu pour un modèle de chat lors de l'utilisation de l'API REST. Pour les modèles externes, vous pouvez inclure des paramètres supplémentaires valides pour un fournisseur et une configuration d'endpoint donnés. Voir Paramètres de query supplémentaires.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l'aide de l'API REST :
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Cette section traite de l'API OpenAI Responses, un passthrough natif qui prend en charge l'ensemble complet des paramètres OpenAI Responses pour les modèles OpenAI. Pour utiliser le format de requête de réponses avec Anthropic Claude, Google Gemini ou des modèles ouverts hébergés par Databricks, consultez Query un modèle avec l'API Open Responses.
Pour utiliser l'OpenAI Responses API, spécifiez le nom du service de modèle comme entrée model.
from databricks_openai import DatabricksOpenAI
client = DatabricksOpenAI()
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
)
Pour interroger les 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/ai-gateway/mlflow/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
)
Par exemple, voici le format de requête attendu lors de l'utilisation de l'OpenAI Responses API. Le chemin d'URL de cette API est /serving-endpoints/responses.
{
"model": "databricks-gpt-5",
"input": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_output_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l’aide de l’API Responses :
{
"id": "resp_abc123",
"object": "response",
"created_at": 1698824353,
"model": "databricks-gpt-5",
"output": [
{
"type": "message",
"role": "assistant",
"content": []
}
],
"usage": {
"input_tokens": 7,
"output_tokens": 74,
"total_tokens": 81
}
}
L'exemple suivant utilise la fonction SQL intégrée, ai_query. Cette fonction est en prévisualisation publique et la définition pourrait changer.
SELECT ai_query(
"system.ai.claude-sonnet-4-5",
"Can you explain AI in ten words?"
)
À titre d'exemple, voici le format de requête attendu pour un modèle de chat lors de l'utilisation de l'API REST. Pour les modèles externes, vous pouvez inclure des paramètres supplémentaires valides pour un fournisseur et une configuration d'endpoint donnés. Voir Paramètres de query supplémentaires.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l'aide de l'API REST :
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
L'exemple suivant utilise les parameters de l'API REST pour interroger les endpoints de diffusion qui servent les modèles de fondation. Ces paramètres sont en préversion publique et la définition pourrait changer. Consultez POST /serving-endpoints/{name}/invocations.
curl \
-u token:$DATABRICKS_TOKEN \
-X POST \
-H "Content-Type: application/json" \
-d '{
"model": "system.ai.claude-sonnet-4-5",
"messages": [
{
"role": "system",
"content": "You are a helpful assistant."
},
{
"role": "user",
"content": " What is a mixture of experts model?"
}
]
}' \
https://<workspace_host>.databricks.com/ai-gateway/mlflow/v1/chat/completions \
À titre d'exemple, voici le format de requête attendu pour un modèle de chat lors de l'utilisation de l'API REST. Pour les modèles externes, vous pouvez inclure des paramètres supplémentaires valides pour un fournisseur et une configuration d'endpoint donnés. Voir Paramètres de query supplémentaires.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l'aide de l'API REST :
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
L'exemple suivant utilise l'API predict() du SDK de déploiement MLflow.
import mlflow.deployments
# Only required when running this example outside of a Databricks Notebook
export DATABRICKS_HOST="https://<workspace_host>.databricks.com"
export DATABRICKS_TOKEN="dapi-your-databricks-token"
client = mlflow.deployments.get_deploy_client("databricks")
chat_response = client.predict(
endpoint="system.ai.claude-sonnet-4-5",
inputs={
"messages": [
{
"role": "user",
"content": "Hello!"
},
{
"role": "assistant",
"content": "Hello! How can I assist you today?"
},
{
"role": "user",
"content": "What is a mixture of experts model??"
}
],
"temperature": 0.1,
"max_tokens": 20
}
)
À titre d'exemple, voici le format de requête attendu pour un modèle de chat lors de l'utilisation de l'API REST. Pour les modèles externes, vous pouvez inclure des paramètres supplémentaires valides pour un fournisseur et une configuration d'endpoint donnés. Voir Paramètres de query supplémentaires.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l'aide de l'API REST :
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Ce code doit être exécuté dans un notebook de votre workspace. Consultez Utiliser le SDK Databricks pour Python à partir d'un Notebook Databricks.
from databricks.sdk import WorkspaceClient
from databricks.sdk.service.serving import ChatMessage, ChatMessageRole
w = WorkspaceClient()
response = w.serving_endpoints.query(
name="system.ai.claude-sonnet-4-5",
messages=[
ChatMessage(
role=ChatMessageRole.SYSTEM, content="You are a helpful assistant."
),
ChatMessage(
role=ChatMessageRole.USER, content="What is a mixture of experts model?"
),
],
max_tokens=128,
)
print(f"RESPONSE:\n{response.choices[0].message.content}")
À titre d'exemple, voici le format de requête attendu pour un modèle de chat lors de l'utilisation de l'API REST. Pour les modèles externes, vous pouvez inclure des paramètres supplémentaires valides pour un fournisseur et une configuration d'endpoint donnés. Voir Paramètres de query supplémentaires.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l'aide de l'API REST :
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Pour interroger un service de modèle à l'aide de LangChain, vous pouvez utiliser la classe ChatModel ChatDatabricks et spécifier model.
%pip install databricks-langchain
from langchain_core.messages import HumanMessage, SystemMessage
from databricks_langchain import ChatDatabricks
messages = [
SystemMessage(content="You're a helpful assistant"),
HumanMessage(content="What is a mixture of experts model?"),
]
llm = ChatDatabricks(model="system.ai.claude-sonnet-4-5")
llm.invoke(messages)
À titre d'exemple, voici le format de requête attendu pour un modèle de chat lors de l'utilisation de l'API REST. Pour les modèles externes, vous pouvez inclure des paramètres supplémentaires valides pour un fournisseur et une configuration d'endpoint donnés. Voir Paramètres de query supplémentaires.
{
"messages": [
{
"role": "user",
"content": "What is a mixture of experts model?"
}
],
"max_tokens": 100,
"temperature": 0.1
}
Voici le format de réponse attendu pour une requête effectuée à l'aide de l'API REST :
{
"model": "databricks-claude-sonnet-4-5",
"choices": [
{
"message": {},
"index": 0,
"finish_reason": null
}
],
"usage": {
"prompt_tokens": 7,
"completion_tokens": 74,
"total_tokens": 81
},
"object": "chat.completion",
"id": null,
"created": 1698824353
}
Modèles pris en charge
Voir les types de modèles de fondation pour les modèles de chat pris en charge.