Étiquetage des requêtes

Attachez des balises clé-valeur personnalisées à des requêtes individuelles en utilisant l’en-tête Databricks-Ai-Gateway-Request-Tags HTTP. Unity Gateway enregistre les balises de requête dans la colonne request_tags à la fois dans la table du système de suivi d’utilisation et dans les tables d’inférence, vous permettant de suivre les coûts, d’attribuer l’utilisation et de filtrer les analyses par projet, équipe, environnement ou autre dimension.

Sur les requêtes où des politiques de service s’exécutent, les politiques personnalisées peuvent également évaluer ces balises via event:context.request_tags. Par exemple, une politique peut exiger la présence d’un tag avant d’autoriser une requête. Voir Balises de requête dans les politiques de service.

La valeur d’en-tête doit être un objet JSON qui associe des clés de chaîne à des valeurs de chaîne. Par exemple:

{ "project": "chatbot", "team": "ml-platform", "environment": "production" }

Étiqueter une demande de service de modèle

Utilisez le paramètre extra_headers (Python) ou transmettez directement l’en-tête (API REST) pour associer des balises à une requête adressée à un service de modèle :

Python (Kit de développement logiciel OpenAI)

from openai import OpenAI
import json
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

client = OpenAI(
  api_key=DATABRICKS_TOKEN,
  base_url="https://<workspace-url>/ai-gateway/mlflow/v1"
)

request_tags = {"project": "chatbot", "team": "ml-platform"}

chat_completion = client.chat.completions.create(
  messages=[
    {"role": "user", "content": "What is Databricks?"},
  ],
  model="<model-service>",
  max_tokens=256,
  extra_headers={
    "Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)
  }
)

Python (SDK Anthropic)

import anthropic
import json
import os

DATABRICKS_TOKEN = os.environ.get('DATABRICKS_TOKEN')

request_tags = {"project": "chatbot", "team": "ml-platform"}

client = anthropic.Anthropic(
  api_key="unused",
  base_url="https://<workspace-url>/ai-gateway/anthropic",
  default_headers={
    "Authorization": f"Bearer {DATABRICKS_TOKEN}",
    "Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags),
  },
)

message = client.messages.create(
  model="<model-service>",
  max_tokens=256,
  messages=[
    {"role": "user", "content": "What is Databricks?"},
  ],
)

REST API

curl \
  -u token:$DATABRICKS_TOKEN \
  -X POST \
  -H "Content-Type: application/json" \
  -H 'Databricks-Ai-Gateway-Request-Tags: {"project": "chatbot", "team": "ml-platform"}' \
  -d '{
    "model": "<model-service>",
    "max_tokens": 256,
    "messages": [
      {"role": "user", "content": "What is Databricks?"}
    ]
  }' \
  https://<workspace-url>/ai-gateway/mlflow/v1/chat/completions

Remplacez <workspace-url> par votre URL d’espace de travail Azure Databricks et <model-service> par le nom complet de votre service de modèle.

Ajouter un tag à une demande de service de fournisseur de modèle

Lorsque vous interrogez directement un service de fournisseur de modèles, envoyez l’en-tête des tags à côté de l’en-tête Databricks-Model-Provider-Service :

Python

from openai import OpenAI
import json

client = OpenAI(
    api_key="<databricks-token>",
    base_url="https://<workspace-url>/ai-gateway/openai/v1",
    default_headers={"Databricks-Model-Provider-Service": "main.default.openai_prod"},
)

request_tags = {"project": "chatbot", "team": "ml-platform"}

response = client.chat.completions.create(
    model="gpt-5.5",
    messages=[{"role": "user", "content": "What is Databricks?"}],
    extra_headers={"Databricks-Ai-Gateway-Request-Tags": json.dumps(request_tags)},
)

REST

curl https://<workspace-url>/ai-gateway/openai/v1/chat/completions \
  -H "Authorization: Bearer $DATABRICKS_TOKEN" \
  -H "Databricks-Model-Provider-Service: main.default.openai_prod" \
  -H "Content-Type: application/json" \
  -H 'Databricks-Ai-Gateway-Request-Tags: {"project": "chatbot", "team": "ml-platform"}' \
  -d '{
    "model": "gpt-5.5",
    "messages": [{"role": "user", "content": "What is Databricks?"}]
  }'