ããŒãã£ã«ã¢ã·ã¹ã¿ã³ããšã¹ãã«ã«é¢ããPowerBiã¬ããŒã
TypeScript
PowerBiããã·ã¥ããŒãã«è¡šç€ºãããã€ã¢ãã°ã³ã³ããã¹ããååŸã§ããŸããã ãã¬ã¡ããªãã¬ãŒãæŽæ°ããŠPIIãèšé²ããŸããããã¬ããŒãã«ãã€ã¢ãã°ã³ã³ããã¹ãã衚瀺ãããŸããã ä»ã®ãã¹ãŠã®ã¿ãã¯æ£ããå ¥åãããŠããããã€ã¢ãã°ã¿ãã«åºåã衚瀺ãããªãã ãã§ã
ããŒãã£ã«ã¢ã·ã¹ã¿ã³ããäœæãã
ããŒã«å€ãtrueãããã¬ã¡ããªãã¬ãŒã«è¿œå ããŸã
const telemetryLoggerMiddleware = new TelemetryLoggerMiddlewareïŒtelemetryClientãtrueïŒ;
const telemetryInitializerMiddleware = new TelemetryInitializerMiddlewareïŒtelemetryLoggerMiddlewareãtrueïŒ;
PowerBiã¬ããŒãã®[ãã¹ãŠã®ãã€ã¢ãã°ã®æŠèŠ]ã¿ããš[ãã€ã¢ãã°ã®æŠèŠ]ã¿ãã確èªããŸã
ã¬ããŒãã«å ¥åãããã€ã¢ãã°æ å ±
ãšã©ãŒã¯ãããŸãã
ããããšã@ tomSauret847-ç§ãã¡ã¯ãã®åé¡ãæ€èšããã§ããã ãæ©ãããªãã«è¿ä¿¡ããŸãïŒ
ããã«ã¡ã¯@ tomSauret847 ãæŽæ°ãæäŸããããã«ãç§ãã¡ã¯ãã®åé¡ã®èª¿æ»ãšãã®åé¡ã®åçŸã«ç©æ¥µçã«åãçµãã§ããŸãã ãããã§ãããããããã次ã®ã¹ããããæäŸã§ããŸãã ãäžäŸ¿ããããããŠç³ãèš³ããããŸããã
ããã«ã¡ã¯@ tomSauret847-åé¡ãæ£åžžã«åçŸããŸããã
ãŸãããã®åé¡ãTypeScriptã¹ãã«ãšCïŒä»®æ³ã¢ã·ã¹ã¿ã³ã/ã¹ãã«ã§åçŸããããšããŸããããæ£ããæ©èœãããããããã¯TypeScriptä»®æ³ã¢ã·ã¹ã¿ã³ãã«ã®ã¿é¢é£ããŠããããã§ãã
ãããéæããããã«å®è¡ããåçŸæé ãæ€èšŒããŸãã
ç»åã«ç€ºãããã«ã index
ãã¡ã€ã«ãå€æŽããŠã次ã®2ã€ã®ã³ã³ã¹ãã©ã¯ã¿ãŒãtrueã«è¿œå ããŸãã
PowerBIã¢ããªã±ãŒã·ã§ã³ã§VirtualAssistantåæãã³ãã¬ãŒããã¡ã€ã«ãéããŸã
Power BIã®ããã¥ã¡ã³ããã¬ã€ããšããŠäœ¿çšããŠãVirtual AssistantInsightsã®ææšãæ§æããã³ååŸããŸããã
æŽæ°ããã次第ãæãè¿ããé£çµ¡ããããŸãðã
_TypeScriptããŒãã£ã«ã¢ã·ã¹ã¿ã³ãã䜿çšããŠåçŸãããåé¡_
ããã調ã¹ãŠãããŠããããšã@ Batta32 ã ç§ã¯ããªããäžã«ãªã¹ãããã¹ãããã«åŸããŸããããããŠåãçµæãåãåããŸããã ããã¯ãå ¬éãããNPMããã±ãŒãžãžã®ã¢ããã°ã¬ãŒãåŸã«éå§ãããããã§ããããã¯ãGAã«ç§»è¡ããåã«æ§ç¯ããæåã®ããŒãžã§ã³ããPowerBIã¬ããŒãã®ãã€ã¢ãã°ã³ã³ããã¹ãã«å ¥åãããŠããããã§ãã
ããã«ã¡ã¯@ tomSauret847 -TypeScript Virtual Assistantã®ä»åŸã®1.0ãªãªãŒã¹ã§åé¡ãæ£åžžã«ä¿®æ£ããPRïŒ3584ãç¹ã«ãã®ã³ãããã«ãããã®å€æŽãè¿œå ããŸããã
TypeScript Virtual Assistantãæ©èœãããããã®åé¿çãšããŠããããã®ãã¡ã€ã«ã§æ¬¡ã®å€æŽãè¡ããŸãã
telemetryClient
ãªããžã§ã¯ããè¿œå ããŠããã€ã¢ãã°ã®constructor
ãæŽæ°ããŸã
//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;
});
}
éä¿¡telemetryClient
ã®ãã€ã¢ãã°ã®åæåã§ãªããžã§ã¯ãã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
);
ãäžæãªç¹ãå€æŽãããããŸãããããæ°è»œã«ãåãåãããã ããã
_å€æŽã䜿çšããä»®æ³ã¢ã·ã¹ã¿ã³ãã®ææš_
ããããšã@ Batta32ïŒ ããã§åé¡ã¯è§£æ±ºããPowerBiã¬ããŒãã«ãã€ã¢ãã°ã³ã³ããã¹ãã衚瀺ãããããã«ãªããŸããã
@ Batta32質åããããŸããã çŸåšãã¬ããŒãã«ãã€ã¢ãã°ã衚瀺ãããŠããŸããããã¹ãŠã®ã¹ãã«ã¯ãã¹ãã«ã®åãæ¿ããã€ã¢ãã°ãã®äžã«è¡šç€ºãããŠãããã¹ãã«ã¯è¡šç€ºãããŠããŸããã ãã¹ãŠã®ã¹ãã«ã§ãã¬ã¡ããªãæå¹ã«ããŠãããVAãšåãããã«ã³ã³ã¹ãã©ã¯ã¿ã«æž¡ããŸãã ã¹ãã«ãã€ã¢ãã°ã³ã³ã¹ãã©ã¯ã¿ãŒã®èšå®ããããŸãããïŒ
è¿ä¿¡ããããšãããããŸã@ tomSauret847 ïŒ ãã®ã·ããªãªã確èªããæŽæ°ããã次第ãé£çµ¡ããããŸãðïŒ
@ Batta32ã«æ¹ããŠæè¬ããŸãããŸããQNAã¡ãŒã«ãŒã«äœ¿çšãããQNAMakerDialogã«ã¯ããã¬ã¡ããªã¯ã©ã€ã¢ã³ããæž¡ãããŠããªãããšã«æ°ä»ããŸããã ããã«ãããQNAã¡ãŒã«ãŒãã¬ããŒãã«å ¥åããããšãã§ããªããªããŸãã
QnAMakerDialogã®åé¡ã«æ³šæãåããŠããã@ tomSauret847ã«æè¬ããŸãã ç§ãã¡ãèŠã€ãã£ãä¿®æ£ã¯å€æŽããããšã§ãtryCreateQnADialogã®æ¹æ³ããšèšå®telemetryClient
ïŒç»åã©ã€ã³ïŒ201ïŒïŒ214ãåç
§ïŒQnAMakerãã€ã¢ãã°ã§ããããã£ãã
ããã¯ã QnAMakerDialogãW aterfallDialogããæ¡åŒµããã W aterfallDialogãããã¬ã¡ããªã¯ã©ã€ã¢ã³ãããããã£ãæã£ãŠãããNullTelemetryClientãšããŠèšå®ãããŠãããã€ã¢ãã°ããæ¡åŒµãããŠããããã§ãã
TypeScript Virtual Assistant 1.0ãã©ã³ãã§ãã®ã·ããªãªããã¹ãããŸãããããã¬ã¡ããªã¯ã©ã€ã¢ã³ãããã©ã¡ãŒã¿ãŒãšããŠæž¡ãå¿ èŠãªãã«ããã§ä¿®æ£ãããŠããŸãã ãŸãããã¹ã¿ãŒã®CïŒãããã䜿çšãããšãããã¯æåŸ ã©ããã«æ©èœããŸãã
ããã§QnAMakerDialog
ã®ãã¬ã¡ããªç»é²ãä¿®æ£ããããã©ããããç¥ãããã ããã
SwitchSkillDialog
é¢é£ããåé¡ãåŒãç¶ã確èªããŸãã
ãã®æ
å ±ãããããšã@VictorGrycuk ã å€æŽãå ãããšããã以äžã«ç€ºãããã«ãã¬ããŒãã«QNAã¡ãŒã«ãŒã®ãã€ã¢ãã°ã衚瀺ãããŠããŸãã ããããQNââAã®ããã©ãŒãã³ã¹ã¯ãŸã åäžããŠããŸããã ãã€ã¢ãã°ã«ç€ºãããŠããããã«ãQNAã¡ãŒã«ãŒã«ææãäžããŠããŸãããããã©ãŒãã³ã¹ã¯ã¬ããŒãã«å
¥åãããŠããŸããã
ããããšã@ tomSauret847ç§ãã¡ã¯ã§ããã ãæ©ãããªãã«æ»ã£ãŠããŸãïŒ
ããã«ã¡ã¯@ tomSauret847 ã ãã£ããã£ãåé¡ãåçŸããCïŒã®å Žåãšåãããã«ãããã¯èšèšäžçºçããŸããã
å¥ã®æ¹æ³ã¯ãã¹ãã«ã®aââppsettings.jsonã§Virtual Assistant ApplicationInsightsã®ã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ããŒãèšå®ããããšã§ãã
instrumentationKey
å€ãæé 2ã§ã³ããŒããå€ã«çœ®ãæããŸããæ³šïŒ MainDialog
ãªã©ãè€æ°ã®ãããã§åãååã®ãã€ã¢ãã°ã¯ã°ã«ãŒãåãããããšã«æ³šæããŠãã ããã
ç§ãã¡ã¯ããªãã®è¿äºã«æ°ãé ããQnAããã©ãŒãã³ã¹ã®åé¡ãæ€èšããŸãðã
å±éæã«åããããç¬èªã®ã¢ããªã±ãŒã·ã§ã³ã€ã³ãµã€ããªãœãŒã¹ãäœæãããããåãããã®ãã¬ã¡ããªã¯äºãã«åé¢ãããŠããããããããåé¿ããŠåãPowerBIããã·ã¥ããŒãã§ãã¹ãŠã®ãããã®ãã¬ã¡ããªã確èªããã«ã¯èšå®ããå¿ èŠããããŸããããã®èšå®ã§åãã€ã³ã¹ãã«ã¡ã³ããŒã·ã§ã³ããŒã
SwitchSkillDialog
ãPower BIããã·ã¥ããŒãã«ç»é²ãããŠããçç±ã調æ»ãããšããããã€ã¢ãã°ã®id
ããããã£ãç»é²ãããŠããããšãããããŸããã
ããã念é ã«çœ®ããŠãåãæ¿ãæã®SwitchSkillDialogã®id
ã確èªãããšãããåãæ¿ãå
ã®ã¹ãã«ã«é¢ä¿ãªããåžžã«idãšããŠç¬èªã®ååãä»ããããŠããããšãããããŸããã
ããããšã@VictorGrycukäžèšã§æŠèª¬ããå€æŽãå ãããšããããã¹ãŠã®ã¹ãã«ãã€ã¢ãã°ã
ãã°ããã@ tomSauret847 ããããæ©èœããããšãç¥ã£ãŠè¯ãã£ãã
ããã§ã¯ãQnAããã©ãŒãã³ã¹ãèšå®ãããªãçç±ã«çŠç¹ãåœãŠãŸããæŽæ°ããã次第ããç¥ããããŸãã
ããã«ã¡ã¯@ tomSauret847 ãTypeScriptã®QnAã«ã€ããŠå ±åãããåé¡ãããã©ãŒãã³ã¹ã衚瀺ããªãããšãåçŸããŸããã
ãã¹ã¿ãŒãã©ã³ããš1.0ãªãªãŒã¹ããŒãžã§ã³ã䜿çšããŠã¢ã·ã¹ã¿ã³ãã§ããããã¹ãããŸããããã©ã¡ãã®å Žåãåãçµæã«ãªããŸããã
䜿çšããç°å¢ïŒ
䜿çšããæé ïŒ
ãã¹ã¿ãŒãš1.0ã®äž¡æ¹ã§ããã®ä¿®æ£ã«åãçµã¿ãŸãã å ±åããŠããã ãããããšãããããŸãã
ããã«ã¡ã¯@ tomSauret847 ã QnAMakerãã€ã¢ãã°ã®åé¡ãåçŸã§ããŸããã
æ®å¿µãªãããããã¯BotBuilder SDKã®åé¡ã®ããã§ãããããmicrosoft / botbuilder-jsïŒ2779ã®åé¡ãæèµ·ããŸããã åé¡ã®ãã¥ãŒã¹ãå
¥æããããã«ããã®åé¡ã远跡ã§ããŸãã
QnAããã©ãŒãã³ã¹æ å ±ã衚瀺ããã«ã¯ãç¹ã«ãåé¡ïŒ3447ã®ãã®ã³ã¡ã³ãã«èšèŒãããŠããããã«ãå人ãç¹å®ã§ããæ å ±ïŒPIIïŒã®éä¿¡ãæå¹ã«ããå¿ èŠããããŸãã
ãã ããåç
§ããããã©ã°_logPersonalInformation_ã¯ãBotBuilder-Dotnetã®åãã¯ã©ã¹ãšã BotBuilder-JSã®QnAMakerDialogã¯ã©ã¹ã«ã¯ååšããªãããšã
ããã«ã以äžã«ç€ºãããã«ãã¡ãœããgetQnAClientã§ã®QnAMakerãªããžã§ã¯ãã®äœæã§ã¯ãå人æ
å ±ããã°ã«èšé²ããããã®ã³ã³ã¹ãã©ã¯ã¿ãŒãä»ãããã©ã°ã®åãæž¡ããå床çç¥ãããŠããŸãã
ããŒã«ã«ãããã®node_modulesã§QnAMakerDialogã¯ã©ã¹ãæåã§å€æŽããlogPersonalInformationãã©ã°ãtrueã«åŒ·å¶ããããšã§ããããã®å€æŽãè¡ãããšããã¹ãããŸããã
public logPersonalInformation: BoolExpression = new BoolExpression(true);
次ã«ãgetQnAClientã¡ãœããã§ãã©ã°ãQnAMakerã«æž¡ããŸãã
/**
* 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);
}
ãããŠãPowerBIã§QnAæ
å ±ãèŠãããšãã§ããŸãã
ããã調ã¹ãŠãããŠããããšã@ matiasroldan6 ã ç§ã¯ãã®åé¡ã賌èªããŠããã®ã§ã圌ããããã«å¯Ÿããä¿®æ£ãå®è£ ããã®ã§ãç§ã¯ææ°ã®ç¶æ ãä¿ã¡ãŸãã
ãã®åé¡ã¯30æ¥ééããŠãããã¢ã¯ãã£ããã£ããªããããå€ããªã£ãŠããŸãã å€ãã©ãã«ãã³ã¡ã³ããåé€ããªããšã5æ¥ã§ééãããŸã
@ matiasroldan6 Botbuilder-jsãªããžããªã§ãããä¿®æ£ãããã®ããŸã åŸ ã£ãŠããŸããïŒ
ã¯ã@ tomSauret847 ããã®æåŸã®åé¡ã¯ãmicrosoft / botbuilder-jsïŒ2779ã§çºçããSDKã®äžäžèŽã§ããã SDKããŒã ã¯æ Œå·®ã確èªããçŸåšããã解決ããããã«åãçµãã§ããŸãã
åæããå Žåã¯ããã®åé¡ã解決ã§ããŸããSDKããŒã ã«é¢ããæŽæ°ããã次第ããã¡ããããé£çµ¡ããããŸãðã
ããããšã@ Batta32ç§ã¯ãã®åé¡ãéããŠãããªããæäŸãããã®ãèŠãŸãã
æãåèã«ãªãã³ã¡ã³ã
ããããšã@VictorGrycukäžèšã§æŠèª¬ããå€æŽãå ãããšããããã¹ãŠã®ã¹ãã«ãã€ã¢ãã°ã