Botframework-solutions: Le contexte de la boîte de dialogue ne s'affiche pas dans le rapport Power Bi

Créé le 10 août 2020  ·  22Commentaires  ·  Source: microsoft/botframework-solutions

Quel projet est concerné ?

Rapport Power Bi pour l'assistant virtuel et les compétences

C'est dans quelle langue ?

Manuscrit

Ce qui se produit?

Nous ne parvenons pas à afficher un contexte de dialogue dans le tableau de bord Power Bi. Nous avons mis à jour l'enregistreur de télémétrie pour enregistrer les informations personnelles, mais nous n'obtenons toujours aucun contexte de dialogue dans le rapport. Tous les autres onglets se remplissent correctement, nous ne pouvons tout simplement pas voir de sortie sur les onglets de la boîte de dialogue

Quelles sont les étapes pour reproduire ce problème ?

Créer un assistant virtuel,
Ajouter la valeur booléenne "true" à l'enregistreur de télémétrie
const telemetryLoggerMiddleware = new TelemetryLoggerMiddleware(telemetryClient, true);
const telemetryInitializerMiddleware = new TelemetryInitializerMiddleware(telemetryLoggerMiddleware, true);
vérifiez les onglets "All Dialogs Overview" et "Dialog Overview" dans le rapport power Bi

Que vous attendiez-vous à ce qu'il se passe ?

Informations de dialogue à renseigner dans le rapport

Pouvez-vous partager des journaux, des sorties d'erreur, etc. ?

Aucune erreur n'est présente

Des captures d'écran ou un contexte supplémentaire ?

image

Bot Services Kobuk bug customer-replied-to customer-reported in-progress stale

Commentaire le plus utile

Merci @VictorGrycuk J'ai apporté les modifications que vous avez décrites ci-dessus et maintenant toutes les boîtes de dialogue de compétences s'affichent dans les rapports Power Bi. Après avoir défini la clé des informations de l'application dans les compétences de la même manière que le VA, nous remplissons toutes les boîtes de dialogue utilisées dans les compétences ainsi que dans le VA.

Tous les 22 commentaires

Merci @ tomSauret847 - nous examinerons ce problème et nous vous répondrons dès que possible !

Salut @ tomSauret847 , juste pour fournir une mise à jour, nous travaillons activement à enquêter sur ce problème et à le reproduire. Une fois que nous avons été en mesure de le faire, nous pouvons fournir les prochaines étapes à partir de là. Merci pour votre patience et désolé pour les retards !

Salut @ tomSauret847 - nous avons réussi à reproduire le problème.

De plus, nous avons essayé de reproduire ce problème dans la compétence TypeScript ainsi que dans un assistant/compétence virtuel C#, mais ils ont correctement fonctionné, cela semble donc être lié uniquement à l' assistant virtuel TypeScript.

Nous souhaitons valider avec vous les étapes de repro que nous avons suivies pour y parvenir :

Étapes de reproduction

  1. Installer Power BI Desktop
  2. Téléchargez le modèle d'analyse de l'assistant virtuel Power BI
  3. Déployer un assistant virtuel TypeScript
  4. Modifiez le fichier index en ajoutant true les deux constructeurs suivants, comme on le voit dans l'image :
    image

  5. Ouvrez le fichier de modèle d'analyse de l'assistant virtuel dans l'application Power BI

  6. Obtenez à partir de vos ressources Application Insights, l'identifiant Application Insights
  7. Ajouter les données précédentes dans la configuration Power BI
  8. Démarrer le bot
  9. Vérifiez que le Power BI reçoit correctement les métriques
  10. Vérifiez que la page d'aperçu de toutes les boîtes de dialogue ne reçoit aucune information

Nous avons utilisé comme guide la documentation Power BI pour configurer et obtenir les métriques Virtual Assistant Insights.

Dès que nous aurons une mise à jour, nous reviendrons vers vous .

_Problème reproduit à l'aide de TypeScript Virtual Assistant_
image

Merci @Batta32 d' avoir examiné cela. J'ai suivi les étapes que vous avez énumérées ci-dessus et j'ai obtenu le même résultat. il semble que cela ait commencé après la mise à niveau vers le package NPM publié, car la première version que nous avions créée avant sa sortie en GA remplissait le contexte de la boîte de dialogue dans le rapport Power BI.

Salut @ tomSauret847 - nous avons fixé avec succès la question dans l'assistant virtuel tapuscrit à venir version 1.0 l' ajout de ces changements dans le PR # 3584, plus précisément ce commit .

Pour contourner le problème pour que votre assistant virtuel TypeScript fonctionne, effectuez les modifications suivantes dans ces fichiers :

  1. Mettre à jour les constructor des boîtes de dialogue en ajoutant l'objet telemetryClient

    //Add the BotTelemetryClient dependency from botbuilder
    import {
        ...
        BotTelemetryClient } from 'botbuilder';
    
    // At the constructor parameter list, add telemetryClient as the final parameter
    public constructor(
        ...,
        telemetryClient: BotTelemetryClient
    ) {
        // Inside the constructor assign the incoming telemetryClient to the local property
        this.telemetryClient = telemetryClient;
        });
    }
    
  2. Envoyez l'objet telemetryClient dans la boîte de dialogue d'initialisation du index.ts

    // Add the telemetryClient as the final parameter in the OnboardingDialog constructor
    const onboardingDialog: OnboardingDialog = new OnboardingDialog(..., telemetryClient);
    
    // Add the telemetryClient as the final parameter in the MainDialog constructor
    const mainDialog: MainDialog = new MainDialog(
         ...
         telemetryClient
    );
    
  3. Une fois cela fait, suivez ces étapes pour configurer les métriques dans votre assistant virtuel à l'aide de Power BI
  4. Vérifiez que le Power BI reçoit correctement les métriques
  5. Vérifiez que la page de présentation de toutes les boîtes de dialogue reçoit les informations du bot

Si vous avez des questions ou des changements, n'hésitez pas à nous demander.

_Mesures de l'assistant virtuel utilisant les modifications_
image

Merci @Batta32 ! Cela a résolu le problème et nous voyons maintenant le contexte de dialogue apparaître dans le rapport Power Bi.

@Batta32 J'avais une question. Nous voyons maintenant les boîtes de dialogue dans les rapports, mais toutes les compétences s'affichent sous la « boîte de dialogue de changement de compétence » et non la compétence. Nous avons activé la télémétrie sur toutes les compétences et la transmettons au constructeur de la même manière que le VA. Me manque-t-il un paramètre dans le constructeur de la boîte de dialogue des compétences ?

Merci @tomSauret847 pour ta réponse ! Nous allons revoir ce scénario et nous reviendrons vers vous dès que nous aurons une mise à jour 😊 !

Merci encore @Batta32 , j'ai également remarqué que le QNAMakerDialog utilisé pour les fabricants de QNA n'a pas de client de télémétrie. Cela empêche également le fabricant de QNA de remplir le rapport.

Merci @tomSauret847 d' avoir attiré notre attention sur le problème QnAMakerDialog. Un correctif que nous avons trouvé consiste à modifier la méthode tryCreateQnADialog et à définir la propriété telemetryClient dans le dialogue QnAMaker (voir les lignes d'image # 201 et # 214).

En effet, QnAMakerDialog s'étend de W aterfallDialog , qui à son tour s'étend de dialog qui a une propriété client de télémétrie mais définie comme NullTelemetryClient.

Nous avons testé ce scénario sur la branche TypeScript Virtual Assistant 1.0 et il y est corrigé sans qu'il soit nécessaire de passer le client de télémétrie en paramètre. En utilisant également les bots C# de master, cela fonctionne comme prévu.

Veuillez nous faire savoir si cela résout l'enregistrement de la télémétrie pour QnAMakerDialog .

Nous continuerons à examiner le problème lié à SwitchSkillDialog .

image

Merci @VictorGrycuk pour cette information. J'ai apporté les modifications et nous voyons maintenant les boîtes de dialogue QNA maker se remplir dans le rapport, comme indiqué ci-dessous. Mais la performance QNA ne se remplit toujours pas. Nous touchons les fabricants de QNA comme le montrent les boîtes de dialogue, mais les performances ne sont pas renseignées dans les rapports.
image

image

Merci @tomSauret847 nous vous répondrons dans les plus brefs délais !

Salut @ tomSauret847 , nous avons reproduit le problème que vous avez mentionné à propos de SwitchSkillDialog et déterminé que cela se produit par conception car en C # le comportement est le même.

Une alternative consiste à définir la clé d'instrumentation pour Virtual Assistant Application Insights dans le fichier appsettings.json de Skills.

  1. Suivez les étapes pour activer la télémétrie
  2. Après avoir déployé l'assistant virtuel, copiez la valeur instrumentationKey à partir de son fichier appsettings
  3. Après avoir déployé la compétence, remplacez les compétences, remplacez leur instrumentationKey par celle copiée à l'étape 2
  4. Démarrez l'assistant virtuel et appelez les compétences
  5. Les appels aux boîtes de dialogue de compétences commenceront à être enregistrés dans Power BI

Remarque : N'oubliez pas que les boîtes de dialogue portant le même nom dans plusieurs robots, telles que MainDialog , seront regroupées .

Nous serons attentifs à votre réponse, et nous examinerons la question de QnA Performance 😊.

image

Plus de détails

Étant donné qu'au moment du déploiement, chaque bot crée sa propre ressource d'aperçu d'application, la télémétrie de chaque bot est isolée les unes des autres, donc pour contourner ce problème et voir la télémétrie de tous les bots dans le même tableau de bord Power BI, il est nécessaire de définir la même clé d'instrumentation dans leurs paramètres.

Nous avons recherché pourquoi SwitchSkillDialog était enregistré dans le tableau de bord Power BI et avons constaté qu'il enregistrait la propriété id des boîtes de dialogue.

Dans cet esprit, nous avons vérifié quel était le id du SwitchSkillDialog au moment du changement, et avons constaté qu'il aura toujours son propre nom comme id , quelle que soit la compétence vers laquelle il passe.

image

Merci @VictorGrycuk J'ai apporté les modifications que vous avez décrites ci-dessus et maintenant toutes les boîtes de dialogue de compétences s'affichent dans les rapports Power Bi. Après avoir défini la clé des informations de l'application dans les compétences de la même manière que le VA, nous remplissons toutes les boîtes de dialogue utilisées dans les compétences ainsi que dans le VA.

Excellent @tomSauret847 , bon à savoir que cela a fonctionné.
Nous allons maintenant nous concentrer sur les raisons pour lesquelles les performances QnA ne sont pas renseignées, dès que nous aurons une mise à jour, nous vous le ferons savoir.

Salut @tomSauret847 , nous venons de reproduire le problème que vous avez signalé à propos de QnA dans TypeScript n'affichant pas les performances.

Nous avons testé cela avec un assistant utilisant la branche master ainsi que la version 1.0, avec des résultats égaux dans les deux cas.

Environnement utilisé :

  • Assistant virtuel TS avec les lignes de télémétrie activées dans index.ts. Déployé sur Azure
  • App Insights connecté à l'Assistant
  • Modèle d'analyse Power BI avec assistant virtuel

Étapes utilisées :

  1. Parlez à l'assistant virtuel en utilisant un énoncé qui déclencherait QnA (par exemple "qu'est-ce qu'un assistant virtuel")
  2. Ouvrez le modèle d'analyse de l'assistant virtuel à partir de Power BI, en utilisant l'ID d'application de l'App Insights qui y est connecté
  3. Vérifiez que le QnA n'affiche pas les performances

Nous allons travailler sur un correctif pour cela à la fois dans le maître et dans la version 1.0. Merci encore pour le signalement.

image

Salut @ tomSauret847 , nous pourrions reproduire le problème avec les boîtes de dialogue QnA Maker n'affichant pas les performances dans Power BI.
Malheureusement, cela semble être un problème avec le SDK BotBuilder , nous avons donc soulevé le problème microsoft/botbuilder-js#2779. Vous pouvez suivre ce problème afin d'avoir les nouvelles du problème.

Afin d'afficher les informations de performance QnA, il est nécessaire, entre autres, d'activer la transmission d'informations personnellement identifiables (PII) comme mentionné dans ce commentaire du numéro 3447.

Nous avons cependant observé que l'indicateur référencé _logPersonalInformation_ n'est pas présent dans la classe QnAMakerDialog de BotBuilder-JS, contrairement à la même classe de BotBuilder-Dotnet .
En plus de cela, la création de l'objet QnAMaker à la méthode getQnAClient omet à nouveau de passer le drapeau via le constructeur pour la journalisation des informations personnelles, comme indiqué ci-dessous.
image
image

Nous avons testé ces modifications en modifiant manuellement la classe QnAMakerDialog dans node_modules, dans notre bot local, en ajoutant le drapeau logPersonalInformation forcé à true :

public logPersonalInformation: BoolExpression = new BoolExpression(true);

Puis remettre le drapeau à QnAMaker à la méthode getQnAClient :

    /**
     * Creates and returns an instance of the QnAMaker class used to query the knowledgebase.
    **/
    private getQnAClient(): QnAMaker {
        const endpoint = {
            knowledgeBaseId: this.knowledgeBaseId,
            endpointKey: this.endpointKey,
            host: this.getHost()
        };
        const options = this.getQnAMakerOptions();
        return new QnAMaker(endpoint, options, this.telemetryClient, this.logPersonalInformation.value);
    }

Et nous pouvions voir les informations QnA dans Power BI
image

Merci @matiasroldan6 d' avoir examiné cela. J'ai souscrit à ce problème, je resterai donc au courant de la mise en œuvre d'un correctif.

Ce numéro est obsolète car il est ouvert depuis 30 jours sans activité. Supprimez l'étiquette ou le commentaire obsolète ou cela sera fermé dans 5 jours

@matiasroldan6 Attendons -nous toujours que cela soit corrigé dans le repo Botbuilder-js ?

Oui @tomSauret847 , ce dernier problème était une disparité dans le SDK que nous avons soulevée dans microsoft/botbuilder-js#2779. L'équipe SDK a confirmé la disparité et travaille actuellement pour résoudre ce problème.

Si vous êtes d'accord, nous pouvons clore ce problème et dès que nous aurons des nouvelles de l'équipe SDK, nous vous répondrons ici 😊.

Merci @Batta32 Je vais fermer ce problème et regarder celui que vous avez fourni.

Cette page vous a été utile?
0 / 5 - 0 notes