Intégrer avec des agents de codage
Bêta
Cette fonctionnalité est en Bêta. Les administrateurs de compte peuvent contrôler l'accès à cette fonctionnalité depuis la page Aperçus de la console de compte. Consultez Gérer les aperçus Databricks.
Grâce à l’intégration des agents de codage Databricks, vous pouvez acheminer le trafic des agents de codage tels que Cursor, Gemini CLI et Codex CLI via les services de modèle dans Unity AI Gateway. Ceci fournit la limitation de débit, le suivi de l’utilisation et les tables d’inférence — avec tous les contrôles configurés au niveau du service de modèle, de l’utilisateur ou du groupe.
Fonctionnalités
- Accès : Accès direct à divers outils de codage et modèles, le tout sous une seule facture.
- Observabilité : Un tableau de bord unifié unique pour suivre l'utilisation, les dépenses et les indicateurs sur tous vos outils de codage.
- **Gouvernance unifiée** : Les administrateurs peuvent gérer les autorisations de modèle et les limites de débit via Unity AI Gateway au niveau du service de modèle, de l'utilisateur ou du groupe.
Exigences
- L'aperçu Unity AI Gateway est activé pour votre compte. Consultez Gérer les aperçus Databricks.
- Un Databricks workspace dans une région prise en charge par Unity AI Gateway.
- Unity Catalog activé pour votre workspace. Consultez Activer un workspace pour Unity Catalog.
Configuration
La manière la plus rapide de démarrer est d'utiliser ucode, un CLI de Databricks qui installe, authentifie et configure les agents de codage pris en charge avec Unity AI Gateway en une seule commande.
Utilisez ucode (recommandé)
ucode (Unity AI Gateway Coding CLI) est le point d'entrée unique pour exécuter des agents de codage sur Unity AI Gateway. Il gère l'OAuth, écrit le fichier de configuration de chaque agent et achemine le trafic via tout serveur LLM ou MCP que vous avez enregistré. Agents pris en charge :
- Codex CLI
- Gemini CLI
- OpenCode
- GitHub Copilot CLI
- Pi
- et plus encore
Étape 1 : installez ucode
uv tool install git+https://github.com/databricks/ucode
Nécessite Python 3.12 ou version ultérieure et uv.
Étape 2 : Ouvrez un agent de codage
Exécutez l'agent que vous souhaitez. Au premier lancement, ucode vous invite à saisir l'URL de votre workspace Databricks, s'authentifie et écrit automatiquement le fichier de configuration de l'agent. Les lancements ultérieurs accèdent directement à l'agent.
ucode codex # OpenAI Codex
ucode gemini # Gemini CLI
ucode opencode # OpenCode
ucode copilot # GitHub Copilot CLI
ucode pi # Pi
ucode transmet les indicateurs après le nom de l'agent à l'outil sous-jacent, par exemple :
ucode codex --full-auto
Pour configurer plusieurs agents de codage en même temps, exécutez :
ucode configure
Pour enregistrer les serveurs MCP Databricks (fonctions Unity Catalog, AI Search, SQL Warehouses et connexions externes découvertes) auprès d'agents compatibles MCP :
ucode configure mcp
Pour consulter le récapitulatif de votre utilisation de Unity AI Gateway au cours des 7 derniers jours :
ucode usage
Pour la référence complète de la commande, exécutez :
ucode --help
Tableau de bord
Une fois que l'utilisation de l'agent de codage est suivie via Unity AI Gateway, vous pouvez consulter et surveiller vos métriques dans le tableau de bord intégré.
Pour ouvrir le tableau de bord, cliquez sur Gouverner en haut à droite de la page Unity AI Gateway, puis cliquez sur Tableau de bord d'utilisation . Le tableau de bord d'utilisation intégré comprend un onglet Coding Agents avec des graphes pour l'utilisation des outils de codage.

Configuration manuelle
Si vous préférez configurer vous-même les agents, suivez les instructions pour :
IDE Cursor
Pour configurer Cursor afin d'utiliser les services de modèle dans la passerelle d'IA Unity :
Étape 1 : Configurer l'URL de base et la clé API
-
Ouvrez le Curseur et naviguez vers Paramètres > Paramètres du Curseur > Modèles > Clés API .
-
Activez **Remplacer l'URL de base d'OpenAI** et saisissez l'URL :
https://<workspace-url>/ai-gateway/cursor/v1Remplacez
<workspace-url>par l'URL de votre Databricks Workspace. -
Collez votre jeton d'accès personnel Databricks dans le champ Clé API OpenAI .
Étape 2 : Ajoutez des modèles personnalisés
- Cliquez sur + Ajouter un modèle personnalisé dans les paramètres du curseur.
- Ajoutez le nom de votre service de modèle (par exemple,
system.ai.databricks-claude-opus-4-6) et activez le bouton bascule.
Actuellement, seuls les services de modèle fournis par Databricks sont pris en charge.
Étape 3 : testez l'intégration
- Ouvrez le mode Demande avec
Cmd+L(macOS) ouCtrl+L(Windows/Linux) et sélectionnez votre modèle. - Envoyez un message. Toutes les requêtes passent maintenant par Databricks.
Codex CLI
Étape 1 : Installez ou mettez à jour Codex CLI
Installez ou mettez à jour vers Codex CLI version 0,118 ou ultérieure :
npm install -g @openai/codex@latest
Étape 2 : Créer ou mettre à jour le fichier de configuration Codex
Créer ou modifier le fichier de configuration du Codex à ~/.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
Remplacez <workspace-url> par l'URL de votre Databricks Workspace.
Étape 3 : Authentifiez-vous à votre Workspace
Cette opération ne doit être effectuée qu'une seule fois. Vous n'avez pas besoin de vous réauthentifier chaque fois que vous start Codex.
Tout d'abord, assurez-vous d'avoir le CLI Databricks installé. Consultez Installer ou mettre à jour la CLI Databricks pour obtenir des instructions.
Ensuite, authentifiez-vous :
databricks auth login --host <workspace-url>
Remplacez <workspace-url> par l'URL de votre Databricks Workspace.
Étape 4 : Start Codex
codex
Pour changer de modèle, utilisez /model.
Gemini CLI
Étape 1 : installez la dernière version de Gemini CLI
npm install -g @google/gemini-cli@nightly
Étape 2 : Configurez les variables d'environnement
Créez un fichier ~/.gemini/.env et ajoutez la configuration suivante. Consultez les documents d'authentification Gemini CLI pour plus de détails.
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>
Remplacez <workspace-url> par l'URL de votre workspace Databricks et <databricks_pat_token> par votre jeton d'accès personnel.
Configurer la collecte de données OpenTelemetry
Databricks prend en charge l'exportation des métriques OpenTelemetry et des logs des agents de codage vers les tables Delta gérées par Unity Catalog. Toutes les métriques sont des données de séries temporelles exportées à l'aide du protocole de métriques standard OpenTelemetry, et les logs sont exportés à l'aide du protocole de logs OpenTelemetry.
Exigences
- OpenTelemetry sur Databricks en prévisualisation est activé. Consultez Gérer les aperçus Databricks.
Étape 1 : Créer des tables OpenTelemetry dans Unity Catalog
Créez des tables gérées par Unity Catalog préconfigurées avec les schémas de métriques et de logs OpenTelemetry.
Table de métriques
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'
)
Table de logs
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'
)
Étape 2 : mettez à jour les variables d'environnement de votre agent de codage
Dans tout agent de codage avec le support des métriques OpenTelemetry activé, configurez les variables d'environnement suivantes.
{
"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"
}
Étape 3 : Exécutez votre agent de codage.
Vos données devraient se propager vers les tables Unity Catalog dans les 5 minutes.