Integreren met coderingsagents

Important

Deze functie bevindt zich in de bètaversie. Accountbeheerders kunnen de toegang tot deze functie beheren via de pagina Previews van de accountconsole. Zie Azure Databricks previews beheren.

Met de integratie van de Azure Databricks coderingsagent kunt u verkeer routeren van coderingsagents zoals Cursor, Gemini CLI en Codex CLI via modelservices in Unity AI Gateway. Dit biedt snelheidsbeperking, het bijhouden van gebruik en deductietabellen, waarbij alle besturingselementen zijn geconfigureerd op modelservice, gebruiker of groepsniveau.

Features

  • Toegang: Directe toegang tot verschillende coderingshulpprogramma's en modellen, allemaal onder één factuur.
  • Waarneembaarheid: één geïntegreerd dashboard voor het bijhouden van gebruik, uitgaven en metrische gegevens in al uw programmeerhulpprogramma's.
  • Unified governance: beheerders kunnen modelmachtigingen en frequentielimieten beheren via Unity AI Gateway op modelservice, gebruiker of groepsniveau.

Requirements

Installatie

De snelste manier om aan de slag te gaan is met ucode, een CLI van Azure Databricks die ondersteunde coderingsagents installeert, verifieert en configureert met Unity AI Gateway in één opdracht.

ucode (Unity AI Gateway Coding CLI) is het enige toegangspunt voor het uitvoeren van coderingsagenten op Unity AI Gateway. Het verwerkt OAuth, schrijft het configuratiebestand van elke agent en stuurt verkeer door via een LLM- of MCP-server die u hebt geregistreerd. Ondersteunde agents:

Stap 1: Ucode installeren

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

Vereist Python 3.12 of hoger en uv.

Stap 2: Een coderingsagent openen

Voer de agent uit die u wilt. Bij de eerste start vraagt ucode om de URL van uw Azure Databricks werkruimte, verifieert en schrijft het configuratiebestand van de agent automatisch. Volgende lanceringen gaan rechtstreeks naar de agent.

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

ucode geeft vlaggen door na de naam van de agent door aan het onderliggende hulpprogramma, bijvoorbeeld:

ucode codex --full-auto

Als u meerdere coderingsagenten tegelijk wilt configureren, voert u het volgende uit:

ucode configure

Als u Azure Databricks MCP-servers (Unity Catalog-functies, AI Search, SQL-warehouses en gedetecteerde externe verbindingen) wilt registreren met MCP-compatibele agents:

ucode configure mcp

Bekijk de samenvatting van uw Unity AI Gateway-gebruik voor de afgelopen 7 dagen:

ucode usage

Voer voor de volledige opdrachtreferentie het volgende uit:

ucode --help

Dashboard

Zodra het gebruik van de codeeragent wordt bijgehouden via Unity AI Gateway, kunt u uw statistieken bekijken en volgen in het ingebouwde dashboard.

Als u het dashboard wilt openen, klikt u in de rechterbovenhoek van de unity AI Gateway-pagina op Beheren en vervolgens op Gebruiksdashboard. Het ingebouwde gebruiksdashboard bevat een tabblad Codeeragenten met grafieken voor het coderen van hulpprogramma's.

Dashboard voor coderingsagent

Handmatige installatie

Als u liever zelf agents configureert, volgt u de instructies voor:

Cursor IDE

Cursor configureren voor het gebruik van modelservices in Unity AI Gateway:

Stap 1: basis-URL en API-sleutel configureren

  1. Open Cursor en navigeer naar Instellingen>Cursorinstellingen>Modellen>API-sleutels.

  2. Activeer OpenAI Basis-URL overschrijven en voer de URL in:

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

    Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte.

  3. Plak uw persoonlijke Azure Databricks-toegangstoken in het veld OpenAI API-sleutel .

Stap 2: Aangepaste modellen toevoegen

  1. Klik op + Aangepast model toevoegen in cursorinstellingen.
  2. Voeg de naam van uw modelservice toe (bijvoorbeeld system.ai.databricks-claude-opus-4-6) en schakel de wisselknop in.

Note

Op dit moment worden alleen Azure Databricks geleverde modelservices ondersteund.

Stap 3: De integratie testen

  1. Open de vraagmodus met Cmd+L (macOS) of Ctrl+L (Windows/Linux) en selecteer uw model.
  2. Een bericht verzenden. Alle aanvragen worden nu gerouteerd via Azure Databricks.

Codex CLI

Stap 1: Codex CLI installeren of bijwerken

Installeer of werk deze bij naar Codex CLI versie 0.118 of hoger:

npm install -g @openai/codex@latest

Stap 2: het Codex-configuratiebestand maken of bijwerken

Maak of bewerk het Codex-configuratiebestand op ~/.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

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte.

Stap 3: Verifiëren bij uw werkruimte

Note

Dit hoeft u slechts één keer te doen. U hoeft zich niet telkens opnieuw te verifiëren wanneer u Codex start.

Controleer eerst of de Azure Databricks CLI is geïnstalleerd. Zie De Databricks CLI installeren of bijwerken voor instructies.

Verifieer vervolgens:

databricks auth login --host <workspace-url>

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte.

Stap 4: Codex starten

codex

Als u het model wilt wijzigen, gebruikt u /model.

Gemini CLI

Stap 1: De nieuwste versie van Gemini CLI installeren

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

Stap 2: omgevingsvariabelen configureren

Maak een bestand ~/.gemini/.env en voeg de volgende configuratie toe. Zie de Gemini CLI-verificatiedocumenten voor meer informatie.

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>

Vervang <workspace-url> door de URL van uw Azure Databricks werkruimte en <databricks_pat_token> door uw persoonlijke toegangstoken.

Gebruik Open Source-modellen met codeeragenten

Azure Databricks ondersteunt het integreren van open source (OSS) modellen, zoals glm-5-2, met codeeragenten.

Naast bovenstaande vereisten moet je werkruimte ook toegang hebben tot het doel-OSS-model.

OpenCode

Stel het in ucode zoals beschreven in Gebruik ucode (aanbevolen), selecteer system.ai.glm-5-2 dan als je model.

Handmatige opstelling

Alternatief kun je OpenCode installeren zoals beschreven in de OpenCode-documentatie, en vervolgens het volgende aanmaken of bewerken ~/.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>": {}
      }
    }
  }
}

Vervang het volgende:

  • <workspace-url> met de URL van uw Azure Databricks-werkruimte.
  • <databricks_pat_token> met uw persoonlijke toegangstoken.
  • <open source model service name> met de beoogde OSS-modelservice, bijvoorbeeld system.ai.glm-5-2.

Start vervolgens OpenCode:

opencode

Codex

Codex maakt verbinding met Open Source-modellen via de Open Responses API die Codex ondersteunt.

Stel het op ucode zoals beschreven in Gebruik ucode (aanbevolen), en voer dan uit:

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

Bijvoorbeeld, om GLM 5.2 met Codex te gebruiken, voer uit:

ucode codex --model system.ai.glm-5-2
Handmatige opstelling

Alternatief kun je de Codex CLI installeren zoals beschreven in Codex CLI, en vervolgens het volgende aanmaken of bewerken ~/.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

Vervang <workspace-url> bijvoorbeeld door je Azure Databricks workspace-URL en <open source model service name> met de target OSS-modelservice.system.ai.glm-5-2

Begin dan met Codex:

codex

Verzameling van OpenTelemetry-gegevens instellen

Azure Databricks biedt ondersteuning voor het exporteren van metrische gegevens van OpenTelemetry en logboeken van coderingsagenten naar beheerde Delta-tabellen van Unity Catalog. Alle metrische gegevens zijn tijdreeksgegevens die worden geëxporteerd met behulp van het standaardprotocol voor metrische gegevens van OpenTelemetry en logboeken worden geëxporteerd met behulp van het Protocol voor OpenTelemetry-logboeken.

Requirements

Stap 1: OpenTelemetry-tabellen maken in Unity Catalog

Maak beheerde tabellen in Unity Catalog die vooraf zijn geconfigureerd met de metrische gegevens en logboekschema's van OpenTelemetry.

Tabel met metrische gegevens

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

Logtabel

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

Stap 2: Env vars bijwerken in uw coderingsagent

Configureer de volgende omgevingsvariabelen in een coderingsagent waarvoor de metrische ondersteuning voor OpenTelemetry is ingeschakeld.

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

Stap 3: Voer uw coderingsagent uit.

Uw gegevens moeten binnen vijf minuten worden doorgegeven aan de Unity Catalog-tabellen.

Volgende stappen