我继承了一个v3项目。我希望在调试器中本地运行它,并使用bot模拟器进行交互。
对于一个v4项目来说,这很容易,您只需在模拟器中打开bot文件,它就会读取连接到本地和云版本所需的配置。
您还可以使用模拟器创建一个bot文件,所以我这样做了,这允许我连接到bot。但是,这个bot使用一个QnA服务,当我在本地运行它并使用模拟器连接到它时,它将响应于
请在应用程序设置中设置QnAKnowledgebaseId、QnAAuthKey和QnAEndpointHostName (如果适用)。学习如何在https://aka.ms/qnaabssetup获得它们。
由于这些值是在web.config中的应用程序设置中定义的,而且它们肯定是在云中的僵尸数据表中定义的,所以我的bot文件可能是不正确的。
有人能提供有关手工制作机器人文件的指导吗?
这就是当前bot文件中的内容
{
"name": "pai46",
"description": "",
"services": [
{
"type": "endpoint",
"appId": "da3...229",
"appPassword": "a password cribbed from the settings on Azure",
"endpoint": "http://localhost:3984/api/messages",
"id": "another guid",
"name": "development"
}
],
"padlock": "",
"version": "2.0",
"overrides": null,
"path": "D:\\pai46-src\\pai46.bot"
}这看起来像v3 QnA初学者项目的重命名,通过在Azure上创建QnA机器人并下载代码,就是这样。在修改别人的代码之前,我决定以最简单的形式解决这个问题。这是一些web.config。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<appSettings>
<!-- update these with your Microsoft App Id and your Microsoft App Password-->
<add key="MicrosoftAppId" value="da3...229" />
<add key="MicrosoftAppPassword" value="same password as bot file" />
<add key="AzureWebJobsStorage" value="DefaultEndpointsProtocol=https;AccountName=pai46a3ba;AccountKey=base64string;"/>
<add key="QnAAuthKey" value="00e...fab"/>
<add key="QnAEndpointHostName" value="https://a-working-qna-service.azurewebsites.net/qnamaker"/>
<add key="QnAKnowledgebaseId" value="ca7...b3a"/>
</appSettings>我使用的是“模拟器(V4)”,因为它是我在微软网站上唯一能找到的。帮助/关于报告4.2.1版

这就是当我运行机器人并连接到它,然后在模拟器中说“嗨”时会发生什么。

发布于 2019-01-29 01:24:35
Bot文件是几个月前在v4 of BotBuilder SDK中引入的。在v3中,您可以为您的项目创建一个Bot,以便将它连接到v4 Bot模拟器,但是您的所有机密和密钥仍然应该在web.config中管理。
希望这能有所帮助!
https://stackoverflow.com/questions/54412390
复制相似问题