Freigeben über


Integration mit Coding-Agenten

Von Bedeutung

Dieses Feature befindet sich in der Betaversion. Kontoadministratoren können den Zugriff auf dieses Feature über die Vorschauseite steuern.

Mit der Integration des Azure Databricks-Codierungs-Agents können Sie den Zugriff und die Verwendung für Codierungs-Agents wie Cursor, Gemini CLI, Codex CLI und Claude Code verwalten. Basierend auf dem KI-Gateway bietet es Ratenbegrenzung, Nutzungsnachverfolgung und Inference-Tabellen für Ihre Codetools.

Features

  • Zugriff: Direkter Zugriff auf verschiedene Codierungstools und Modelle, alle unter einer Rechnung.
  • Observability: Ein einzelnes einheitliches Dashboard zum Nachverfolgen von Nutzung, Ausgaben und Metriken in allen Ihren Codierungstools.
  • Einheitliche Governance: Administratoren können Modellberechtigungen und Geschwindigkeitsbeschränkungen direkt über das AI-Gateway verwalten.

Anforderungen

Unterstützte Agents

Die folgenden Codierungs-Agents werden unterstützt:

Konfiguration

Mauszeiger

So konfigurieren Sie Cursor für die Verwendung von AI-Gateway-Endpunkten:

Schritt 1: Konfigurieren der Basis-URL und des API-Schlüssels

  1. Öffnen Sie den Cursor und navigieren Sie zuEinstellungen>Cursoreinstellungen>Modelle>API-Schlüssel.

  2. Aktivieren Sie OpenAI-Basis-URL überschreiben und geben Sie die URL ein:

    https://<ai-gateway-url>/cursor/v1
    

    Ersetzen Sie sie <ai-gateway-url> durch Ihre AI-Gateway-Endpunkt-URL.

  3. Fügen Sie Ihr persönliches Azure Databricks-Zugriffstoken in das OpenAI-API-Schlüsselfeld ein.

Schritt 2: Hinzufügen von benutzerdefinierten Modellen

  1. Klicken Sie in den Cursoreinstellungen auf +Benutzerdefiniertes Modell hinzufügen .
  2. Fügen Sie Ihren AI-Gateway-Endpunktnamen hinzu, und aktivieren Sie den Umschalter.

Hinweis

Derzeit werden nur von Azure Databricks erstellte Foundation-Modellendpunkte unterstützt.

Schritt 3: Testen der Integration

  1. Öffnen Sie den Ask-Modus mit Cmd+L (macOS) oder Ctrl+L (Windows/Linux), und wählen Sie Ihr Modell aus.
  2. Senden sie eine Nachricht. Alle Anforderungen werden jetzt über Azure Databricks geleitet.

Codex CLI

Schritt 1: Festlegen der umgebungsvariablen DATABRICKS_TOKEN

export DATABRICKS_TOKEN=<databricks_pat_token>

Schritt 2: Konfigurieren des Codex-Clients

Erstellen oder Bearbeiten der Codex-Konfigurationsdatei unter ~/.codex/config.toml:

profile = "default"

[profiles.default]
model_provider = "proxy"
model = "databricks-gpt-5-2"

[model_providers.proxy]
name = "Databricks Proxy"
base_url = "https://<ai-gateway-url>/openai/v1"
env_key = "DATABRICKS_TOKEN"
wire_api = "responses"

Ersetzen Sie <ai-gateway-url> durch Ihre AI-Gateway-Endpunkt-URL.

Gemini CLI

Schritt 1: Installieren der neuesten Version von Gemini CLI

npm install -g @google/gemini-cli@nightly

Schritt 2: Konfigurieren von Umgebungsvariablen

Erstellen Sie eine Datei ~/.gemini/.env , und fügen Sie die folgende Konfiguration hinzu. Weitere Details finden Sie in den Dokumentationen zur Gemini CLI-Authentifizierung .

GEMINI_MODEL=databricks-gemini-2-5-flash
GOOGLE_GEMINI_BASE_URL=https://<ai-gateway-url>/gemini
GEMINI_API_KEY_AUTH_MECHANISM="bearer"
GEMINI_API_KEY=<databricks_pat_token>

Ersetzen Sie sie <ai-gateway-url> durch Ihre AI-Gateway-Endpunkt-URL und <databricks_pat_token> durch Ihr persönliches Zugriffstoken.

Claude Code

Schritt 1: Konfigurieren des Claude Code-Clients

Fügen Sie die folgende Konfiguration zu ~/.claude/settings.json hinzu. Weitere Details finden Sie in den Dokumentationen zu Den Claude Code-Einstellungen .

{
  "env": {
    "ANTHROPIC_MODEL": "databricks-claude-opus-4-6",
    "ANTHROPIC_BASE_URL": "https://<ai-gateway-url>/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "<databricks_pat_token>",
    "ANTHROPIC_CUSTOM_HEADERS": "x-databricks-use-coding-agent-mode: true",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

Ersetzen Sie sie <ai-gateway-url> durch Ihre AI-Gateway-Endpunkt-URL und <databricks_pat_token> durch Ihr persönliches Zugriffstoken.

Schritt 2 (optional): Einrichten der Sammlung von OpenTelemetry-Metriken

Für Details zum Exportieren von Metriken und Protokollen aus Claude Code in von Unity Catalog verwaltete Delta-Tabellen siehe Einrichten der OpenTelemetry-Datensammlung.

Dashboard

Sobald die Nutzung des Codierungsagenten über das AI-Gateway nachverfolgt wird, können Sie Ihre Metriken im vorinstallierten Dashboard anzeigen und überwachen.

Um auf das Dashboard zuzugreifen, wählen Sie auf der SEITE "AI-Gateway" die Option "Dashboard anzeigen " aus. Dadurch wird ein vorkonfiguriertes Dashboard mit Diagrammen für die Verwendung von Codierungstools erstellt.

Schaltfläche

Codierungs-Agent-Dashboard

Einrichten der OpenTelemetry-Datensammlung

Azure Databricks unterstützt das Exportieren von OpenTelemetry-Metriken und -Protokollen aus Claude Code in Delta-Tabellen, die im Unity-Katalog verwaltet werden. Alle Metriken sind Zeitreihendaten, die mithilfe des OpenTelemetry-Standardmetrikenprotokolls exportiert werden, und Protokolle werden mithilfe des OpenTelemetry-Protokollprotokolls exportiert. Verfügbare Metriken und Ereignisse finden Sie unter Claude Code monitoring usage.

Anforderungen

Schritt 1: Erstellen von OpenTelemetry-Tabellen im Unity-Katalog

Erstellen Sie verwaltete Tabellen im Unity-Katalog, die mit den OpenTelemetry-Metriken und Protokollschemas vorkonfiguriert sind.

Metriktabelle

CREATE TABLE <catalog>.<schema>.<table_prefix>_otel_metrics (
  name STRING,
  description STRING,
  unit STRING,
  metric_type STRING,
  gauge STRUCT<
    start_time_unix_nano: LONG,
    time_unix_nano: LONG,
    value: DOUBLE,
    exemplars: ARRAY<STRUCT<
      time_unix_nano: LONG,
      value: DOUBLE,
      span_id: STRING,
      trace_id: STRING,
      filtered_attributes: MAP<STRING, STRING>
    >>,
    attributes: MAP<STRING, STRING>,
    flags: INT
  >,
  sum STRUCT<
    start_time_unix_nano: LONG,
    time_unix_nano: LONG,
    value: DOUBLE,
    exemplars: ARRAY<STRUCT<
      time_unix_nano: LONG,
      value: DOUBLE,
      span_id: STRING,
      trace_id: STRING,
      filtered_attributes: MAP<STRING, STRING>
    >>,
    attributes: MAP<STRING, STRING>,
    flags: INT,
    aggregation_temporality: STRING,
    is_monotonic: BOOLEAN
  >,
  histogram STRUCT<
    start_time_unix_nano: LONG,
    time_unix_nano: LONG,
    count: LONG,
    sum: DOUBLE,
    bucket_counts: ARRAY<LONG>,
    explicit_bounds: ARRAY<DOUBLE>,
    exemplars: ARRAY<STRUCT<
      time_unix_nano: LONG,
      value: DOUBLE,
      span_id: STRING,
      trace_id: STRING,
      filtered_attributes: MAP<STRING, STRING>
    >>,
    attributes: MAP<STRING, STRING>,
    flags: INT,
    min: DOUBLE,
    max: DOUBLE,
    aggregation_temporality: STRING
  >,
  exponential_histogram STRUCT<
    attributes: MAP<STRING, STRING>,
    start_time_unix_nano: LONG,
    time_unix_nano: LONG,
    count: LONG,
    sum: DOUBLE,
    scale: INT,
    zero_count: LONG,
    positive_bucket: STRUCT<
      offset: INT,
      bucket_counts: ARRAY<LONG>
    >,
    negative_bucket: STRUCT<
      offset: INT,
      bucket_counts: ARRAY<LONG>
    >,
    flags: INT,
    exemplars: ARRAY<STRUCT<
      time_unix_nano: LONG,
      value: DOUBLE,
      span_id: STRING,
      trace_id: STRING,
      filtered_attributes: MAP<STRING, STRING>
    >>,
    min: DOUBLE,
    max: DOUBLE,
    zero_threshold: DOUBLE,
    aggregation_temporality: STRING
  >,
  summary STRUCT<
    start_time_unix_nano: LONG,
    time_unix_nano: LONG,
    count: LONG,
    sum: DOUBLE,
    quantile_values: ARRAY<STRUCT<
      quantile: DOUBLE,
      value: DOUBLE
    >>,
    attributes: MAP<STRING, STRING>,
    flags: INT
  >,
  metadata MAP<STRING, STRING>,
  resource STRUCT<
    attributes: MAP<STRING, STRING>,
    dropped_attributes_count: INT
  >,
  resource_schema_url STRING,
  instrumentation_scope STRUCT<
    name: STRING,
    version: STRING,
    attributes: MAP<STRING, STRING>,
    dropped_attributes_count: INT
  >,
  metric_schema_url STRING
) USING DELTA
TBLPROPERTIES (
  'otel.schemaVersion' = 'v1'
)

Protokolltabelle

CREATE TABLE <catalog>.<schema>.<table_prefix>_otel_logs (
  event_name STRING,
  trace_id STRING,
  span_id STRING,
  time_unix_nano LONG,
  observed_time_unix_nano LONG,
  severity_number STRING,
  severity_text STRING,
  body STRING,
  attributes MAP<STRING, STRING>,
  dropped_attributes_count INT,
  flags INT,
  resource STRUCT<
    attributes: MAP<STRING, STRING>,
    dropped_attributes_count: INT
  >,
  resource_schema_url STRING,
  instrumentation_scope STRUCT<
    name: STRING,
    version: STRING,
    attributes: MAP<STRING, STRING>,
    dropped_attributes_count: INT
  >,
  log_schema_url STRING
) USING DELTA
TBLPROPERTIES (
  'otel.schemaVersion' = 'v1'
)

Schritt 2: Aktualisieren der Claude Code-Einstellungsdatei

Fügen Sie die folgenden Umgebungsvariablen zum env Block in Ihrer ~/.claude/settings.json Datei hinzu, um Metriken und Protokollexporte zu ermöglichen:

{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "OTEL_METRICS_EXPORTER": "otlp",
    "OTEL_EXPORTER_OTLP_METRICS_PROTOCOL": "http/protobuf",
    "OTEL_EXPORTER_OTLP_METRICS_ENDPOINT": "https://<workspace-url>/api/2.0/otel/v1/metrics",
    "OTEL_EXPORTER_OTLP_METRICS_HEADERS": "content-type=application/x-protobuf,Authorization=Bearer <databricks_pat_token>,X-Databricks-UC-Table-Name=<catalog>.<schema>.<table_prefix>_otel_metrics",
    "OTEL_METRIC_EXPORT_INTERVAL": "10000",
    "OTEL_LOGS_EXPORTER": "otlp",
    "OTEL_EXPORTER_OTLP_LOGS_PROTOCOL": "http/protobuf",
    "OTEL_EXPORTER_OTLP_LOGS_ENDPOINT": "https://<workspace-url>/api/2.0/otel/v1/logs",
    "OTEL_EXPORTER_OTLP_LOGS_HEADERS": "content-type=application/x-protobuf,Authorization=Bearer <databricks_pat_token>,X-Databricks-UC-Table-Name=<catalog>.<schema>.<table_prefix>_otel_logs",
    "OTEL_LOGS_EXPORT_INTERVAL": "5000"
  }
}

Ersetzen Sie Folgendes:

  • <workspace-url> mit Ihrer Azure Databricks-Arbeitsbereichs-URL.
  • <databricks_pat_token> mit Ihrem persönlichen Zugriffstoken.
  • <catalog>.<schema>.<table_prefix> mit dem Katalog-, Schema- und Tabellenpräfix, das beim Erstellen der OpenTelemetry-Tabellen verwendet wird.

Hinweis

Der OTEL_METRIC_EXPORT_INTERVAL Standardwert ist 60000 ms (60 Sekunden). Im obigen Beispiel wird sie auf 10000 ms (10 Sekunden) festgelegt. Der OTEL_LOGS_EXPORT_INTERVAL Standardwert ist 5000 ms (5 Sekunden).

Schritt 3: Ausführen von Claude Code

claude

Ihre Daten sollten innerhalb von 5 Minuten an die Unity-Katalogtabellen weitergegeben werden.

Nächste Schritte