Condividi tramite


Integrazione con agenti di codifica

Importante

Questa funzionalità è in versione beta. Gli amministratori dell'account possono controllare l'accesso a questa funzionalità dalla pagina Anteprime della console dell'account. Vedere Gestire le anteprime di Azure Databricks.

Con l'integrazione dell'agente di codifica di Azure Databricks, è possibile gestire l'accesso e l'utilizzo per agenti di codifica come Cursor, interfaccia della riga di comando gemini e interfaccia della riga di comando codex. Basato su Gateway di intelligenza artificiale, fornisce tabelle di limitazione della velocità, rilevamento dell'utilizzo e inferenza per gli strumenti di codifica.

Funzionalità

  • Accesso: accesso diretto a vari strumenti e modelli di codifica, tutti sotto una fattura.
  • Osservabilità: un singolo dashboard unificato per tenere traccia dell'utilizzo, della spesa e delle metriche in tutti gli strumenti di codifica.
  • Governance unificata: gli amministratori possono gestire le autorizzazioni del modello e i limiti di frequenza direttamente tramite il gateway di intelligenza artificiale.

Requisiti

Agenti supportati

Sono supportati gli agenti di codifica seguenti:

Configurazione

Cursor

Per configurare Cursor per l'uso degli endpoint del gateway di intelligenza artificiale:

Passaggio 1: Configurare l'URL di base e la chiave API

  1. Aprire Cursore e passare a Impostazioni>Impostazioni Cursore>Modelli>Chiavi API.

  2. Abilitare Override OpenAI Base URL (Esegui override dell'URL di base OpenAI) e immettere l'URL:

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

    Sostituire <ai-gateway-url> con l'URL dell'endpoint del gateway di intelligenza artificiale.

  3. Incollare il token di accesso personale di Azure Databricks nel campo Chiave API OpenAI .

Passaggio 2: Aggiungere modelli personalizzati

  1. Fare clic su + Aggiungi modello personalizzato in Impostazioni cursore.
  2. Aggiungere il nome dell'endpoint del gateway di intelligenza artificiale e attivare l'opzione.

Annotazioni

Attualmente sono supportati solo gli endpoint del modello di base creati da Azure Databricks.

Passaggio 3: Testare l'integrazione

  1. Aprire la modalità Ask con Cmd+L (macOS) o Ctrl+L (Windows/Linux) e selezionare il modello.
  2. Inviare un messaggio. Tutte le richieste ora instradano attraverso Azure Databricks.

Interfaccia della riga di comando Codex

Passaggio 1: Impostare la variabile di ambiente DATABRICKS_TOKEN

export DATABRICKS_TOKEN=<databricks_pat_token>

Passaggio 2: Configurare il client Codex

Creare o modificare il file di configurazione Codex in ~/.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"

Sostituire <ai-gateway-url> con l'URL dell'endpoint del gateway di intelligenza artificiale.

Interfaccia della riga di comando gemini

Passaggio 1: Installare la versione più recente dell'interfaccia della riga di comando di Gemini

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

Passaggio 2: Configurare le variabili di ambiente

Creare un file ~/.gemini/.env e aggiungere la configurazione seguente. Per altri dettagli, vedere la documentazione sull'autenticazione del CLI Gemini.

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>

Sostituire <ai-gateway-url> con l'URL dell'endpoint del gateway di intelligenza artificiale e <databricks_pat_token> con il token di accesso personale.

Dashboard

Dopo aver rilevato l'utilizzo dell'agente di codifica tramite il gateway di intelligenza artificiale, è possibile visualizzare e monitorare le metriche nel dashboard esistente.

Per accedere al dashboard, selezionare Visualizza dashboard nella pagina Gateway di intelligenza artificiale. Verrà creato un dashboard preconfigurato con grafici per l'utilizzo dello strumento di codifica.

Visualizza pulsante dashboard

Dashboard dell'agente di codifica

Configurare la raccolta dati OpenTelemetry

Azure Databricks supporta l'esportazione di metriche e log OpenTelemetry dagli agenti di codifica alle tabelle Delta gestite di Unity Catalog. Tutte le metriche sono dati delle serie temporali esportati usando il protocollo di metrica standard OpenTelemetry e i log vengono esportati usando il protocollo di log OpenTelemetry.

Requisiti

Passaggio 1: Creare tabelle OpenTelemetry nel catalogo unity

Creare tabelle gestite da Unity Catalog preconfigurate con gli schemi per metriche e log di OpenTelemetry.

Tabella delle metriche

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

Tabella Registri

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

Passaggio 2: Aggiornare i valori var di env nell'agente di codifica

In qualsiasi agente di codifica con supporto delle metriche OpenTelemetry abilitato, configurare le variabili di ambiente seguenti.

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

Passaggio 3: Eseguire l'agente di codifica.

I dati devono essere propagati alle tabelle di Unity Catalog entro 5 minuti.

Passaggi successivi