Botframework-solutions: El contexto del cuadro de diálogo no aparece en el informe de Power Bi

Creado en 10 ago. 2020  ·  22Comentarios  ·  Fuente: microsoft/botframework-solutions

¿Qué proyecto se ve afectado?

Informe de Power Bi para Asistente virtual y habilidades

¿En qué idioma es esto?

Mecanografiado

¿Lo que pasa?

No podemos hacer que aparezca ningún contexto de diálogo en el panel de Power Bi. Hemos actualizado el registrador de telemetría para registrar PII, pero todavía no obtenemos ningún contexto de diálogo en el informe. Todas las demás pestañas se están completando correctamente, simplemente no podemos ver ningún resultado en las pestañas de diálogo

¿Cuáles son los pasos para reproducir este problema?

Crear asistente virtual,
Agregue el valor booleano "verdadero" al registrador de telemetría
const telemetryLoggerMiddleware = new TelemetryLoggerMiddleware (telemetryClient, verdadero);
const telemetryInitializerMiddleware = nuevo TelemetryInitializerMiddleware (telemetryLoggerMiddleware, true);
Consulte las pestañas "Descripción general de todos los cuadros de diálogo" y "Descripción general de los cuadros de diálogo" en el informe de Power Bi

¿Qué esperabas que sucediera?

Información del cuadro de diálogo que se completará en el informe

¿Puede compartir algún registro, salida de error, etc.?

No hay errores presentes

¿Alguna captura de pantalla o contexto adicional?

image

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

Comentario más útil

Gracias @VictorGrycuk Hice los cambios que describiste anteriormente y ahora todos los diálogos de habilidades se muestran en los informes de Power Bi. Después de configurar la clave de información de la aplicación en las habilidades de la misma manera que la VA, estamos completando todos los cuadros de diálogo utilizados en las Habilidades y en la VA.

Todos 22 comentarios

Gracias @ tomSauret847 ,

Hola @ tomSauret847 , solo para proporcionar una actualización, estamos trabajando activamente en la investigación de este problema y trabajando para reproducirlo. Una vez que hayamos podido hacerlo, podemos proporcionar los siguientes pasos a partir de ahí. ¡Gracias por su paciencia y disculpas por los retrasos!

Hola @ tomSauret847 : reproducimos el problema con éxito.

Además, tratamos de reproducir este problema en el texto mecanografiado Habilidad, así como en un asistente virtual C # / Habilidad pero trabajamos correctamente, así que esto parece estar relacionado con el texto mecanografiado solamente asistente virtual.

Nos gustaría validar con usted los pasos de reproducción que seguimos para lograr esto:

Pasos de reproducción

  1. Instalar Power BI Desktop
  2. Descargar la plantilla de Power BI de análisis de Virtual Assistant
  3. Implementar un asistente virtual de TypeScript
  4. Modifique el archivo index agregando verdaderos los siguientes dos constructores, como se ve en la imagen:
    image

  5. Abra el archivo de plantilla de análisis del Asistente virtual en la aplicación Power BI

  6. Obtenga de sus recursos de Application Insights, el ID de Application Insights
  7. Agregar los datos anteriores en la configuración de Power BI
  8. Inicie el bot
  9. Verifique que Power BI esté recibiendo las métricas correctamente
  10. Verifique que la página de descripción general de todos los cuadros de diálogo no esté recibiendo ningún tipo de información

Usamos como guía la documentación de Power BI para configurar y obtener las métricas de Virtual Assistant Insights.

Tan pronto como tengamos alguna actualización, te responderemos 😊.

_Edición reproducida con el Asistente virtual de TypeScript_
image

Gracias @ Batta32 por investigar esto. Seguí los pasos que mencionaste anteriormente y obtuve el mismo resultado. Parece que esto comenzó después de la actualización al paquete NPM publicado, ya que la primera versión que habíamos creado antes de que fuera GA estaba llenando el contexto de diálogo en el informe de Power BI.

Hola @ tomSauret847 : solucionamos con éxito el problema en la próxima versión 1.0 de TypeScript Virtual Assistant, agregando esos cambios en el PR # 3584, específicamente esta confirmación .

Como solución temporal para que funcione el Asistente virtual de TypeScript, realice los siguientes cambios en estos archivos:

  1. Actualice constructor de los diálogos agregando el objeto 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. Envíe el objeto telemetryClient en la inicialización del diálogo de 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. Una vez hecho esto, siga estos pasos para configurar las métricas en su Asistente virtual usando Power BI
  4. Verifique que Power BI esté recibiendo las métricas correctamente
  5. Verifique que la página de descripción general de todos los cuadros de diálogo esté recibiendo la información del bot

Si tiene alguna pregunta o cambio, no dude en consultarnos.

_ Métricas de Virtual Assistant usando los cambios_
image

¡Gracias @ Batta32! Esto resolvió el problema y ahora vemos que el contexto del diálogo aparece en el informe de Power Bi.

@ Batta32 Tenía una pregunta. Ahora estamos viendo los diálogos en los informes, pero todas las habilidades se muestran en el "Diálogo de cambio de habilidad" y no la habilidad. Tenemos la telemetría habilitada en todas las habilidades y la estamos pasando al constructor al igual que el VA. ¿Me falta una configuración en el constructor de diálogo de habilidades?

¡Gracias @ tomSauret847 por su respuesta! Revisaremos este escenario y te responderemos tan pronto como tengamos alguna actualización 😊.

Gracias de nuevo @ Batta32 , también noté que el QNAMakerDialog que se usa para los creadores de QNA no tiene un cliente de telemetría pasado. Esto evita que el creador de QNA también se complete en el informe.

Gracias @ tomSauret847 por llamar nuestra atención sobre el problema de QnAMakerDialog. Una solución que encontramos es modificar el método tryCreateQnADialog y establecer la propiedad telemetryClient en el cuadro de diálogo QnAMaker (ver línea de imagen # 201 y # 214).

Esto se debe a que QnAMakerDialog se extiende desde W aterfallDialog , que a su vez se extiende desde dialog que sí tiene una propiedad de cliente de telemetría pero se establece como NullTelemetryClient.

Probamos este escenario en la rama TypeScript Virtual Assistant 1.0 y se solucionó allí sin la necesidad de pasar el cliente de telemetría como parámetro. También usando los bots C # del maestro, esto está funcionando como se esperaba.

Háganos saber si esto corrige el registro de telemetría de QnAMakerDialog .

Continuaremos revisando el problema relacionado con SwitchSkillDialog .

image

Gracias @VictorGrycuk por esta información. He realizado los cambios y ahora estamos viendo los diálogos del creador de QNA que aparecen en los informes, como se muestra a continuación. Pero el rendimiento de QNA todavía no se está poblando. Estamos atacando a los creadores de QNA como se muestra en los diálogos, pero el rendimiento no se completa en los informes.
image

image

Gracias @ tomSauret847, te

Hola @ tomSauret847 , reproducimos el problema que mencionaste sobre SwitchSkillDialog y determinamos que esto sucede por diseño, ya que en C # el comportamiento es el mismo.

Una alternativa es establecer la clave de instrumentación para las perspectivas de la aplicación del asistente virtual en el archivo appsettings.json de las habilidades.

  1. Siga los pasos para activar la telemetría
  2. Después de implementar el Asistente virtual, copie el valor de instrumentationKey de su archivo de configuración de aplicaciones
  3. Después de implementar la habilidad, reemplace las habilidades, reemplace su instrumentationKey con el que se copió en el paso 2
  4. Inicie el Asistente virtual y llame a las habilidades
  5. Las llamadas a los cuadros de diálogo de habilidades comenzarán a registrarse en Power BI

Nota: Tenga en cuenta que los cuadros de diálogo que tienen el mismo nombre en varios bots, como MainDialog , se agruparán .

Estaremos atentos a su respuesta y revisaremos el problema de QnA Performance 😊.

image

Más detalles

Dado que en el momento de la implementación cada bot crea su propio recurso de conocimiento de la aplicación, la telemetría de cada bot está aislada entre sí, por lo que para solucionar esto y ver la telemetría de todos los bots en el mismo panel de Power BI es necesario configurar la misma clave de instrumentación en su configuración.

Investigamos por qué se estaba registrando SwitchSkillDialog en el panel de Power BI y descubrimos que registra la propiedad id de los diálogos.

Con esto en mente, verificamos cuál era el id del SwitchSkillDialog en el momento del cambio, y descubrimos que siempre tendrá su propio nombre como identificación , sin importar la habilidad a la que se esté cambiando.

image

Gracias @VictorGrycuk Hice los cambios que describiste anteriormente y ahora todos los diálogos de habilidades se muestran en los informes de Power Bi. Después de configurar la clave de información de la aplicación en las habilidades de la misma manera que la VA, estamos completando todos los cuadros de diálogo utilizados en las Habilidades y en la VA.

Excelente @ tomSauret847 , es bueno saber que funcionó.
Ahora nos centraremos en por qué no se completa el rendimiento de QnA, tan pronto como tengamos alguna actualización se lo haremos saber.

Hola @ tomSauret847 , acabamos de reproducir el problema que informó acerca de que QnA en TypeScript no muestra el rendimiento.

Probamos esto con un Asistente usando la rama maestra, así como la versión 1.0, con resultados iguales en ambos casos.

Entorno utilizado:

  • TS Virtual Assistant con las líneas de telemetría habilitadas en index.ts. Implementado en Azure
  • App Insights conectado al Asistente
  • Plantilla de análisis de Power BI con asistente virtual

Pasos utilizados:

  1. Hable con el asistente virtual utilizando una expresión que desencadenaría QnA (por ejemplo, "qué es un asistente virtual")
  2. Abra la plantilla de análisis de Virtual Assistant de Power BI, utilizando el Id. De aplicación de App Insights que está conectado a él.
  3. Verifique que el QnA no muestre rendimiento

Trabajaremos en una solución para esto tanto en master como en 1.0. Gracias de nuevo por informarnos.

image

Hola @ tomSauret847 , podríamos reproducir el problema con los cuadros de diálogo de QnA Maker que no muestran el rendimiento en Power BI.
Desafortunadamente, parece ser un problema con BotBuilder SDK, por lo que planteamos el problema microsoft / botbuilder-js # 2779. Puede rastrear ese problema para tener noticias del problema.

Para mostrar la información de rendimiento de QnA, es necesario, entre otras cosas, habilitar la transmisión de información de identificación personal (PII) como se menciona en este comentario del número 3447.

Sin embargo, observamos que la bandera referenciada _logPersonalInformation_ no está presente en la clase QnAMakerDialog en BotBuilder-JS, a diferencia de la misma clase de BotBuilder-Dotnet .
Además de eso, la creación del objeto QnAMaker en el método getQnAClient está omitiendo una vez más pasar la bandera a través del constructor para registrar información personal, como se ve a continuación.
image
image

Probamos hacer esos cambios modificando manualmente la clase QnAMakerDialog en node_modules, en nuestro bot local, agregando el indicador logPersonalInformation forzado a verdadero:

public logPersonalInformation: BoolExpression = new BoolExpression(true);

Luego, entregando la bandera a QnAMaker en el método 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);
    }

Y pudimos ver la información de QnA en Power BI
image

Gracias @ matiasroldan6 por investigar esto. Me he suscrito a ese problema, así que me mantendré actualizado a medida que implementen una solución.

Este problema está obsoleto porque ha estado abierto 30 días sin actividad. Quite la etiqueta obsoleta o el comentario o esto se cerrará en 5 días

@ matiasroldan6 ¿

Sí, @ tomSauret847 , este último problema fue una disparidad en el SDK que planteamos en microsoft / botbuilder-js # 2779. El equipo de SDK confirmó la disparidad y actualmente están trabajando para solucionarlo.

Si está de acuerdo, podemos cerrar este problema y tan pronto como tengamos alguna actualización sobre el equipo de SDK, le responderemos aquí 😊.

Gracias @ Batta32 Cerraré este problema y

¿Fue útil esta página
0 / 5 - 0 calificaciones