Bagikan melalui


Mengintegrasikan dengan agen pengkodian

Penting

Fitur ini ada di Beta. Admin akun dapat mengontrol akses ke fitur ini dari halaman Pratinjau .

Dengan integrasi agen pengodean Azure Databricks, Anda dapat mengelola akses dan penggunaan untuk agen pengkodean seperti Kursor, Gemini CLI, Codex CLI, dan Claude Code. Dibangun di Atas Gateway AI, 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 langsung melalui AI Gateway.

Persyaratan

Agen yang didukung

Agen pengkodian berikut didukung:

Pengaturan

Cursor

Untuk mengonfigurasi Cursor untuk menggunakan endpoint Gateway AI:

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://<ai-gateway-url>/cursor/v1
    

    Ganti <ai-gateway-url> dengan URL titik akhir Gateway AI Anda.

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

Langkah 2: Menambahkan model kustom

  1. Klik + Tambahkan Model Kustom di Pengaturan Kursor.
  2. Tambahkan nama titik akhir Gateway AI 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 dirutekan melalui Azure Databricks.

Codex CLI

Langkah 1: Atur variabel lingkungan DATABRICKS_TOKEN

export DATABRICKS_TOKEN=<databricks_pat_token>

Langkah 2: Mengonfigurasi klien Codex

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

Ganti <ai-gateway-url> dengan URL titik akhir Gateway AI Anda.

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://<ai-gateway-url>/gemini
GEMINI_API_KEY_AUTH_MECHANISM="bearer"
GEMINI_API_KEY=<databricks_pat_token>

Ganti <ai-gateway-url> dengan URL titik akhir Gateway AI Anda dan <databricks_pat_token> dengan token akses pribadi Anda.

Kode Claude

Langkah 1: Mengonfigurasi klien Claude Code

Tambahkan konfigurasi berikut ke ~/.claude/settings.json. Lihat dokumen pengaturan Kode Claude untuk detail selengkapnya.

{
  "env": {
    "ANTHROPIC_MODEL": "databricks-claude-opus-4-6",
    "ANTHROPIC_BASE_URL": "https://<ai-gateway-url>/anthropic",
    "ANTHROPIC_AUTH_TOKEN": "<databricks_pat_token>",
    "ANTHROPIC_CUSTOM_HEADERS": "x-databricks-use-coding-agent-mode: true",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1"
  }
}

Ganti <ai-gateway-url> dengan URL titik akhir Gateway AI Anda dan <databricks_pat_token> dengan token akses pribadi Anda.

Langkah 2 (opsional): Menyiapkan koleksi metrik OpenTelemetry

Lihat Menyiapkan pengumpulan data OpenTelemetry untuk detail tentang mengekspor metrik dan log dari Claude Code ke tabel Delta yang dikelola oleh Unity Catalog.

Dasbor

Setelah penggunaan agen pemrograman dilacak melalui Gateway AI, Anda dapat melihat dan memantau metrik Anda dari 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 Claude Code 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. Untuk metrik dan peristiwa yang tersedia, lihat Penggunaan pemantauan Kode Claude.

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: Memperbarui file pengaturan Kode Claude

Tambahkan variabel lingkungan berikut ke env blok dalam file Anda ~/.claude/settings.json untuk mengaktifkan metrik dan ekspor log:

{
  "env": {
    "CLAUDE_CODE_ENABLE_TELEMETRY": "1",
    "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"
  }
}

Ganti yang berikut ini:

  • <workspace-url> dengan URL ruang kerja Azure Databricks Anda.
  • <databricks_pat_token> dengan token akses pribadi Anda.
  • <catalog>.<schema>.<table_prefix> dengan katalog, skema, dan awalan tabel yang digunakan saat membuat tabel OpenTelemetry.

Nota

Defaultnya OTEL_METRIC_EXPORT_INTERVAL adalah 60000 ms (60 detik). Contoh di atas mengaturnya menjadi 10000 md (10 detik). Defaultnya OTEL_LOGS_EXPORT_INTERVAL adalah 5000 ms (5 detik).

Langkah 3: Jalankan Kode Claude

claude

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

Langkah selanjutnya