Integrera med kodningsagenter

Med Azure Databricks kodningsagentintegrering kan du dirigera trafik från kodningsagenter som Cursor, Gemini CLI och Codex CLI via modelltjänster i Unity AI Gateway. Detta ger frekvensbegränsning, användningsspårning och slutsatsdragningstabeller – med alla kontroller som konfigurerats på modelltjänst-, användar- eller gruppnivå.

Features

  • Åtkomst: Direktåtkomst till olika kodningsverktyg och modeller, allt under en faktura.
  • Observerbarhet: En enda enhetlig instrumentpanel för att spåra användning, utgifter och mått i alla dina kodningsverktyg.
  • Enhetlig styrning: Administratörer kan hantera modellbehörigheter och hastighetsgränser via Unity AI Gateway på modelltjänst-, användar- eller gruppnivå.

Requirements

Inställningar

Det snabbaste sättet att komma igång är med ucode, ett CLI från Azure Databricks som installerar, autentiserar och konfigurerar kodningsagenter som stöds med Unity AI Gateway i ett kommando.

ucode (Unity AI Gateway Coding CLI) är den enda startpunkten för att köra kodningsagenter mot Unity AI Gateway. Den sköter OAuth, skriver varje agents konfigurationsfil och dirigerar trafik genom valfri LLM- eller MCP-server som du har registrerat. Agenter som stöds:

Steg 1: Installera ucode

uv tool install git+https://github.com/databricks/ucode

Kräver Python 3.12 eller senare och uv.

Steg 2: Öppna en kodningsagent

Kör den agent som du vill använda. Vid första starten frågar ucode efter url:en för din Azure Databricks arbetsyta, autentiserar och skriver agentens konfigurationsfil automatiskt. Efterföljande uppskjutningar går direkt till agenten.

ucode codex      # OpenAI Codex
ucode gemini     # Gemini CLI
ucode opencode   # OpenCode
ucode copilot    # GitHub Copilot CLI
ucode pi         # Pi

ucode för flaggor efter agentnamnet vidare till det underliggande verktyget, till exempel:

ucode codex --full-auto

Om du vill konfigurera flera kodningsagenter samtidigt kör du:

ucode configure

Registrera Azure Databricks MCP-servrar (Unity Catalog-funktioner, AI Search, SQL-lager och identifierade externa anslutningar) med MCP-kompatibla agenter:

ucode configure mcp

Så här ser du användningssammanfattningen för Unity AI Gateway under de senaste 7 dagarna:

ucode usage

Kör följande för den fullständiga kommandoreferensen:

ucode --help

Dashboard

När användningen av kodningsagenten spåras via Unity AI Gateway kan du visa och övervaka dina mått på den inbyggda instrumentpanelen.

Om du vill öppna instrumentpanelen klickar du på Styr längst upp till höger på sidan Unity AI Gateway och klickar sedan på Instrumentpanel för användning. Den inbyggda användningspanelen har en flik, Kodningsagenter, med grafer över användningen av kodningsverktyg.

Instrumentpanel för kodningsagent

Manuell konfiguration

Om du föredrar att konfigurera agenter själv följer du anvisningarna för:

Cursor-IDE

Så här konfigurerar du markören för att använda modelltjänster i Unity AI Gateway:

Steg 1: Konfigurera bas-URL och API-nyckel

  1. Öppna markören och gå till Inställningar>Markörinställningar>Modeller>API-nycklar.

  2. Aktivera Åsidosätt OpenAI-bas-URL och ange URL:en:

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

    Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta.

  3. Klistra in din personliga åtkomsttoken för Azure Databricks i fältet OpenAI API Key .

Steg 2: Lägg till anpassade modeller

  1. Klicka på + Lägg till anpassad modell i markörinställningar.
  2. Lägg till namnet på din modelltjänst (till exempel system.ai.databricks-claude-opus-4-6) och slå på reglaget.

Note

För närvarande stöds endast Azure Databricks tillhandahållna modelltjänster.

Steg 3: Testa integreringen

  1. Öppna Ask-läge med Cmd+L (macOS) eller Ctrl+L (Windows/Linux) och välj din modell.
  2. Skicka ett meddelande. Alla begäranden dirigeras nu via Azure Databricks.

Codex CLI

Steg 1: Installera eller uppdatera Codex CLI

Installera eller uppdatera till Codex CLI version 0.118 eller senare:

npm install -g @openai/codex@latest

Steg 2: Skapa eller uppdatera Codex-konfigurationsfilen

Skapa eller redigera Codex-konfigurationsfilen på ~/.codex/config.toml:

profile = "default"

[profiles.default]
model_provider = "Databricks"

[model_providers.Databricks]
name = "Databricks :re[ai-gateway]"
base_url = "<workspace-url>/ai-gateway/codex/v1"
wire_api = "responses"

[model_providers.Databricks.auth]
command = "sh"
args = ["-c", "databricks auth token --host <workspace-url> --output json | jq -r '.access_token'"]
timeout_ms = 5000
refresh_interval_ms = 1800000

Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta.

Steg 3: Autentisera till din arbetsyta

Note

Detta behöver bara göras en gång. Du behöver inte autentisera igen varje gång du startar Codex.

Kontrollera först att du har installerat Azure Databricks CLI. Anvisningar finns i Installera eller uppdatera Databricks CLI .

Autentisera sedan:

databricks auth login --host <workspace-url>

Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta.

Steg 4: Starta Codex

codex

Om du vill ändra modellen använder du /model.

Gemini CLI

Steg 1: Installera den senaste versionen av Gemini CLI

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

Steg 2: Konfigurera miljövariabler

Skapa en fil ~/.gemini/.env och lägg till följande konfiguration. Mer information finns i dokumentationen om Gemini CLI-autentisering .

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

Ersätt <workspace-url> med url:en för din Azure Databricks arbetsyta och <databricks_pat_token> med din personliga åtkomsttoken.

Använd Open Source-modeller med kodningsagenter

Azure Databricks stödjer integration av open-source (OSS)-modeller, såsom glm-5-2, med kodagenter.

Utöver ovanstående krav måste din arbetsplats också ha tillgång till målmodellen för OSS.

OpenCode

Ställ in ucode som beskrivet i Använd ucode (rekommenderat), välj system.ai.glm-5-2 sedan som din modell.

Manuell installation

Alternativt kan du installera OpenCode som beskrivs i OpenCode-dokumenten, och sedan skapa eller redigera ~/.config/opencode/opencode.json:

{
  "$schema": "https://opencode.ai/config.json",
  "model": "databricks-oss/<open source model service name>",
  "provider": {
    "databricks-oss": {
      "npm": "@ai-sdk/openai",
      "options": {
        "baseURL": "<workspace-url>/ai-gateway/mlflow/v1",
        "apiKey": "<databricks_pat_token>"
      },
      "models": {
        "<open source model service name>": {}
      }
    }
  }
}

Ersätt följande:

  • <workspace-url> med url:en för din Azure Databricks-arbetsyta.
  • <databricks_pat_token> med din personliga åtkomst-token.
  • <open-source model service name> med den avsedda OSS-modelltjänsten, till exempel system.ai.glm-5-2.

Starta sedan OpenCode:

opencode

Codex

Codex ansluter till Open Source-modeller via Open Responses API som Codex stödjer.

Ställ in ucode som beskrivet i Använd ucode (rekommenderas), kör sedan:

ucode codex --model <open source model service name>

Till exempel, för att använda GLM 5.2 med Codex, kör:

ucode codex --model system.ai.glm-5-2
Manuell installation

Alternativt kan du installera Codex CLI som beskrivs i Codex CLI, och sedan skapa eller redigera ~/.codex/config.toml:

model = "<open source model service name>"
model_provider = "Databricks"

[model_providers.Databricks]
name = "Databricks :re[ai-gateway]"
base_url = "<workspace-url>/ai-gateway/codex/v1"
wire_api = "responses"

[model_providers.Databricks.auth]
command = "sh"
args = ["-c", "databricks auth token --host <workspace-url> --output json | jq -r '.access_token'"]
# Re-run the token command periodically so long sessions don't fail when the
# short-lived Databricks token expires.
timeout_ms = 5000
refresh_interval_ms = 1800000

Ersätt <workspace-url> till exempel <open-source model service name>med din URL för Azure Databricks workspace och system.ai.glm-5-2 med den målinriktade OSS-modelltjänsten.

Sedan börjar Codex:

codex

Konfigurera OpenTelemetry-datainsamling

Azure Databricks stöder export av OpenTelemetry-mått och loggar från kodningsagenter till Unity Catalog-hanterade Delta-tabeller. Alla mått är tidsseriedata som exporteras med standardmåttprotokollet OpenTelemetry och loggar exporteras med hjälp av protokollet OpenTelemetry-loggar.

Requirements

Steg 1: Skapa OpenTelemetry-tabeller i Unity Catalog

Skapa hanterade Unity Catalog-tabeller som är förkonfigurerade med OpenTelemetry-mått och loggscheman.

Måtttabell

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'
)

Loggtabell

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'
)

Steg 2: Uppdatera env vars i kodningsagenten

I alla kodningsagenter med OpenTelemetry-måttstöd aktiverat konfigurerar du följande miljövariabler.

{
  "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"
}

Steg 3: Kör kodningsagenten.

Dina data bör spridas till Unity Catalog-tabellerna inom 5 minuter.

Nästa steg