Kodlama aracılarıyla tümleştirme

Important

Bu özellik Beta sürümündedir. Hesap yöneticileri bu özelliğe erişimi hesap konsolu Önizlemeler sayfasından denetleyebilir. Bkz. Azure Databricks önizlemelerini yönetme.

Azure Databricks kodlama aracısı tümleştirmesiyle, Unity AI Gateway'deki model hizmetleri aracılığıyla İmleç, Gemini CLI ve Codex CLI gibi kodlama aracılarından gelen trafiği yönlendirebilirsiniz. Bu, model hizmeti, kullanıcı veya grup düzeyinde yapılandırılmış tüm denetimlerle hız sınırlama, kullanım izleme ve çıkarım tabloları sağlar.

Features

  • Erişim: Tek bir fatura altında çeşitli kodlama araçlarına ve modellerine doğrudan erişim.
  • Gözlemlenebilirlik: Tüm kodlama araçlarınızda kullanımı, harcamaları ve ölçümleri izlemek için tek bir birleşik pano.
  • Birleşik idare: Yöneticiler model hizmeti, kullanıcı veya grup düzeyinde Unity AI Gateway aracılığıyla model izinlerini ve hız sınırlarını yönetebilir.

Requirements

Kurulum

Kullanmaya başlamanın en hızlı yolu, unity AI Gateway ile desteklenen kodlama aracılarını tek komutla yükleyen, doğrulayan ve yapılandıran Azure Databricks CLI'sı ucode kullanmaktır.

ucode (Unity AI Gateway Kodlama CLI'sı), Unity AI Gateway'e karşı kodlama aracılarını çalıştırmaya yönelik tek giriş noktasıdır. OAuth'u işler, her aracının yapılandırma dosyasını yazar ve trafiği kaydettiğiniz herhangi bir LLM veya MCP sunucusu üzerinden yönlendirir. Desteklenen ajanlar:

1. Adım: Ucode'u yükleme

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

3.12 veya üzeri Python ve uv gerektirir.

2. Adım: Kodlama aracısı açma

İstediğiniz ajanı çalıştırın. İlk başlatmada ucode Azure Databricks çalışma alanı URL'nizi ister, aracının yapılandırma dosyasını otomatik olarak doğrular ve yazar. Sonraki başlatmalar doğrudan aracıya yönlendirilir.

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

ucode, ajan adından sonraki bayrakları altyapıdaki araca iletir; örneğin:

ucode codex --full-auto

Aynı anda birden çok kodlama aracısını yapılandırmak için şunu çalıştırın:

ucode configure

Azure Databricks MCP sunucularını (Unity Catalog işlevleri, AI Search, SQL veri ambarları ve keşfedilen dış bağlantılar) MCP uyumlu aracılara kaydetmek için:

ucode configure mcp

Son 7 güne ilişkin Unity AI Gateway kullanım özetinizi görmek için:

ucode usage

Tam komut başvurusu için şunu çalıştırın:

ucode --help

Dashboard

Kod aracısı kullanımı Unity AI Gateway aracılığıyla izlendikten sonra, yerleşik panoda ölçümlerinizi görüntüleyebilir ve izleyebilirsiniz.

Panoyu açmak için Unity AI Gateway sayfasının sağ üst köşesindeki İdare'ye ve ardından Kullanım Panosu'na tıklayın. Yerleşik kullanım panosu, kodlama aracı kullanımına yönelik grafiklerin bulunduğu bir Kodlama Aracıları sekmesi içerir.

Kodlama ajanı panosu

El ile kurulum

Aracıları kendiniz yapılandırmayı tercih ediyorsanız, aşağıdaki yönergeleri izleyin:

İmleç IDE

İmleci Unity AI Gateway'de model hizmetlerini kullanacak şekilde yapılandırmak için:

1. Adım: Temel URL'yi ve API anahtarını yapılandırma

  1. İmleç'i açın ve Ayarlar>İmleç Ayarları>Modelleri>API Anahtarları'na gidin.

  2. OpenAI Temel URL'sini Aşma'yı etkinleştir ve URL'yi gir:

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

    <workspace-url> değerini Azure Databricks çalışma alanı URL'nizle değiştirin.

  3. Azure Databricks kişisel erişim belirtecinizi OpenAI API Anahtarı alanına yapıştırın.

2. Adım: Özel modeller ekleme

  1. İmleç Ayarları'nda + Özel Model Ekle'ye tıklayın.
  2. Model hizmeti adınızı (örneğin, system.ai.databricks-claude-opus-4-6) ekleyin ve geçiş düğmesini açın.

Note

Şu anda yalnızca Azure Databricks sağlanan model hizmetleri desteklenmektedir.

3. Adım: Tümleştirmeyi test edin

  1. Cmd+L (macOS) veya Ctrl+L (Windows/Linux) ile Ask modunu açın ve modelinizi seçin.
  2. bir ileti gönderin. Tüm istekler artık Azure Databricks üzerinden yönlendirilir.

Codex CLI

1. Adım: Codex CLI'yi yükleme veya güncelleştirme

Codex CLI sürüm 0.118 veya sonraki bir sürümü yükleyin veya güncelleştirin:

npm install -g @openai/codex@latest

2. Adım: Codex yapılandırma dosyasını oluşturma veya güncelleştirme

Codex yapılandırma dosyasını ~/.codex/config.tomladresinde oluşturun veya düzenleyin:

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

<workspace-url> değerini Azure Databricks çalışma alanı URL'nizle değiştirin.

3. Adım: Çalışma alanınızda kimlik doğrulaması yapın

Note

Bu işlemin yalnızca bir kez yapılması gerekir. Codex'i her başlattığınızda yeniden kimlik doğrulaması yapmanız gerekmez.

İlk olarak, Azure Databricks CLI'nın yüklü olduğundan emin olun. Yönergeler için bkz. Databricks CLI'yı yükleme veya güncelleştirme .

Ardından kimlik doğrulaması yapın:

databricks auth login --host <workspace-url>

<workspace-url> değerini Azure Databricks çalışma alanı URL'nizle değiştirin.

4. Adım: Codex'ı başlatma

codex

Modeli değiştirmek için kullanın /model.

Gemini CLI

1. Adım: Gemini CLI'nin en son sürümünü yükleme

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

2. Adım: Ortam değişkenlerini yapılandırma

Bir dosya ~/.gemini/.env oluşturun ve aşağıdaki yapılandırmayı ekleyin. Daha fazla ayrıntı için gemini CLI kimlik doğrulama belgelerine bakın.

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>

<workspace-url> değerini Azure Databricks çalışma alanı URL'nizle ve <databricks_pat_token> kişisel erişim belirtecinizle değiştirin.

OpenTelemetry veri toplamayı ayarlama

Azure Databricks, OpenTelemetry ölçümlerini ve günlüklerini kodlama aracılarından Unity Kataloğu yönetilen Delta tablolarına aktarmayı destekler. Tüm ölçümler OpenTelemetry standart ölçüm protokolü kullanılarak dışarı aktarılan zaman serisi verileridir ve günlükler OpenTelemetry günlükleri protokolü kullanılarak dışarı aktarılır.

Requirements

1. Adım: Unity Kataloğu'nda OpenTelemetry tabloları oluşturma

OpenTelemetry ölçümleri ve günlük şemaları ile önceden yapılandırılmış Unity Catalog tarafından yönetilen tablolar oluşturun.

Ölçümler tablosu

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

Günlükler tablosu

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

2. Adım: Kodlama aracınızdaki env değişkenlerini güncelleştirme

OpenTelemetry ölçüm desteğinin etkinleştirildiği herhangi bir kodlama aracısında aşağıdaki ortam değişkenlerini yapılandırın.

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

3. Adım: Kodlama aracınızı çalıştırın.

Verileriniz 5 dakika içinde Unity Kataloğu tablolarına yayılmalıdır.

Sonraki Adımlar