Integrace s agenty kódování

Important

Tato funkce je v beta verzi. Správci účtů můžou řídit přístup k této funkci ze stránky účtu Previews. Viz Manage Azure Databricks preview.

Díky integraci agenta kódování Azure Databricks můžete směrovat provoz z programovacích agentů, jako jsou Kurzor, Gemini CLI a Codex CLI, prostřednictvím služeb modelu v Unity AI Gateway. To poskytuje tabulky omezování rychlosti, sledování využití a odvozování – se všemi ovládacími prvky nakonfigurovanými na úrovni modelové služby, uživatele nebo skupiny.

Features

  • Přístup: Přímý přístup k různým nástrojům a modelům kódování, a to vše na jedné faktuře.
  • Pozorovatelnost: Jeden jednotný řídicí panel pro sledování využití, výdajů a metrik napříč všemi nástroji pro psaní kódu.
  • Jednotné zásady správného řízení: Správci můžou spravovat oprávnění modelu a omezení rychlosti prostřednictvím služby Unity AI Gateway na úrovni modelové služby, uživatele nebo skupiny.

Requirements

Setup

Nejrychlejší způsob, jak začít, je použití ucode, rozhraní příkazového řádku z Azure Databricks, které instaluje, ověřuje a konfiguruje podporované programovací agenty pomocí služby Unity AI Gateway v jednom příkazu.

ucode (Unity AI Gateway Coding CLI) je jediný vstupní bod pro spouštění agentů pro programování v Unity AI Gateway. Zpracovává OAuth, zapisuje konfigurační soubor každého agenta a směruje provoz přes libovolný server LLM nebo MCP, který jste zaregistrovali. Podporovaní agenti:

Krok 1: Instalace kódu ucode

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

Vyžaduje Python 3.12 nebo novější a uv.

Krok 2: Otevření agenta kódování

Spusťte agenta, kterého chcete. Při prvním spuštění ucode zobrazí výzvu k zadání adresy URL pracovního prostoru Azure Databricks, ověření a zápis konfiguračního souboru agenta automaticky. Další spuštění směřují přímo k agentovi.

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

ucode předává příznaky uvedené za názvem agenta podkladovému nástroji, například:

ucode codex --full-auto

Pokud chcete současně nakonfigurovat více agentů kódování, spusťte:

ucode configure

Registrace Azure Databricks serverů MCP (funkce katalogu Unity, vyhledávání AI, služby SQL Warehouse a zjištěná externí připojení) pomocí agentů podporujících MCP:

ucode configure mcp

Pokud chcete zobrazit souhrn využití služby Unity AI Gateway za posledních 7 dnů:

ucode usage

Úplný přehled příkazů zobrazíte spuštěním:

ucode --help

Dashboard

Po sledování využití agenta kódování přes Unity AI Gateway můžete zobrazit a monitorovat metriky na integrovaném řídicím panelu.

Chcete-li otevřít řídicí panel, klikněte v pravém horním rohu stránky Unity AI Gateway na Govern a potom klikněte na Řídicí panel využití. Vestavěný panel využití obsahuje kartu Coding Agents s grafy využití nástrojů pro programování.

Řídicí panel pro programovací agenty

Ruční nastavení

Pokud chcete agenty nakonfigurovat sami, postupujte podle pokynů pro:

IDE Cursor

Konfigurace kurzoru pro použití služeb modelu ve službě Unity AI Gateway:

Krok 1: Konfigurace základní adresy URL a klíče rozhraní API

  1. Otevřete Cursor a přejděte do Nastavení>Nastavení kurzoru>Modely>Klíče rozhraní API.

  2. Povolte přepsat základní adresu URL OpenAI a zadejte adresu URL:

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

    Nahraďte <workspace-url> adresou URL pracovního prostoru Azure Databricks.

  3. Vložte osobní přístupový token Azure Databricks do pole Klíč rozhraní API OpenAI .

Krok 2: Přidání vlastních modelů

  1. V nastavení kurzoru klikněte na + Přidat vlastní model .
  2. Přidejte název služby modelu (například system.ai.databricks-claude-opus-4-6) a povolte přepínač.

Note

V současné době se podporují pouze služby modelu poskytované Azure Databricks.

Krok 3: Testování integrace

  1. Otevřete režim Ptejte se pomocí Cmd+L (macOS) nebo Ctrl+L (Windows/Linux) a vyberte svůj model.
  2. Odeslat zprávu. Všechny požadavky se teď směrují přes Azure Databricks.

Codex CLI

Krok 1: Instalace nebo aktualizace rozhraní příkazového řádku Codex

Nainstalujte nebo aktualizujte rozhraní příkazového řádku Codex verze 0.118 nebo novější:

npm install -g @openai/codex@latest

Krok 2: Vytvoření nebo aktualizace konfiguračního souboru Codex

Vytvořte nebo upravte konfigurační soubor Codex na adrese ~/.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

Nahraďte <workspace-url> adresou URL pracovního prostoru Azure Databricks.

Krok 3: Ověření v pracovním prostoru

Note

Stačí to udělat jenom jednou. Nepotřebujete znovu ověřovat při každém spuštění Codex.

Nejprve se ujistěte, že máte nainstalované rozhraní příkazového řádku Azure Databricks. Pokyny najdete v tématu Instalace nebo aktualizace rozhraní příkazového řádku Databricks .

Pak se ověřte:

databricks auth login --host <workspace-url>

Nahraďte <workspace-url> adresou URL pracovního prostoru Azure Databricks.

Krok 4: Spuštění kódu

codex

Pokud chcete změnit model, použijte /model.

Rozhraní příkazového řádku Gemini

Krok 1: Instalace nejnovější verze Rozhraní příkazového řádku Gemini

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

Krok 2: Konfigurace proměnných prostředí

Vytvořte soubor ~/.gemini/.env a přidejte následující konfiguraci. Další podrobnosti najdete v dokumentaci k ověřování rozhraní příkazového řádku Gemini .

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>

Nahraďte <workspace-url> adresou URL pracovního prostoru Azure Databricks a <databricks_pat_token> svým osobním přístupovým tokenem.

Nastavení shromažďování dat OpenTelemetry

Azure Databricks podporuje export metrik OpenTelemetry a protokolů z programovacích agentů do tabulek Delta spravovaných službou Unity Catalog. Všechny metriky jsou data časových řad exportovaná pomocí standardního protokolu metrik OpenTelemetry a protokoly jsou exportovány pomocí protokolu protokolů OpenTelemetry.

Requirements

Krok 1: Vytvoření tabulek OpenTelemetry v katalogu Unity

Vytvořte tabulky spravované službou Unity Catalog předem nakonfigurované pomocí metrik OpenTelemetry a schémat protokolů.

Tabulka metrik

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

Tabulka protokolů

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

Krok 2: Aktualizace proměnných env v programovacím agentu

V jakémkoli agentu kódování s povolenou podporou metriky OpenTelemetry nakonfigurujte následující proměnné prostředí.

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

Krok 3: Spustit agenta kódování

Vaše data by se měla rozšířit do tabulek katalogu Unity do 5 minut.

Další kroky