Mengintegrasikan dengan agen pengkodian

Penting

Fitur ini ada di Beta. Admin akun dapat mengontrol akses ke fitur ini dari halaman Pratinjau konsol akun. Lihat Kelola pratinjau Azure Databricks.

Dengan integrasi agen pengodean Azure Databricks, Anda dapat mengelola akses dan penggunaan untuk agen pengkodean seperti Kursor, Gemini CLI, dan Codex CLI. Dibangun di Unity AI Gateway, ini menyediakan pembatasan laju, pelacakan penggunaan, dan tabel inferensi untuk alat pengkodian Anda.

Features

  • Akses: Akses langsung ke berbagai alat dan model pengkodian, semuanya di bawah satu faktur.
  • Pengamatan: Satu dasbor terpadu untuk melacak penggunaan, pengeluaran, dan metrik di semua alat pengkodian Anda.
  • Tata kelola terpadu: Admin dapat mengelola izin model dan batas tarif secara langsung melalui Unity AI Gateway.

Persyaratan

Agen yang didukung

Agen pengkodian berikut didukung, dan integrasi lain yang tercantum di antarmuka pengguna Gateway AI:

Pengaturan

Cursor

Untuk mengonfigurasi Cursor agar menggunakan endpoint dari Unity AI Gateway:

Langkah 1: Mengonfigurasi URL dasar dan kunci API

  1. Buka Kursor dan navigasi ke Pengaturan>Kursor Pengaturan>Model>Kunci API.

  2. Aktifkan Ganti URL Dasar OpenAI dan masukkan URL:

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

    Ganti <workspace-url> dengan URL ruang kerja Azure Databricks Anda.

  3. Tempelkan token akses pribadi Azure Databricks Anda ke bidang OpenAI API Key.

Langkah 2: Menambahkan model kustom

  1. Klik + Tambahkan Model Kustom di Pengaturan Kursor.
  2. Tambahkan nama titik akhir Unity AI Gateway Anda dan aktifkan pengalih.

Nota

Saat ini, hanya titik akhir model fondasi yang dibuat Azure Databricks yang didukung.

Langkah 3: Uji integrasi

  1. Buka mode Tanya dengan Cmd+L (macOS) atau Ctrl+L (Windows/Linux) dan pilih model Anda.
  2. Kirim pesan. Semua permintaan sekarang dialihkan melalui Azure Databricks.

Codex CLI

Langkah 1: Menginstal atau memperbarui Codex CLI

Instal atau perbarui ke Codex CLI versi 0.118 atau yang lebih baru:

npm install -g @openai/codex@latest

Langkah 2: Membuat atau memperbarui file konfigurasi Codex

Buat atau edit file konfigurasi Codex di ~/.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

Ganti <workspace-url> dengan URL ruang kerja Azure Databricks Anda.

Langkah 3: Mengautentikasi ke ruang kerja Anda

Nota

Ini hanya perlu dilakukan sekali. Anda tidak perlu mengautentikasi ulang setiap kali Anda memulai Codex.

Pertama, pastikan Anda telah menginstal CLI Azure Databricks. Lihat Menginstal atau memperbarui Databricks CLI untuk instruksi.

Kemudian autentikasi:

databricks auth login --host <workspace-url>

Ganti <workspace-url> dengan URL ruang kerja Azure Databricks Anda.

Langkah 4: Mulai Codex

codex

Untuk mengubah model, gunakan /model.

Gemini CLI

Langkah 1: Instal versi terbaru Gemini CLI

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

Langkah 2: Mengonfigurasi variabel lingkungan

Buat file ~/.gemini/.env dan tambahkan konfigurasi berikut. Lihat dokumen autentikasi Gemini CLI untuk detail selengkapnya.

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>

Ganti <workspace-url> dengan URL ruang kerja Azure Databricks dan <databricks_pat_token> dengan token akses pribadi Anda.

Dasbor

Setelah penggunaan agen pemrograman dilacak melalui Unity AI Gateway, Anda dapat melihat dan memantau metrik Anda di dasbor siap pakai.

Untuk mengakses dasbor, pilih Tampilkan dasbor dari halaman Gateway AI. Ini membuat dasbor yang telah dikonfigurasi sebelumnya dengan grafik untuk penggunaan alat pengkodian.

Tombol Tampilkan dasbor

Dasbor agen pengkodian

Menyiapkan pengumpulan data OpenTelemetry

Azure Databricks mendukung ekspor metrik dan log OpenTelemetry dari agen pengkodean ke tabel Delta terkelola Unity Catalog. Semua metrik adalah data rangkaian waktu yang diekspor menggunakan protokol metrik standar OpenTelemetry, dan log diekspor menggunakan protokol log OpenTelemetry.

Persyaratan

Langkah 1: Membuat tabel OpenTelemetry di Unity Catalog

Buat tabel terkelola Unity Catalog yang telah dikonfigurasi sebelumnya dengan metrik OpenTelemetry dan skema log.

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

Tabel log

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

Langkah 2: Perbarui env vars di agen pengodean Anda

Di setiap agen pengkodian dengan dukungan metrik OpenTelemetry diaktifkan, konfigurasikan variabel lingkungan berikut.

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

Langkah 3: Jalankan agen pengkodean Anda.

Data Anda harus disebarluaskan ke tabel Katalog Unity dalam waktu 5 menit.

Langkah selanjutnya