Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Von Bedeutung
Dieses Feature befindet sich in der Betaversion. Kontoadministratoren können den Zugriff auf dieses Feature über die Seite " Vorschau" der Kontokonsole steuern. Siehe Manage Azure Databricks Previews.
Mit der Azure Databricks Codierungs-Agent-Integration können Sie den Zugriff und die Verwendung für Codierungs-Agents wie Cursor, Gemini CLI und Codex CLI verwalten. Basierend auf Unity AI Gateway bietet es Ratenbegrenzung, Nutzungsnachverfolgung und Inference-Tabellen für Ihre Codierungstools.
Features
- Zugriff: Direkter Zugriff auf verschiedene Codierungstools und Modelle, alle unter einer Rechnung.
- Observability: Ein einzelnes einheitliches Dashboard zum Nachverfolgen von Nutzung, Ausgaben und Metriken in allen Ihren Codierungstools.
- Einheitliche Governance: Administratoren können Modellberechtigungen und Geschwindigkeitsbeschränkungen direkt über unity AI Gateway verwalten.
Anforderungen
- Unity AI Gateway Preview für Ihr Konto aktiviert. Siehe Manage Azure Databricks Previews.
- Ein Azure Databricks-Arbeitsbereich in einer von Unity AI Gateway unterstützten Region.
- Unity-Katalog für Ihren Arbeitsbereich aktiviert. Weitere Informationen finden Sie unter Aktivieren eines Arbeitsbereichs für Unity Catalog.
Konfiguration
Die schnellste Möglichkeit für die ersten Schritte ist ucode, eine CLI aus Azure Databricks, die unterstützte Codierungs-Agents mit Unity AI Gateway in einem Einzigen Befehl installiert, authentifiziert und konfiguriert.
Verwenden von Ucode (empfohlen)
ucode (Unity AI Gateway Coding CLI) ist der einzige Einstiegspunkt zum Ausführen von Codierungs-Agents für Unity AI Gateway. Es verarbeitet OAuth, schreibt die Konfigurationsdatei jedes Agents und leitet Datenverkehr über jeden LLM- oder MCP-Server weiter, den Sie registriert haben. Unterstützte Agents:
- Codex CLI
- Gemini CLI
- OpenCode
- GitHub Copilot CLI
- Pi
- und mehr
Schritt 1: Installieren von Ucode
uv tool install git+https://github.com/databricks/ucode
Erfordert Python 3.12 oder höher und uv.
Schritt 2: Öffnen eines Codierungs-Agents
Starten Sie den Agenten, den Sie möchten. Beim ersten Start fordert ucode Sie auf, die URL Ihres Azure Databricks-Arbeitsbereichs einzugeben, authentifiziert Sie und schreibt automatisch die Konfigurationsdatei des Agenten. Nachfolgende Startvorgänge werden direkt an den Agenten weitergeleitet.
ucode codex # OpenAI Codex
ucode gemini # Gemini CLI
ucode opencode # OpenCode
ucode copilot # GitHub Copilot CLI
ucode pi # Pi
ucode reicht Optionen hinter dem Agentnamen an das zugrunde liegende Werkzeug durch, zum Beispiel:
ucode codex --full-auto
Führen Sie Folgendes aus, um mehrere Codierungs-Agents gleichzeitig zu konfigurieren:
ucode configure
So registrieren Sie Azure Databricks MCP-Server (Unity Catalog-Funktionen, Vector Search, SQL Warehouses und ermittelte externe Verbindungen) mit MCP-fähigen Agents:
ucode configure mcp
So rufen Sie die Nutzungszusammenfassung Ihres Unity AI Gateway der letzten 7 Tage auf:
ucode usage
Führen Sie für den vollständigen Befehlsverweis Folgendes aus:
ucode --help
Dashboard
Nachdem die Codierungs-Agent-Nutzung über unity AI Gateway nachverfolgt wurde, können Sie Ihre Metriken im integrierten Dashboard anzeigen und überwachen.
Um das Dashboard zu öffnen, wählen Sie auf der Seite "AI-Gateway" die Option "Dashboard anzeigen " aus. Diese Aktion erstellt ein vorkonfiguriertes Dashboard mit Diagrammen für die Verwendung von Codierungstools.
Manuelle Einrichtung
Wenn Sie Agents selbst konfigurieren möchten, befolgen Sie die Anweisungen für:
Cursor-IDE
So konfigurieren Sie Den Cursor für die Verwendung von Unity AI Gateway-Endpunkten:
Schritt 1: Konfigurieren der Basis-URL und des API-Schlüssels
Öffnen Sie den Cursor und navigieren Sie zuEinstellungen>Cursoreinstellungen>Modelle>API-Schlüssel.
Aktivieren Sie OpenAI-Basis-URL überschreiben und geben Sie die URL ein:
https://<workspace-url>/ai-gateway/cursor/v1Ersetzen Sie
<workspace-url>durch Ihre Azure Databricks Arbeitsbereichs-URL.Fügen Sie Ihr Azure Databricks persönliches Zugriffstoken in das Feld OpenAI-API-Schlüssel ein.
Schritt 2: Hinzufügen von benutzerdefinierten Modellen
- Klicken Sie in den Cursoreinstellungen auf +Benutzerdefiniertes Modell hinzufügen .
- Fügen Sie Ihren Unity AI Gateway-Endpunktnamen hinzu, und aktivieren Sie den Umschalter.
Hinweis
Derzeit werden nur von Azure Databricks erstellte Foundation-Model-Endpunkte unterstützt.
Schritt 3: Testen der Integration
- Öffnen Sie den Ask-Modus mit
Cmd+L(macOS) oderCtrl+L(Windows/Linux), und wählen Sie Ihr Modell aus. - Senden sie eine Nachricht. Alle Anfragen werden jetzt über Azure Databricks geleitet.
Codex CLI
Schritt 1: Installieren oder Aktualisieren der Codex CLI
Installieren oder aktualisieren Sie codex CLI, Version 0.118 oder höher:
npm install -g @openai/codex@latest
Schritt 2: Erstellen oder Aktualisieren der Codex-Konfigurationsdatei
Erstellen oder Bearbeiten der Codex-Konfigurationsdatei unter ~/.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
Ersetzen Sie <workspace-url> durch Ihre Azure Databricks Arbeitsbereichs-URL.
Schritt 3: Authentifizieren bei Ihrem Arbeitsbereich
Hinweis
Dies muss nur einmal erfolgen. Sie müssen sich nicht jedes Mal erneut authentifizieren, wenn Sie Codex starten.
Stellen Sie zunächst sicher, dass die Azure Databricks CLI installiert ist. Anweisungen finden Sie unter Installieren oder Aktualisieren der Databricks CLI .
Authentifizieren Sie sich dann:
databricks auth login --host <workspace-url>
Ersetzen Sie <workspace-url> durch Ihre Azure Databricks Arbeitsbereichs-URL.
Schritt 4: Codex starten
codex
Um das Modell zu ändern, verwenden Sie /model.
Gemini CLI
Schritt 1: Installieren der neuesten Version von Gemini CLI
npm install -g @google/gemini-cli@nightly
Schritt 2: Konfigurieren von Umgebungsvariablen
Erstellen Sie eine Datei ~/.gemini/.env , und fügen Sie die folgende Konfiguration hinzu. Weitere Details finden Sie in den Dokumentationen zur Gemini CLI-Authentifizierung .
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>
Ersetzen Sie <workspace-url> durch Ihre AZURE DATABRICKS Arbeitsbereichs-URL und <databricks_pat_token> durch Ihr persönliches Zugriffstoken.
Einrichten der OpenTelemetry-Datensammlung
Azure Databricks unterstützt das Exportieren von OpenTelemetry-Metriken und Protokolldaten mithilfe von Codierungsagenten in die im Unity-Katalog verwalteten Delta-Tabellen. Alle Metriken sind Zeitreihendaten, die mithilfe des OpenTelemetry-Standardmetrikenprotokolls exportiert werden, und Protokolle werden mithilfe des OpenTelemetry-Protokollprotokolls exportiert.
Anforderungen
- OpenTelemetry-Vorschau auf Azure Databricks aktiviert. Siehe Manage Azure Databricks Previews.
Schritt 1: Erstellen von OpenTelemetry-Tabellen im Unity-Katalog
Erstellen Sie verwaltete Tabellen im Unity-Katalog, die mit den OpenTelemetry-Metriken und Protokollschemas vorkonfiguriert sind.
Metriktabelle
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'
)
Protokolltabelle
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'
)
Schritt 2: Aktualisieren von env vars in Ihrem Codierungs-Agent
Konfigurieren Sie in jedem Codierungs-Agent mit aktivierter OpenTelemetry-Metrikunterstützung die folgenden Umgebungsvariablen.
{
"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"
}
Schritt 3: Führen Sie Ihren Codierungs-Agent aus.
Ihre Daten sollten innerhalb von 5 Minuten an die Unity-Katalogtabellen weitergegeben werden.