Botframework-solutions: Dialogkontext wird im Power Bi-Bericht nicht angezeigt

Erstellt am 10. Aug. 2020  ·  22Kommentare  ·  Quelle: microsoft/botframework-solutions

Welches Projekt ist betroffen?

Power Bi-Bericht für Virtual Assistant und Fähigkeiten

In welcher Sprache ist das?

Typoskript

Was geschieht?

Wir können keinen Dialogkontext abrufen, der im Power Bi-Dashboard angezeigt wird. Wir haben den Telemetrie-Logger aktualisiert, um PII aufzuzeichnen, erhalten aber immer noch keinen Dialogkontext im Bericht. Alle anderen Tabs werden korrekt ausgefüllt, wir können nur keine Ausgabe auf den Dialog-Tabs sehen

Was sind die Schritte, um dieses Problem zu reproduzieren?

Virtuellen Assistenten erstellen,
Fügen Sie dem Telemetrie-Logger den booleschen Wert "true" hinzu
const telemetryLoggerMiddleware = new TelemetryLoggerMiddleware(telemetryClient, true);
const telemetryInitializerMiddleware = new TelemetryInitializerMiddleware(telemetryLoggerMiddleware, true);
Überprüfen Sie die Registerkarten "All Dialogs Overview" und "Dialog Overview" im Power Bi-Bericht

Was haben Sie erwartet?

Dialoginformationen, die im Bericht ausgefüllt werden sollen

Können Sie Protokolle, Fehlerausgaben usw. freigeben?

Es sind keine Fehler vorhanden

Irgendwelche Screenshots oder zusätzlichen Kontext?

image

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

Hilfreichster Kommentar

Danke @VictorGrycuk Ich habe die oben beschriebenen Änderungen vorgenommen und jetzt werden alle Fertigkeitsdialoge in der Power Bi-Berichterstellung

Alle 22 Kommentare

Danke @tomSauret847 - wir werden dieses Problem

Hallo @tomSauret847 , nur um ein Update bereitzustellen, wir arbeiten aktiv daran, dieses Problem zu untersuchen und dieses Problem zu reproduzieren. Sobald uns dies gelungen ist, können wir von dort aus die nächsten Schritte bereitstellen. Vielen Dank für Ihre Geduld und entschuldigen Sie die Verzögerungen!

Hallo @tomSauret847 - wir haben das Problem erfolgreich reproduziert .

Auch haben wir versucht , dieses Problem im Typoskript Fähigkeit zur Reproduktion sowie in einem C # Virtual Assistant / Skill , aber sie richtig gearbeitet, so dass diese nur auf die Typoskript Virtual Assistant verwandt zu sein scheint.

Wir möchten mit Ihnen die Repro-Schritte validieren , die wir befolgt haben, um dies zu erreichen:

Repro-Schritte

  1. Power BI Desktop installieren
  2. Laden Sie die Power BI-Vorlage für die Analyse des
  3. Bereitstellen eines virtuellen TypeScript-Assistenten
  4. Ändern Sie die Datei index fügen Sie die folgenden zwei Konstruktoren hinzu, wie im Bild zu sehen:
    image

  5. Öffnen Sie die Analysevorlagendatei von Virtual Assistant in der Power BI-Anwendung

  6. Beziehen Sie von Ihren Application Insights-Ressourcen die Application Insights-ID
  7. Fügen Sie die vorherigen Daten in der Power BI-Konfiguration hinzu
  8. Starten Sie den Bot
  9. Überprüfen Sie, ob Power BI die Metriken korrekt empfängt
  10. Stellen Sie sicher, dass die Übersichtsseite aller Dialoge keine Informationen erhält

Wir haben die Power BI- Dokumentation als Leitfaden zum Konfigurieren und Abrufen der Virtual Assistant Insights-Metriken verwendet.

Sobald wir ein Update haben, melden wir uns wieder .

_Problem reproduziert mit TypeScript Virtual Assistant_
image

Danke @Batta32, dass du dir das

Hallo @tomSauret847 - wir haben das Problem in der kommenden Version 1.0 von TypeScript Virtual Assistant erfolgreich behoben, indem wir diese Änderungen in PR #3584 hinzugefügt haben, insbesondere dieses Commit .

Um Ihren virtuellen TypeScript-Assistenten zum Laufen zu bringen, nehmen Sie als Problemumgehung die folgenden Änderungen an diesen Dateien vor:

  1. Aktualisieren Sie die constructor der Dialoge, indem Sie das telemetryClient Objekt hinzufügen

    //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. Senden Sie das telemetryClient Objekt im Dialog Initialisierung des 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. Führen Sie anschließend diese Schritte aus, um die Metriken in Ihrem Virtual Assistant mit Power BI einzurichten
  4. Überprüfen Sie, ob Power BI die Metriken korrekt empfängt
  5. Stellen Sie sicher, dass die Übersichtsseite aller Dialoge die Bot-Informationen empfängt

Wenn Sie Fragen oder Änderungen haben, zögern Sie nicht, uns zu fragen.

_Messwerte des virtuellen Assistenten, die die Änderungen verwenden_
image

Danke @Batta32! Dadurch wurde das Problem behoben und der Dialogkontext wird jetzt im Power Bi-Bericht angezeigt.

@Batta32 Ich habe eine Frage. Wir sehen jetzt die Dialoge in der Berichterstattung, aber alle Skills werden unter dem "Switch Skill Dialog" angezeigt und nicht der Skill. Wir haben die Telemetrie für alle Skills aktiviert und übergeben sie genauso an den Konstruktor wie die VA. Fehlt mir eine Einstellung im Skill-Dialog-Konstruktor?

Danke @tomSauret847 für deine Antwort! Wir werden dieses Szenario überprüfen und uns bei Ihnen melden, sobald wir ein Update haben 😊!

Nochmals vielen Dank

Danke @tomSauret847 , die uns auf das QnAMakerDialog-Problem aufmerksam gemacht haben. Eine Lösung, die wir gefunden haben, besteht darin, die Methode tryCreateQnADialog zu ändern und die telemetryClient im QnAMaker-Dialog zu setzen (siehe Bildzeile # 201 & # 214).

Dies liegt daran , QnAMakerDialog aus erstreckt W aterfallDialog , was wiederum erstreckt sich von dialogthat hat einen haben Telemetrie Client -

Wir haben dieses Szenario im TypeScript Virtual Assistant 1.0-Zweig getestet und es ist dort behoben, ohne dass der Telemetrie-Client als Parameter übergeben werden muss. Auch mit den C#-Bots von master funktioniert dies wie erwartet.

Bitte teilen Sie uns mit, ob dies die Telemetrieregistrierung für QnAMakerDialog behebt.

Wir werden das Problem im Zusammenhang mit SwitchSkillDialog weiterhin prüfen.

image

Danke @VictorGrycuk für diese Informationen. Ich habe die Änderungen vorgenommen und wir sehen, dass die QNA-Ersteller-Dialoge jetzt in der Berichterstattung erscheinen, wie unten gezeigt. Aber die QNA-Leistung ist immer noch nicht aufgefüllt. Wir treffen die QNA-Hersteller, wie in den Dialogen gezeigt, aber die Leistung wird nicht in die Berichterstattung aufgenommen.
image

image

Danke @tomSauret847 wir werden uns so schnell wie möglich bei Ihnen

Hallo @ tomSauret847, reproduzierten wir das Problem , das Sie über die SwitchSkillDialog erwähnt und festgestellt , dass dies geschieht durch Design wie in C # das Verhalten ist das gleiche.

Eine Alternative besteht darin, den Instrumentierungsschlüssel für die Virtual Assistant Application Insights in der appsettings.json der Skills festzulegen.

  1. Folgen Sie den Schritten, um die Telemetrie zu
  2. Kopieren Sie nach der Bereitstellung des virtuellen Assistenten den instrumentationKey- Wert aus seiner appsettings-Datei
  3. Ersetzen Sie nach dem Bereitstellen des Skills Skills und ersetzen Sie ihren instrumentationKey Wert durch den in Schritt 2 kopierten
  4. Starten Sie den virtuellen Assistenten und rufen Sie die Fähigkeiten auf
  5. Die Aufrufe der Skill-Dialoge werden in Power BI registriert

Hinweis: Denken Sie daran, dass Dialoge, die in mehreren Bots denselben Namen haben, z. B. MainDialog , gruppiert werden .

Wir werden Ihre Antwort aufmerksam verfolgen und das Problem der QnA-Leistung überprüfen.

image

Mehr Details

Da jeder Bot zum Zeitpunkt der Bereitstellung seine eigene Application Insight-Ressource erstellt, ist die Telemetrie jedes Bots voneinander isoliert denselben Instrumentierungsschlüssel in ihren Einstellungen.

Wir haben untersucht, warum SwitchSkillDialog im Power BI-Dashboard registriert wurde, und festgestellt, dass die Eigenschaft id der Dialogfelder registriert wird.

Vor diesem Hintergrund haben wir den id des SwitchSkillDialog zum Zeitpunkt des Wechsels überprüft und festgestellt, dass er immer seinen eigenen Namen als id hat , egal zu welchem ​​Skill er wechselt.

image

Danke @VictorGrycuk Ich habe die oben beschriebenen Änderungen vorgenommen und jetzt werden alle Fertigkeitsdialoge in der Power Bi-Berichterstellung

Ausgezeichnet @ tomSauret847 , gut zu wissen, dass es funktioniert hat.
Wir werden uns jetzt darauf konzentrieren, warum die QnA-Leistung nicht ausgefüllt ist. Sobald wir ein Update haben, werden wir Sie darüber informieren.

Hallo @tomSauret847 , wir haben gerade das Problem reproduziert, das Sie über QnA in TypeScript gemeldet haben, das keine Leistung anzeigt.

Wir haben dies mit einem Assistenten unter Verwendung des Master-Zweigs sowie der Release-Version 1.0 getestet, mit gleichen Ergebnissen in beiden Fällen.

Verwendete Umgebung:

  • TS Virtual Assistant mit den in index.ts aktivierten Telemetrieleitungen. In Azure bereitgestellt
  • Mit Assistant verbundene App Insights
  • Analysevorlage für Power BI mit Virtual Assistant

Verwendete Schritte:

  1. Sprechen Sie mit dem virtuellen Assistenten, indem Sie eine Äußerung verwenden, die QnA auslösen würde (z. B. "Was ist ein virtueller Assistent")
  2. Öffnen Sie die Virtual Assistant-Analysevorlage aus Power BI mit der Anwendungs-ID aus den damit verbundenen App Insights
  3. Überprüfen Sie, ob der QnA keine Leistung anzeigt

Wir werden an einem Fix dafür sowohl in Master als auch in 1.0 arbeiten. Danke nochmal für die Berichterstattung.

image

Hallo @tomSauret847 , wir konnten das Problem mit den QnA Maker-Dialogfeldern reproduzieren, die in Power BI keine Leistung anzeigen.
Leider scheint es ein Problem mit dem BotBuilder SDK zu sein, daher haben wir das Problem microsoft/botbuilder-js#2779 angesprochen. Sie können dieses Problem verfolgen, um die Neuigkeiten über das Problem zu erhalten.

Um die QnA-Leistungsinformationen anzuzeigen, ist es unter anderem erforderlich, die Übertragung von personenbezogenen Daten (PII) zu ermöglichen, wie in diesem Kommentar zur Ausgabe #3447 erwähnt.

Wir haben jedoch festgestellt, dass das referenzierte Flag _logPersonalInformation_ nicht in der QnAMakerDialog-Klasse in BotBuilder-JS vorhanden ist, im Gegensatz zu derselben Klasse von BotBuilder-Dotnet .
Darüber hinaus wird bei der Erstellung des QnAMaker-Objekts in der Methode getQnAClient erneut das Flag durch den Konstruktor zum Protokollieren persönlicher Informationen übergeben, wie unten zu sehen ist.
image
image

Wir haben die Durchführung dieser Änderungen getestet, indem wir die QnAMakerDialog-Klasse in node_modules in unserem lokalen Bot manuell geändert und das logPersonalInformation-Flag auf true gesetzt haben:

public logPersonalInformation: BoolExpression = new BoolExpression(true);

Dann Übergabe des Flags an QnAMaker bei der Methode 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);
    }

Und wir konnten die QnA-Informationen in Power BI sehen
image

Vielen Dank @matiasroldan6, dass Sie sich das

Dieses Problem ist veraltet, da es seit 30 Tagen ohne Aktivität geöffnet war. Entferne veraltetes Label oder Kommentar oder dies wird in 5 Tagen geschlossen

@matiasroldan6 Warten wir immer noch darauf, dass dies im Botbuilder-js-Repository behoben wird?

Ja @tomSauret847 , dieses letzte Problem war eine Ungleichheit im SDK, die wir in microsoft/botbuilder-js#2779 angesprochen haben. Das SDK-Team hat die Ungleichheit bestätigt und arbeitet derzeit daran, dies zu beheben.

Wenn Sie damit einverstanden sind, können wir dieses Problem schließen und sobald wir ein Update zum SDK-Team haben, werden wir uns hier bei Ihnen melden 😊.

Danke @Batta32 Ich werde dieses Problem schließen und das von Ihnen bereitgestellte ansehen.

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen