有什么方法可以使用 ARM 模板完全自动化基于 QnAMaker 的 Azure Bot
Is there any way to completely automate QnAMaker based Azure Bot with ARM template
我正在寻找一种解决方案,我应该能够在 ARM 模板的帮助下完全创建和配置 Azure Bot(它应该包括创建资源、知识库和 Web 应用程序机器人)
- 我有 ARM 模板,create/automate 需要门户上的认知服务、应用服务、应用洞察和搜索服务
- 创建的服务已正确配置,所有应用程序设置都是动态的且引用正确。
- 下一步应该允许在同一执行中通过一些自动化脚本(最好是 PowerShell)创建知识库,虽然有脚本可用于创建 KB,但我不确定我们如何获得最新创建的 OCP APIM 密钥并将其用于创建知识库。
我的问题是:
有什么方法可以完全自动化
- 资源创建
- 知识库创建
- 正在创建网络应用程序机器人
在单个自动化脚本中
因为它们是相互依赖的(服务知识库,知识库上的 Web App Bot)我几乎找不到相关的文章来实现这一点。
谢谢。
使用通过 ARM. Our ready ARM Templates are available here: https://github.com/Azure/azure-quickstart-templates 部署的 QnAMaker 服务创建知识库。在端点密钥下方插入 qna maker 应用程序服务的应用程序配置中。
{
"type": "Microsoft.Web/sites",
"apiVersion": "2016-08-01",
"name": "[variables('qnaMakerWebName')]",
"location": "[resourceGroup().location]",
"properties": {
"enabled": true,
"httpsOnly": true,
"siteConfig": {
"cors": {
"allowedOrigins": []
}
},
"name": "[toLower(variables('qnaMakerWebName'))]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('serverFarmName'))]",
"hostingEnvironment": ""
},
"tags": {
"isqnamaker": "true",
"solution": "[parameters('resourceSolutionTag')]",
"[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('serverFarmName')))]": "empty"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('serverFarmName'))]",
"[resourceId('microsoft.insights/components', variables('appInsightsName'))]",
"[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]"
],
"resources": [
{
"apiVersion": "2015-08-01",
"name": "appsettings",
"type": "config",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('qnaMakerWebName'))]",
"[resourceId('Microsoft.Search/searchServices/', variables('azureSearchName'))]",
"[resourceId('microsoft.insights/components', variables('appInsightsName'))]"
],
"properties": {
"AzureSearchName": "[variables('azureSearchName')]",
"AzureSearchAdminKey": "[listAdminKeys(resourceId('Microsoft.Search/searchServices/', variables('azureSearchName')), '2015-08-19').primaryKey]",
"UserAppInsightsKey": "[reference(resourceId('microsoft.insights/components/', variables('appInsightsName')), '2015-05-01').InstrumentationKey]",
"UserAppInsightsName": "[variables('appInsightsName')]",
"UserAppInsightsAppId": "[reference(resourceId('microsoft.insights/components/', variables('appInsightsName')), '2015-05-01').AppId]",
"PrimaryEndpointKey": "[concat(variables('qnaMakerWebName'), '-PrimaryEndpointKey')]",
"SecondaryEndpointKey": "[concat(variables('qnaMakerWebName'), '-SecondaryEndpointKey')]",
"DefaultAnswer": "No good match found in KB.",
"QNAMAKER_EXTENSION_VERSION": "latest"
}
},
{
"apiVersion": "2018-02-01",
"type": "config",
"name": "logs",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('qnaMakerWebName'))]"
],
"properties": {
"applicationLogs": {
"fileSystem": {
"level": "Warning",
"retentionInDays": 7
},
"azureBlobStorage": {
"level": "Verbose",
"sasUrl": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob, parameters('storageAccountContainerQnaAppLog'), '?', listAccountSas(variables('storageAccountName'), '2018-02-01', variables('listAccountSasRequestContent')).accountSasToken)]",
"retentionInDays": 7
}
},
"httpLogs": {
"fileSystem": {
"retentionInMb": 35,
"retentionInDays": 7,
"enabled": false
},
"azureBlobStorage": {
"enabled": true,
"sasUrl": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob, parameters('storageAccountContainerQnaWebLog'), '?', listAccountSas(variables('storageAccountName'), '2018-02-01', variables('listAccountSasRequestContent')).accountSasToken)]",
"retentionInDays": 7
}
},
"detailedErrorMessages": {
"enabled": true
}
}
}
]
}
Bot Framework Virtual Assistant 是一个解决方案加速器,它将常用功能、服务和 Bot Framework 最佳实践整合到一个易于部署的包中,然后可以根据客户的需求进行定制。虚拟助手基于 Bot Framework SDK 构建,并部署在开发人员的 Azure Bot Service 订阅中,使助手生成的所有数据(提出的问题、用户行为等)完全由客户控制。
虚拟助手的主要组件包括:
Visual Studio 包含代码、对话和语言生成资产的项目
ARM 和 PowerShell 中的可自定义部署脚本
依赖服务(LUIS、QnA、存储、计算等)的自动供应和配置
已知场景的可插入技能,例如对话式使用 Microsoft Graph 和 Bing 数据资产
我正在寻找一种解决方案,我应该能够在 ARM 模板的帮助下完全创建和配置 Azure Bot(它应该包括创建资源、知识库和 Web 应用程序机器人)
- 我有 ARM 模板,create/automate 需要门户上的认知服务、应用服务、应用洞察和搜索服务
- 创建的服务已正确配置,所有应用程序设置都是动态的且引用正确。
- 下一步应该允许在同一执行中通过一些自动化脚本(最好是 PowerShell)创建知识库,虽然有脚本可用于创建 KB,但我不确定我们如何获得最新创建的 OCP APIM 密钥并将其用于创建知识库。
我的问题是:
有什么方法可以完全自动化
- 资源创建
- 知识库创建
- 正在创建网络应用程序机器人
在单个自动化脚本中 因为它们是相互依赖的(服务知识库,知识库上的 Web App Bot)我几乎找不到相关的文章来实现这一点。
谢谢。
使用通过 ARM. Our ready ARM Templates are available here: https://github.com/Azure/azure-quickstart-templates 部署的 QnAMaker 服务创建知识库。在端点密钥下方插入 qna maker 应用程序服务的应用程序配置中。
{
"type": "Microsoft.Web/sites",
"apiVersion": "2016-08-01",
"name": "[variables('qnaMakerWebName')]",
"location": "[resourceGroup().location]",
"properties": {
"enabled": true,
"httpsOnly": true,
"siteConfig": {
"cors": {
"allowedOrigins": []
}
},
"name": "[toLower(variables('qnaMakerWebName'))]",
"serverFarmId": "[resourceId('Microsoft.Web/serverfarms', variables('serverFarmName'))]",
"hostingEnvironment": ""
},
"tags": {
"isqnamaker": "true",
"solution": "[parameters('resourceSolutionTag')]",
"[concat('hidden-related:', resourceId('Microsoft.Web/serverfarms', variables('serverFarmName')))]": "empty"
},
"dependsOn": [
"[resourceId('Microsoft.Web/serverfarms', variables('serverFarmName'))]",
"[resourceId('microsoft.insights/components', variables('appInsightsName'))]",
"[concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))]"
],
"resources": [
{
"apiVersion": "2015-08-01",
"name": "appsettings",
"type": "config",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('qnaMakerWebName'))]",
"[resourceId('Microsoft.Search/searchServices/', variables('azureSearchName'))]",
"[resourceId('microsoft.insights/components', variables('appInsightsName'))]"
],
"properties": {
"AzureSearchName": "[variables('azureSearchName')]",
"AzureSearchAdminKey": "[listAdminKeys(resourceId('Microsoft.Search/searchServices/', variables('azureSearchName')), '2015-08-19').primaryKey]",
"UserAppInsightsKey": "[reference(resourceId('microsoft.insights/components/', variables('appInsightsName')), '2015-05-01').InstrumentationKey]",
"UserAppInsightsName": "[variables('appInsightsName')]",
"UserAppInsightsAppId": "[reference(resourceId('microsoft.insights/components/', variables('appInsightsName')), '2015-05-01').AppId]",
"PrimaryEndpointKey": "[concat(variables('qnaMakerWebName'), '-PrimaryEndpointKey')]",
"SecondaryEndpointKey": "[concat(variables('qnaMakerWebName'), '-SecondaryEndpointKey')]",
"DefaultAnswer": "No good match found in KB.",
"QNAMAKER_EXTENSION_VERSION": "latest"
}
},
{
"apiVersion": "2018-02-01",
"type": "config",
"name": "logs",
"dependsOn": [
"[resourceId('Microsoft.Web/Sites', variables('qnaMakerWebName'))]"
],
"properties": {
"applicationLogs": {
"fileSystem": {
"level": "Warning",
"retentionInDays": 7
},
"azureBlobStorage": {
"level": "Verbose",
"sasUrl": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob, parameters('storageAccountContainerQnaAppLog'), '?', listAccountSas(variables('storageAccountName'), '2018-02-01', variables('listAccountSasRequestContent')).accountSasToken)]",
"retentionInDays": 7
}
},
"httpLogs": {
"fileSystem": {
"retentionInMb": 35,
"retentionInDays": 7,
"enabled": false
},
"azureBlobStorage": {
"enabled": true,
"sasUrl": "[concat(reference(concat('Microsoft.Storage/storageAccounts/', variables('storageAccountName'))).primaryEndpoints.blob, parameters('storageAccountContainerQnaWebLog'), '?', listAccountSas(variables('storageAccountName'), '2018-02-01', variables('listAccountSasRequestContent')).accountSasToken)]",
"retentionInDays": 7
}
},
"detailedErrorMessages": {
"enabled": true
}
}
}
]
}
Bot Framework Virtual Assistant 是一个解决方案加速器,它将常用功能、服务和 Bot Framework 最佳实践整合到一个易于部署的包中,然后可以根据客户的需求进行定制。虚拟助手基于 Bot Framework SDK 构建,并部署在开发人员的 Azure Bot Service 订阅中,使助手生成的所有数据(提出的问题、用户行为等)完全由客户控制。
虚拟助手的主要组件包括:
Visual Studio 包含代码、对话和语言生成资产的项目
ARM 和 PowerShell 中的可自定义部署脚本
依赖服务(LUIS、QnA、存储、计算等)的自动供应和配置
已知场景的可插入技能,例如对话式使用 Microsoft Graph 和 Bing 数据资产