リクエストのタグ付け

Databricks-Ai-Gateway-Request-Tags HTTPヘッダーを使って個別のリクエストにカスタムキー・バリュータグを付けます。 Unity Gateway は、使用状況追跡システム テーブルと推論テーブルの両方の request_tags 列に要求タグを記録します。これにより、プロジェクト、チーム、環境、その他のディメンションごとに、コストの追跡、使用状況の属性付け、分析のフィルタリングを行うことができます。

サービス ポリシーが実行されるリクエストに対しては、カスタム ポリシーがこれらのタグを event:context.request_tags として評価することもできます。 例えば、ポリシーはリクエストを許可する前にタグの存在を要求することがあります。 サービスポリシー内のリクエストタグを参照してください。

ヘッダー値は、文字列値に文字列キーをマッピングする JSON オブジェクトである必要があります。 例えば次が挙げられます。

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

モデルサービスリクエストにタグ付けする

モデルサービスリクエストにタグを付けるには、extra_headersパラメータ(Python)を使用するか、ヘッダーを直接渡す(REST API)してください。

Python (OpenAI SDK)

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(Anthropic SDK)

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

<workspace-url>をAzure Databricksワークスペースの URL に置き換え、<model-service>をモデル サービスの完全修飾名に置き換えます。

モデルプロバイダーのサービスリクエストにタグ付けする

モデルプロバイダーサービスを直接クエリする場合、タグヘッダーを 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?"}]
  }'