Botframework-solutions: O contexto da caixa de diálogo não aparece no relatório Power Bi

Criado em 10 ago. 2020  ·  22Comentários  ·  Fonte: microsoft/botframework-solutions

Qual projeto é afetado?

Relatório Power Bi para Assistente Virtual e habilidades

Em que idioma está isso?

TypeScript

O que acontece?

Não foi possível fazer com que nenhum contexto de diálogo apareça no painel do Power Bi. Atualizamos o registrador de telemetria para registrar PII, mas ainda não estamos obtendo nenhum contexto de diálogo no relatório. Todas as outras guias estão sendo preenchidas corretamente, mas não conseguimos ver nenhuma saída nas guias da caixa de diálogo

Quais são as etapas para reproduzir esse problema?

Crie um assistente virtual,
Adicione o valor booleano "true" ao registrador de telemetria
const telemetryLoggerMiddleware = novo TelemetryLoggerMiddleware (telemetryClient, true);
const telemetryInitializerMiddleware = novo TelemetryInitializerMiddleware (telemetryLoggerMiddleware, true);
verifique as guias "Visão geral de todos os diálogos" e "Visão geral dos diálogos" no relatório power Bi

O que você esperava que acontecesse?

Informações da caixa de diálogo a serem preenchidas no relatório

Você pode compartilhar algum registro, saída de erro, etc.?

Nenhum erro está presente

Alguma captura de tela ou contexto adicional?

image

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

Comentários muito úteis

Obrigado @VictorGrycuk. Fiz as alterações que você descreveu acima e agora todos os diálogos de habilidades estão sendo exibidos no relatório do Power Bi. Depois de definir os insights do aplicativo nas habilidades da mesma forma que o VA, estamos preenchendo todos os diálogos usados ​​nas Habilidades e também no VA.

Todos 22 comentários

Obrigado @ tomSauret847 - analisaremos este problema e responderemos o mais

Olá @ tomSauret847 , apenas para fornecer uma atualização, estamos trabalhando ativamente na investigação desse problema e na reprodução desse problema. Assim que pudermos fazer isso, poderemos fornecer as próximas etapas a partir daí. Obrigado pela sua paciência e pedimos desculpas pelos atrasos!

Olá @ tomSauret847 - reproduzimos o problema com sucesso.

Além disso, nós tentamos reproduzir este problema na habilidade do texto dactilografado, bem como em um C # Virtual Assistant / Engenho mas eles corretamente trabalhou, de modo que este parece estar relacionada com o texto datilografado única assistente virtual.

Gostaríamos de validar com você as etapas de reprodução que seguimos para realizar isso:

Etapas Repro

  1. Instale o Power BI Desktop
  2. Baixe o modelo analítico do
  3. Implantar um Assistente Virtual TypeScript
  4. Modifique o arquivo index adicionando verdadeiros os dois construtores a seguir, como pode ser visto na imagem:
    image

  5. Abra o arquivo de modelo de análise do Virtual Assistant no aplicativo Power BI

  6. Obtenha de seus recursos do Application Insights, a id do Application Insights
  7. Adicione os dados anteriores na configuração do Power BI
  8. Inicie o bot
  9. Verifique se o Power BI está recebendo as métricas corretamente
  10. Verifique se a página de visão geral de todas as caixas de diálogo não está recebendo nenhum tipo de informação

Usamos como guia a documentação do Power BI para configurar e obter as métricas do Virtual Assistant Insights.

Assim que tivermos alguma atualização, entraremos em contato com você 😊.

_Issue reproduzido usando TypeScript Virtual Assistant_
image

Obrigado @ Batta32 por investigar isso. Eu segui as etapas que você listou acima e recebi o mesmo resultado. parece que isso começou após a atualização do pacote NPM publicado, já que a primeira versão que construímos antes de ir para o GA preenchia o contexto da caixa de diálogo no relatório do Power BI.

Oi @ tomSauret847 - nós corrigido com êxito a questão no Assistente Virtual typescript próximos versão 1.0 adicionar essas mudanças no PR # 3584, especificamente neste cometer .

Como uma solução alternativa para fazer seu Assistente Virtual TypeScript funcionar, faça as seguintes alterações nestes arquivos:

  1. Atualize constructor das caixas de diálogo adicionando o 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. Envie o objeto telemetryClient na caixa de diálogo de inicialização 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. Depois de fazer isso, siga estas etapas para configurar as métricas em seu Assistente Virtual usando o Power BI
  4. Verifique se o Power BI está recebendo as métricas corretamente
  5. Verifique se a página de visão geral de todos os diálogos está recebendo as informações do bot

Se você tiver alguma dúvida ou alteração, não hesite em nos perguntar.

_Métricas do assistente virtual usando as alterações_
image

Obrigado @ Batta32! Isso resolveu o problema e agora estamos vendo o contexto da caixa de diálogo aparecer no relatório do Power Bi.

@ Batta32 Eu tenho uma pergunta. Estamos vendo os diálogos no relatório agora, mas todas as habilidades estão aparecendo na "caixa de diálogo Alternar habilidade" e não a habilidade. Temos a telemetria ativada em todas as habilidades e a estamos passando para o construtor da mesma forma que o VA. Estou perdendo uma configuração no construtor de diálogo de habilidade?

Obrigado @ tomSauret847 pela sua resposta! Estaremos revendo este cenário e responderemos a você assim que tivermos alguma atualização 😊!

Obrigado novamente @ Batta32 , também notei que o QNAMakerDialog que é usado para os fabricantes de QNA, não tem cliente de telemetria passado para ele. Isso evita que o criador do QNA também preencha o relatório.

Obrigado @ tomSauret847 chamando nossa atenção para o problema QnAMakerDialog. Uma correção que encontramos é modificar o método tryCreateQnADialog e definir a propriedade telemetryClient na caixa de diálogo QnAMaker (consulte a linha de imagem # 201 e # 214).

Isso ocorre porque QnAMakerDialog se estende de W aterfallDialog , que por sua vez se estende de dialogthat tem uma propriedade de cliente de telemetria, mas definida como NullTelemetryClient.

Testamos esse cenário na ramificação do TypeScript Virtual Assistant 1.0 e ele foi corrigido sem a necessidade de passar o cliente de telemetria como parâmetro. Também usando os bots C # do mestre, isso está funcionando conforme o esperado.

Informe-nos se isso corrige o registro de telemetria de QnAMakerDialog .

Continuaremos analisando o problema relacionado a SwitchSkillDialog .

image

Obrigado @VictorGrycuk por esta informação. Fiz as alterações e estamos vendo os diálogos do fabricante do QNA sendo preenchidos no relatório agora, conforme mostrado abaixo. Mas o desempenho do QNA ainda não está populando. Estamos atingindo os fabricantes de QNA conforme mostrado pelos diálogos, mas o desempenho não está sendo preenchido nos relatórios.
image

image

Obrigado @ tomSauret847 .

Olá @ tomSauret847 , reproduzimos o problema que você mencionou sobre o SwitchSkillDialog e determinamos que isso acontece por design, pois em C # o comportamento é o mesmo.

Uma alternativa é definir a chave de instrumentação para o Virtual Assistant Application Insights no appsettings.json de Skills.

  1. Siga as etapas para ativar a telemetria
  2. Depois de implantar o Virtual Assistant, copie o valor instrumentationKey de seu arquivo appsettings
  3. Depois de implantar a habilidade, substitua as habilidades, substitua seu instrumentationKey por aquele copiado na etapa 2
  4. Inicie o Assistente Virtual e chame as habilidades
  5. As chamadas para os diálogos de habilidade começarão a ser registradas no Power BI

Nota: tenha em mente que as caixas de diálogo que têm o mesmo nome em vários bots, como MainDialog , serão agrupadas .

Estaremos atentos à sua resposta e revisaremos a questão do Desempenho de QnA 😊.

image

Mais detalhes

Como no momento da implantação, cada bot cria seu próprio recurso de insight do aplicativo, a telemetria de cada bot é isolada uns dos outros, portanto, para contornar isso e ver a telemetria de todos os bots no mesmo painel do Power BI, é necessário definir a mesma chave de instrumentação em suas configurações.

Investigamos por que SwitchSkillDialog estava sendo registrado no painel do Power BI e descobrimos que ele registra a propriedade id dos diálogos.

Com isso em mente, verificamos qual era o id do SwitchSkillDialog no momento da troca e descobrimos que ele sempre terá seu próprio nome como id , independente da habilidade para a qual está mudando.

image

Obrigado @VictorGrycuk. Fiz as alterações que você descreveu acima e agora todos os diálogos de habilidades estão sendo exibidos no relatório do Power Bi. Depois de definir os insights do aplicativo nas habilidades da mesma forma que o VA, estamos preenchendo todos os diálogos usados ​​nas Habilidades e também no VA.

Excelente @ tomSauret847 , é bom saber que funcionou.
Agora vamos nos concentrar em por que o desempenho do QnA não está preenchido, assim que tivermos qualquer atualização, avisaremos você.

Olá @ tomSauret847 , acabamos de reproduzir o problema que você relatou sobre o QnA no TypeScript não exibir o desempenho.

Testamos isso com um assistente usando o branch master, bem como a versão de lançamento 1.0, com resultados iguais em ambos os casos.

Ambiente usado:

  • TS Virtual Assistant com as linhas de telemetria habilitadas em index.ts. Implantado no Azure
  • App Insights conectado ao assistente
  • Power BI com modelo de análise do Virtual Assistant

Passos usados:

  1. Fale com o Assistente Virtual usando uma expressão que acionaria o QnA (por exemplo, "o que é um assistente virtual")
  2. Abra o modelo de análise do Virtual Assistant do Power BI, usando a Id do aplicativo do App Insights que está conectado a ele
  3. Verifique se o QnA não está apresentando desempenho

Vamos trabalhar em uma correção para isso no master e 1.0. Obrigado novamente por relatar.

image

Olá @ tomSauret847 , podemos reproduzir o problema com as caixas de diálogo do QnA Maker não exibindo o desempenho no Power BI.
Infelizmente, parece ser um problema com o SDK do BotBuilder, então levantamos o problema microsoft / botbuilder-js # 2779. Você pode rastrear esse problema para ter notícias do problema.

Para exibir as informações de desempenho do QnA, é necessário, entre outras coisas, permitir a transmissão de informações de identificação pessoal (PII), conforme mencionado neste comentário do problema # 3447.

No entanto, observamos que o sinalizador referenciado _logPersonalInformation_ não está presente na classe QnAMakerDialog em BotBuilder-JS, ao contrário da mesma classe de BotBuilder-Dotnet .
Além disso, a criação do objeto QnAMaker no método getQnAClient está omitindo mais uma vez a passagem do sinalizador pelo construtor para registro de informações pessoais, conforme visto a seguir.
image
image

Testamos essas alterações modificando manualmente a classe QnAMakerDialog em node_modules, em nosso bot local, adicionando o sinalizador logPersonalInformation forçado a verdadeiro:

public logPersonalInformation: BoolExpression = new BoolExpression(true);

Em seguida, passando a sinalização para QnAMaker no 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);
    }

E pudemos ver as informações de QnA no Power BI
image

Obrigado @ matiasroldan6 por investigar isso. Eu me inscrevi para esse problema, então ficarei atualizado enquanto eles implementam uma correção para ele.

Este problema está desatualizado porque está aberto há 30 dias sem atividades. Remova o rótulo ou comentário desatualizado ou será fechado em 5 dias

@ matiasroldan6 Ainda estamos esperando que isso seja corrigido no repositório do Botbuilder-js?

Sim, @ tomSauret847 , este último problema era uma disparidade no SDK que levantamos em microsoft / botbuilder-js # 2779. A equipe do SDK confirmou a disparidade e atualmente está trabalhando para resolver isso.

Se você concordar, podemos encerrar esse problema e assim que tivermos alguma atualização sobre a equipe do SDK, entraremos em contato com você aqui 😊.

Obrigado @ Batta32 Vou encerrar este problema e assistir o que você forneceu.

Esta página foi útil?
0 / 5 - 0 avaliações