Surveiller les services de modèle à l’aide de tables d’inférence
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.
Cette page décrit comment utiliser les tables d’inférence pour surveiller les services de modèles Unity AI Gateway.
Que sont les tables d'inférence Unity AI Gateway ?
Les tables d'inférence de Unity AI Gateway loguent les requêtes et les réponses de vos services de modèle vers les tables Delta de Unity Catalog. Vous pouvez utiliser ces données pour le monitoring, le debugging et l'optimisation de vos modèles.
Quelques cas d’usage courants :
- **Debugging** : analysez les charges utiles des requêtes et des réponses pour résoudre les problèmes.
- Monitoring : suivez les performances du modèle et identifiez les anomalies.
- Optimisation : examinez les interactions pour améliorer les prompts et les configurations des modèles.
- Conformité : Maintenez les Logs d'audit de toutes les interactions de modèle.
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.
-
Le privilège
MANAGEsur le service de modèle. Le créateur et le modificateur du service de modèle doivent disposer de ce privilège. -
Le privilège
CREATE TABLEdans le catalogue et le schéma Unity Catalog spécifiés. -
Le privilège
USE CATALOGsur le catalogue spécifié. -
Le privilège
USE SCHEMAsur le schéma spécifié. -
Le catalogue ne peut pas être un catalogue OpenSharing vers le métastore actuel.
-
Databricks recommande d'activer l'optimisation prédictive pour des performances améliorées.
Activer les tables d'inférence
Les tables d'inférence ne peuvent être configurées qu'après avoir créé un service de modèle.
Pour activer les tables d'inférence :
- Dans la barre latérale, cliquez sur Passerelle IA .
- Cliquez sur le nom du service de modèle pour ouvrir la page du service de modèle.
- Cliquez sur **Configurer** à côté de **Tables d’inférence**.
- Spécifiez le catalogue et le schéma où vous souhaitez stocker la table d'inférence.
- Cliquez sur Enregistrer .
Le propriétaire de la table d'inférence est l'utilisateur qui a créé le service de modèle. Tous les ACL suivent les autorisations standard de Unity Catalog et peuvent être modifiés par le propriétaire de la table.
La spécification d'une table existante n'est pas prise en charge. Databricks crée automatiquement une nouvelle table d'inférence lorsque vous activez les tables d'inférence.
La table d'inférence pourrait cesser d'enregistrer des données ou être corrompue si vous effectuez l'une des opérations suivantes :
- Modifiez le schéma de la table.
- Modifier le nom de la table.
- Supprimer la table.
Désactiver les tables d'inférence
Pour désactiver les tables d'inférence :
- Dans la barre latérale, cliquez sur Passerelle IA .
- Cliquez sur le nom du service de modèle pour ouvrir la page du service de modèle.
- Cliquez sur l'icône de modification à côté de Tables d'inférence .
- Cliquez sur **Désactiver les tables d'inférence**.
Interroger la table d’inférence
Vous pouvez afficher la table dans l'interface utilisateur, ou query la table à partir de Databricks SQL ou d'un Notebook.
Pour afficher la table dans l'interface utilisateur, cliquez sur le Link de la table d'inférence sur la page du service de modèle pour ouvrir la table dans Catalog Explorer.
Pour interroger la table à partir de Databricks SQL ou d'un Notebook :
SELECT * FROM <catalog>.<schema>.<payload_table>
Remplacez <catalog>, <schema> et <payload_table> par l'emplacement de votre table.
Schéma de la table d'inférence
Les tables d'inférence de Unity AI Gateway ont le schéma suivant :
Nom de colonne | Type | Description | Exemple |
|---|---|---|---|
| CHAÎNE | Un identifiant unique pour la requête. |
|
| CHAÎNE | Un identifiant unique pour chaque appel d'inférence individuel. Plusieurs invocations peuvent partager le même |
|
| Carte | Balises associées à la requête. |
|
| Horodatage | Le Timestamp lorsque la requête a été reçue. |
|
| INT | Le code de statut HTTP de la réponse. |
|
| Double | La fraction d'échantillonnage si le sous-échantillonnage était utilisé. Une valeur de 1 signifie qu'il n'y a pas de sous-échantillonnage. |
|
| LONG | La latence totale en millisecondes. |
|
| LONG | Le temps de premier octet en millisecondes. |
|
| CHAÎNE | La charge utile de la requête JSON brute. |
|
| CHAÎNE | La charge utile de la réponse JSON brute. |
|
| CHAÎNE | Le type de destination (par exemple, modèle externe ou modèle de fondation). |
|
| CHAÎNE | Le nom du modèle ou du fournisseur de destination. |
|
| CHAÎNE | Le modèle spécifique utilisé pour la requête. |
|
| TABLEAU | Codes d'erreur si l'enregistrement a échoué (par exemple, |
|
| CHAÎNE | L'ID de l'utilisateur ou du Service Principal qui a effectué la demande. |
|
| CHAÎNE | La version du schéma de l'enregistrement de la table d'inférence. |
|
Limitations
- Catalogues de stockage externe uniquement : les tables d'inférence ne peuvent être créées que dans des catalogues de stockage externe. Les catalogues de stockage par default ne sont pas actuellement pris en charge.
- Endpoints not supported : les tables d’inférence ne peuvent pas être créées dans un stockage sécurisé via un endpoint privé. Voir les limitations du connecteur Zerobus Ingest.
- **Livraison au mieux des efforts** : Les logs sont généralement disponibles dans les minutes suivant une requête, mais la livraison n'est pas garantie.
- Taille maximale de la charge utile : les requêtes et les réponses de plus de 10 MiB ne sont pas journalisées. La colonne
logging_error_codesindique quand cela se produit avecMAX_REQUEST_SIZE_EXCEEDEDouMAX_RESPONSE_SIZE_EXCEEDED. - Réponses d'erreur : les Logs peuvent ne pas être renseignés pour les requêtes qui renvoient des erreurs 401, 403, 429 ou 500.