Botframework-solutions: Não cria base de conhecimento se selecionar o sistema operacional como Linux

Criado em 17 fev. 2021  ·  11Comentários  ·  Fonte: microsoft/botframework-solutions

/ virtual-assistant / tutorials / create-assistant / typescript / 4-provision-you-azure-resources /

Eu tentei criar e configurar o Chatbot baseado em QnA na versão C # e no Typescript, para a configuração do Windows (padrão) ele funciona bem e cria todos os recursos e base de conhecimento no qnamaker sem falhas.
Mas quando tento hospedar a infraestrutura (plano de serviço de aplicativo e serviço de bot) no sistema operacional Linux (simplesmente mudando o tipo para Linux)
"kind": "linux" para plano de serviço de aplicativo, embora crie todos os necessários (plano de serviço de aplicativo, serviço cognitivo, serviço de bot de aplicativo da Web, serviço de pesquisa etc.), mas não cria base de conhecimento.
Parece que o modelo VA ou a implantação geral não oferece suporte à implantação da versão Linux, como tentei nas versões C # e Typescript
Mesmo depois de criar todos os serviços, se eu tentar criar uma base de conhecimento manualmente, ele gerará um erro, pois nenhuma chave de endpoint foi encontrada
NoEndpoint

Bot Services Kobuk Docs customer-replied-to customer-reported

Comentários muito úteis

Este é o link que obtive do QnA Maker que informa como implantá-lo diretamente no Portal do Azure. Analisarei como isso pode ser traduzido em um modelo ARM amanhã e adicionarei esses detalhes aqui. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Todos 11 comentários

Olá @pravinambekar , em qual arquivo você está alterando kind para Linux?
Estaremos dando uma olhada nisso e avisaremos assim que tivermos uma atualização: ligeiramente_smiling_face : .

Olá @VictorGrycuk , O modelo ARM usado para criar recursos, aqui durante a definição do Plano de Serviço de Aplicativo.

{ "comments": "app service plan", "type": "Microsoft.Web/serverFarms", "apiVersion": "2018-02-01", "name": "[parameters('appServicePlanName')]", "location": "[parameters('location')]", "kind": "linux", "sku": "[parameters('appServicePlanSku')]", "properties": {"reserved": true}, "tags": { "[parameters('resourceTagName')]": "[parameters('resourceTagValue')]" }

Olá @pravinambekar , desculpe a demora. Reproduzimos com sucesso o problema seguindo estas etapas que você mencionou usando um Assistente Virtual:

  1. Vá para template.json
  2. Substitua o plano de serviço do
    json { "comments": "app service plan", "type": "Microsoft.Web/serverFarms", "apiVersion": "2018-02-01", "name": "[parameters('appServicePlanName')]", "location": "[parameters('location')]", "kind": "linux", "sku": "[parameters('appServicePlanSku')]", "properties": {"reserved": true}, "tags": { "[parameters('resourceTagName')]": "[parameters('resourceTagValue')]" }
  3. Execute o deploy.ps1
  4. Verifique se a implantação terminou de gerar o Plano de Serviço de Aplicativo usando Linux como Sistema Operacional
  5. Verifique se a implantação foi concluída sem gerar as bases de conhecimento

Além disso, tentamos criá-los usando o portal qnamaker e recebemos o mesmo erro de No Endpoint keys found .

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

_Plano de serviço de aplicativo usando Linux_
image

_Bases de conhecimento não são geradas usando o deploy.ps1_
image

_Emissão reproduzida_
image

@pravinambekar - depois de pesquisar e encontrar o problema Azure / azure-cli # 9004 no qual você comentou , achamos que esta não é não está

@lauren-mills, você sabe se o QnAMaker Cognitive Service é compatível com o Linux App Service Plan?

Por último, mas não menos importante, notamos que no repositório BotBuilder-Samples a equipe está trabalhando para adicionar o template.json para Linux nas amostras, no entanto, não encontramos um template.json para Linux que contém uma Base de Conhecimento .

Olá @ Batta32 , concordo totalmente com você, ao longo dos últimos dias tenho tentado uma abordagem diferente e fui capaz de hospedar / configurar todos os recursos baseados na plataforma Linux usando VA baseado em template.json e script de implantação,
Meu entendimento principal é que o serviço cognitivo QnAMaker não oferece suporte a serviços baseados em Linux e não automatiza a criação da base de conhecimento, gerando o erro "Nenhuma chave de terminal encontrada", mesmo no processo de criação manual.
Pode ser que @ lauren-mills possa iluminar isso.

Olá @pravinambekar , Entrei em

Percebi que não parece haver instruções claras para implantar uma instância v2, então estou entrando em contato com a equipe do QnA Maker para obter mais informações.

Obrigado @ lauren-mills pelo texto de acompanhamento,
Isso é exatamente o que eu estava procurando desde ontem, pois estava um pouco confuso sobre o uso da API QnAMaker V2 no ARM, pois é apenas uma definição de recursos.

Este é o link que obtive do QnA Maker que informa como implantá-lo diretamente no Portal do Azure. Analisarei como isso pode ser traduzido em um modelo ARM amanhã e adicionarei esses detalhes aqui. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Implantei uma instância qnamaker v2 e este é o modelo ARM que corresponde. Você pode tentar adicionar isso ao seu modelo ARM no script de implantação no lugar dos serviços qna existentes e ver se funciona? Não tenho certeza se a implantação kb será a mesma, mas vale a pena tentar:

{
    "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
    "contentVersion": "1.0.0.0",
    "parameters": {
        "name": {
            "defaultValue": "<your-service-name>",
            "type": "String"
        },
        "search-name": {
            "defaultValue": "<your-service-name>-search",
            "type": "String"
        }
    },
    "variables": {},
    "resources": [
        {
            "type": "Microsoft.CognitiveServices/accounts",
            "apiVersion": "2017-04-18",
            "name": "[parameters('name')]",
            "location": "southcentralus",
            "sku": {
                "name": "S0"
            },
            "kind": "QnAMaker.v2",
            "properties": {
                "apiProperties": {},
                "customSubDomainName": "[parameters('name')]",
                "privateEndpointConnections": [],
                "publicNetworkAccess": "Enabled"
            }
        },
        {
            "type": "Microsoft.Search/searchServices",
            "apiVersion": "2020-08-01",
            "name": "[parameters('search-name')]",
            "location": "West US",
            "sku": {
                "name": "standard"
            },
            "properties": {
                "replicaCount": 1,
                "partitionCount": 1,
                "hostingMode": "Default",
                "publicNetworkAccess": "Enabled",
                "networkRuleSet": {
                    "ipRules": []
                }
            }
        }
    ]
}

Obrigado @lauren-mills e a todos que contribuíram neste tópico de discussão, finalmente, agora sou capaz de executar ChatBot baseado em QnAMaker totalmente funcional, baseado no plano Linux,

Não foi apenas a questão do Linux que foi abordada, mas a forma como o serviço cognitivo QnAMaker funciona, ele permite suporte a KB multilíngue e não há necessidade de serviço de aplicativo adicional.

No entanto, a nova versão da API QnAMaker trouxe algumas mudanças na forma como o recurso ARM usado para configurar.

Obrigado e felicidades :)

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