Résoudre les problèmes liés aux assistants Genie

Résolvez les problèmes courants lors de la création et de la maintenance d’un agent Genie : jargon métier mal compris, utilisation incorrecte de tables ou de colonnes, erreurs de filtrage sur des valeurs spécifiques et troncature due à la limite de jetons dans les longues conversations. Chaque section ci-dessous décrit le symptôme, la cause et le correctif.

Note

Les agents génie étaient anciennement appelés Génie Spaces.

Pour la plupart de ces problèmes, le chemin le plus rapide vers un correctif est Génie Code. Décrivez le problème à Genie Code, et il vous suggère des modifications de contexte à examiner et à accepter. Pour diagnostiquer une seule réponse incorrecte, consultez Déboguer les réponses avec Genie Code. Pour passer en revue les échecs d’évaluation ensemble, consultez Analyser une exécution de benchmark avec Genie Code.

Jargon métier mal compris

La plupart des entreprises ou des domaines utilisent des raccourcis spécifiques pour communiquer sur des événements spécifiques à l’entreprise. Par exemple, quand il est fait référence à une année, il peut s’agir systématiquement de l’année d’exercice, et cet exercice peut commencer en février ou mars au lieu de janvier. Pour permettre à Genie de répondre à ces questions de manière naturelle et précise, incluez des instructions qui mappent explicitement votre jargon métier aux mots et concepts compréhensibles par Genie. Consultez Fournir des instructions.

Utilisation de tables ou de colonnes incorrectes

Si Genie tente d’extraire des données d’une table incorrecte ou d’exécuter une analyse sur des colonnes incorrectes, vous pouvez ajuster les données d'une des manières suivantes :

  • Fournissez des descriptions claires et précises : vérifiez vos tables et métadonnées associées pour vérifier que la terminologie utilisée correspond à la terminologie des utilisateurs dans les questions soumises. Si ce n’est pas le cas, affinez la description ou ajoutez une instruction qui mappe la terminologie utilisée dans la table à celle utilisée dans la question.
  • Ajoutez des exemples de requêtes : fournissez des exemples de requêtes SQL que Genie peut utiliser pour apprendre à répondre à certaines questions. Consultez Fournir des instructions.
  • Supprimer des tables ou des colonnes de l’agent : certaines tables peuvent inclure des colonnes qui se chevauchent ou des concepts qui empêchent Genie de savoir quelles données utiliser dans une réponse. Si possible, supprimez les tables ou colonnes inutiles ou qui se chevauchent. Pour masquer les colonnes de l’interface utilisateur de l’agent Genie sans modifier les objets de données sous-jacents, consultez Masquer ou afficher les colonnes pertinentes.

Erreurs de filtrage

Les requêtes générées incluent souvent une clause WHERE pour filtrer les résultats en fonction d’une valeur spécifique. Lorsque Genie n’a pas de visibilité sur les valeurs de données, il peut définir la WHERE clause pour filtrer la valeur incorrecte. Par exemple, il peut essayer de faire correspondre le nom « Californie » lorsque la table utilise des abréviations telles que « CA ».

Pour les situations telles que celles-ci, vérifiez que les colonnes pertinentes ont des exemples de valeurs et des dictionnaires de valeurs activés . Si de nouvelles données ont été ajoutées aux tables pertinentes, actualisez les valeurs. Consultez Vue d’ensemble de la correspondance d’invite.

Jointures incorrectes

Si les références de clé étrangère ne sont pas définies dans le catalogue Unity, votre agent peut ne pas savoir comment joindre différentes tables.

Essayez d'appliquer une ou plusieurs des solutions suivantes :

  • Définissez des références de clés étrangères dans votre Unity Catalog quand cela est possible. Consultez la clause CONSTRAINT.
  • Si les relations de clé étrangère de vos tables ne sont pas spécifiées dans Unity Catalog, définissez les relations de jonction dans la base de connaissances de votre assistant Genie. Cette stratégie est utile pour les scénarios de jointure plus complexes comme les jointures autonomes, ou si vous n’avez pas suffisamment d’autorisation pour modifier les tables sous-jacentes. Consultez Définir des relations de jointure.
  • Fournissez des exemples de requêtes où vous joignez des tables de manière standard.

Si aucune de ces solutions ne résout le problème, vous pouvez joindre au préalable la table dans une vue, puis l’utiliser en tant qu’entrée pour l’assistant à la place.

Commentaires de colonne non synchronisés à partir de tables étrangères

Azure Databricks ne gère pas les métadonnées, les données ou la sémantique pour les écritures dans des tables étrangères. Selon la table source, les commentaires peuvent ne pas être accessibles à partir d’Azure Databricks. Pour rendre les commentaires disponibles, Azure Databricks recommande d’effectuer l’une des opérations suivantes :

  • Modifiez les métadonnées de colonne dans l’interface utilisateur de l’agent Genie. Les métadonnées modifiées s’appliquent uniquement à l’Agent Genie où elle est écrite. Consultez Modifier les métadonnées de colonne.
  • Créez des vues matérialisées sur des tables fédérées. Vous pouvez ajouter et modifier des commentaires sur une vue matérialisée comme vous le feriez sur une table gérée. Vous pouvez réutiliser cette vue dans plusieurs agents Genie. Pour plus d’informations sur le chargement de données de tables étrangères vers une vue matérialisée, consultez Charger des données à partir de tables étrangères avec des vues matérialisées. Pour en savoir plus sur l’utilisation des vues matérialisées, consultez Vues matérialisées.

Problèmes de calcul de métriques

La façon dont les métriques sont calculées et regroupées peut être arbitrairement complexe et englober de nombreux détails métier que votre agent ne comprend pas. Cela peut donner lieu à des rapports incorrects.

Essayez d'appliquer une ou plusieurs des solutions suivantes :

  • Définissez vos métriques en tant qu’expressions SQL dans la base de connaissances. Les expressions SQL fournissent des définitions réutilisables et précises pour les mesures, les filtres et les dimensions que Genie peut appliquer de manière cohérente. Consultez Définir des expressions SQL.
  • Si vos métriques sont agrégées à partir de tables de base, fournissez des exemples de requêtes SQL calculant chaque valeur de cumul.
  • Si vos métriques ont été précalculées, et si elles se trouvent dans des tables agrégées, expliquez-le dans les commentaires de la table. Spécifiez des agrégations valides pour chaque métrique si les métriques de cette table peuvent être cumulées davantage.
  • Si le SQL que vous essayez de générer est très complexe, essayez de créer des vues ayant déjà agrégé vos métriques pour l’agent.

Calculs temporels incorrects

Genie peut ne pas toujours être en mesure de déduire le fuseau horaire représenté dans les données ou le fuseau horaire dans lequel votre analyse doit être effectuée, sauf si vous fournissez explicitement des conseils supplémentaires.

Incluez des instructions plus explicites détaillant le fuseau horaire source d’origine, la fonction de conversion et le fuseau horaire cible. Les exemples suivants montrent comment modifier les instructions générales pour les conversions de fuseau horaire plus fiables :

  • Toujours convertir des heures en fuseau horaire spécifique: dans cet exemple, supposons que l’horodatage source est UTC et que vous souhaitez obtenir des résultats dans le fuseau horaire America/Los_Angeles. Ajoutez les instructions suivantes, en remplaçant <timezone-column> par le nom de colonne approprié :
    • Les fuseaux horaires dans les tableaux sont indiqués en UTC.
    • Convertissez tous les fuseaux horaires à l’aide de la fonction suivante : convert_timezone('UTC', 'America/Los_Angeles', <timezone-column>).
  • Convertir les formats de date et d’heure non UTC en UTC : si le fuseau horaire par défaut de l’espace de travail est UTC, mais que les utilisateurs de Los Angeles doivent se référer à aujourd’hui pour un ensemble spécifique d’enregistrements, ajoutez ce qui suit aux instructions générales de l’agent :
    • Pour faire référence à aujourd’hui, utilisez date(convert_timezone('UTC', 'America/Los_Angeles', current_timestamp())).

Pour plus d’informations et de syntaxe, consultez convert_timezone la fonction .

Ignorer les instructions

Même si vous avez expliqué vos tables et colonnes dans les commentaires et fourni des instructions générales, votre agent risque de ne pas les utiliser correctement.

Essayez d'appliquer une ou plusieurs des stratégies suivantes :

  • Fournissez des exemples de requêtes qui utilisent correctement vos tables. Les exemples de requêtes sont particulièrement efficaces pour enseigner à votre agent comment utiliser vos données.
  • Masquer les colonnes non pertinentes dans l’Agent Genie. Voir Masquer ou afficher les colonnes pertinentes.
  • Créez des vues à partir de vos tables qui fournissent une vue plus simple de vos données.
  • Passez en revue vos instructions et essayez de concentrer l’agent en supprimant les tables ou instructions non pertinentes.
  • Essayez de démarrer une nouvelle conversation. Les interactions précédentes peuvent influencer les réponses de Genie dans une conversation donnée, mais le démarrage d’une nouvelle conversation vous donne un point de départ vide pour tester de nouvelles instructions.

Problèmes de performance

Quand Genie doit générer des requêtes ou des réponses textuelles exceptionnellement longues, sa réponse peut prendre beaucoup de temps ou même expirer pendant la phase de réflexion.

Essayez d'effectuer une ou plusieurs des actions suivantes pour améliorer les performances :

  • Vérifiez l’historique des requêtes pour identifier les requêtes lentes. De nombreux problèmes de performances peuvent être résolus en optimisant les requêtes SQL générées plutôt que de modifier la configuration de l’agent Genie. Passez en revue les temps d’exécution des requêtes et les plans de requête dans l’historique des requêtes de votre entrepôt SQL pour identifier les goulots d’étranglement et les opportunités d’optimisation.
  • Utilisez des ressources ou des vues approuvées pour encapsuler les requêtes complexes. Consultez ressources approuvées.
  • Réduisez la longueur de vos exemples de requêtes SQL dans la mesure du possible.
  • Démarrez une nouvelle conversation si Genie commence à générer des réponses lentes ou défaillantes.

Réponses non fiables à des questions stratégiques

Utilisez des ressources approuvées pour fournir des réponses vérifiées aux questions spécifiques que vous attendez de la part des utilisateurs. Consultez ressources approuvées.

Avertissement de limite de jeton

Les jetons sont les unités de base du texte, que Genie utilise pour traiter et comprendre le langage. Les instructions de texte et les métadonnées d’un Agent Genie sont converties en jetons. Si votre agent approche de la limite de jetons, un avertissement s’affiche. Genie utilise le filtrage de contexte pour hiérarchiser les jetons qu’il considère comme les plus pertinents pour une question. Bien que les réponses soient toujours générées lorsqu’un avertissement s’affiche, la qualité peut être réduite si un contexte important est filtré. Lorsque la limite de jetons est dépassée, vous ne pouvez plus envoyer ni recevoir de messages dans l’Agent Genie.

Tenez compte des pratiques suivantes pour réduire le nombre de jetons :

  • Supprimez les colonnes inutiles : les colonnes inutiles de vos tables peuvent contribuer considérablement à l’utilisation des jetons. Si possible, créez des vues pour exclure les champs redondants ou non essentiels de vos tables brutes. Vous pouvez également masquer les colonnes inutiles dans un Agent Genie. Voir Masquer ou afficher les colonnes pertinentes.
  • Simplifiez les descriptions des colonnes : Bien que les descriptions des colonnes soient importantes, évitez de dupliquer les informations déjà spécifiées dans les noms des colonnes. Par exemple, si une colonne est nommée account_name, une description telle que « le nom de votre compte » peut être redondante et peut être omise.
  • Modifier les métadonnées de colonne dans l’Agent Genie : consultez Modifier les métadonnées de colonne pour savoir comment modifier les descriptions et fournir des synonymes dans les métadonnées de colonne.
  • Exemples de requêtes SQL : incluez une plage variée d’exemples de requêtes SQL pour couvrir différents types de questions, mais supprimez des exemples superposés ou redondants.
  • Simplifiez les instructions : vérifiez que vos instructions sont claires et concises. Évitez les mots inutiles.

Votre compte n’est pas activé pour un traitement intergéographique

Genie est un Service désigné géré par Azure Databricks. Les Services désignés utilisent les Géos Databricks pour gérer la résidence des données. Les données ne peuvent pas être traitées dans la même zone géographique que l’espace de travail pour certaines régions. Si votre espace de travail se trouve dans l’une de ces régions, le traitement intergéographique doit être activé par votre administrateur de compte.

Le dernier auteur de l’assistant est supprimé de l’espace de travail

Un agent Genie accède à son entrepôt SQL en utilisant les identifiants de calcul intégrés par l’auteur qui l’a configuré le plus récemment. Si cet auteur est supprimé de l’espace de travail, ses informations d’identification incorporées ne sont plus valides et les requêtes échouent pour tous les utilisateurs de l’agent.

Pour restaurer l’agent, demandez à un autre utilisateur disposant au minimum de l’autorisation CAN EDIT sur le Genie Agent de reconfigurer l’entrepôt SQL de l’agent. L’enregistrement d’un entrepôt remplace les informations d’identification de calcul de l’auteur supprimé par celles de l’utilisateur qui effectue la modification. Consultez Configurer les paramètres.