Botframework-solutions: Ne crée pas de base de connaissances si le système d'exploitation sélectionné est Linux

Créé le 17 févr. 2021  ·  11Commentaires  ·  Source: microsoft/botframework-solutions

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

J'ai essayé de créer et de configurer un chatbot basé sur QnA à la fois en version C# et Typescript, pour la configuration Windows (par défaut), cela fonctionne bien et crée toutes les ressources et la base de connaissances dans qnamaker sans faute.
Mais quand j'essaie d'héberger l'infrastructure (App Service Plan & Bot Service) sur le système d'exploitation Linux (en changeant simplement de type en Linux)
"kind": "linux" pour le plan App Service, il crée cependant tout ce qui est requis (plan App Service, Cognitive Service, Web App Bot Service, Service de recherche, etc.) mais ne crée pas de base de connaissances.
Il semble que le modèle VA ou le déploiement global ne prenne pas en charge le déploiement de la version Linux, car j'ai essayé à la fois dans la version C# et Typescript
Même après avoir créé tous les services, si j'essaie de créer une base de connaissances manuellement, l'erreur s'affiche car aucune clé de point de terminaison n'a été trouvée
NoEndpoint

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

Commentaire le plus utile

C'est le lien que j'ai obtenu de QnA Maker qui explique comment le déployer directement dans le portail Azure. Je vais voir comment cela peut être traduit dans un modèle ARM demain et ajouter ces détails ici. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Tous les 11 commentaires

Salut @pravinambekar , sur quel fichier changez-vous le kind en Linux ?
Nous allons jeter un œil à cela et vous informerons dès que nous aurons une mise à jour :slightly_smiliing_ face:.

Bonjour @VictorGrycuk , Le modèle ARM utilisé pour créer des ressources, ici lors de la définition d'App Service Plan.

{ "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')]" }

Salut @pravinambekar , désolé pour le retard. Nous avons réussi à reproduire le problème en suivant les étapes que vous avez mentionnées à l'aide d'un assistant virtuel :

  1. Aller à template.json
  2. Remplacez le plan de service de l'
    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. Exécutez le deploy.ps1
  4. Vérifiez que le déploiement a fini de générer le plan App Service en utilisant Linux comme système d'exploitation
  5. Vérifier que le déploiement s'est terminé sans générer les bases de connaissances

De plus, nous avons essayé de les créer à l'aide du portail qnamaker et nous avons reçu la même erreur de No Endpoint keys found .

Dès que nous aurons une mise à jour, nous vous répondrons ici .

_Plan de service d'application utilisant Linux_
image

_Les bases de connaissances ne sont pas générées à l'aide de deploy.ps1_
image

_Problème reproduit_
image

@pravinambekar - après avoir recherché et trouvé le problème Azure/azure-cli#9004 dans lequel vous avez commenté , nous pensons qu'il ne s'agit pas lié aux solutions de botframework.

@lauren-mills savez-vous si le service cognitif QnAMaker est compatible avec Linux App Service Plan ?

Enfin et surtout, nous avons remarqué que dans le référentiel BotBuilder-Samples , l'équipe travaille sur l'ajout du template.json pour Linux dans les exemples, cependant, nous n'avons pas trouvé de template.json pour Linux qui contient une base de connaissances .

Bonjour @Batta32 , je suis tout à fait d'accord avec vous, au cours des derniers jours, j'ai essayé une approche différente et j'ai pu héberger / configurer toutes les ressources basées sur la plate-forme Linux en utilisant template.json basé sur VA et un script de déploiement,
Ma compréhension principale est que le service cognitif QnAMaker ne prend pas en charge les services basés sur Linux et n'automatise pas la création de la base de connaissances, donnant l'erreur "Aucune clé de point de terminaison trouvée" même dans le processus de création manuel.
Peut-être que @lauren-mills peut faire la lumière à ce sujet.

Salut @pravinambekar , j'ai contacté l'équipe QnA Maker et ils ont confirmé que QnA Maker v1 ne prend pas en charge Linux en raison de son déploiement via une extension de site. Ils ont recommandé de passer à QnA Maker v2 qui ne nécessite pas de service d'application d'exécution séparé. Pourriez-vous essayer de mettre à jour votre modèle ARM et nous faire savoir si cela fonctionne pour vous ?

Réalisant qu'il ne semble pas y avoir d'instructions claires pour le déploiement d'une instance v2, je fais donc un suivi avec l'équipe QnA Maker pour plus d'informations.

Merci @lauren-mills pour le texte de suivi,
C'est exactement ce que je cherchais depuis hier, car j'étais un peu confus quant à l'utilisation des API QnAMaker V2 dans ARM car il s'agit simplement d'une définition de ressources.

C'est le lien que j'ai obtenu de QnA Maker qui explique comment le déployer directement dans le portail Azure. Je vais voir comment cela peut être traduit dans un modèle ARM demain et ajouter ces détails ici. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

J'ai déployé une instance qnamaker v2 et c'est le modèle ARM qui correspond. Pouvez-vous essayer de l'ajouter à votre modèle ARM dans le script de déploiement à la place des services qna existants et voir si cela fonctionne ? Je ne sais pas si le déploiement de kb sera le même, mais cela vaut la peine d'essayer :

{
    "$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": []
                }
            }
        }
    ]
}

Merci @lauren-mills et à tous ceux qui ont contribué à ce fil de discussion, enfin, je suis maintenant en mesure d'exécuter un ChatBot entièrement fonctionnel basé sur QnAMaker, basé sur le plan Linux,

Ce n'est pas seulement le problème de Linux qui a été résolu, mais la façon dont le service cognitif QnAMaker fonctionne, il permet la prise en charge de la base de connaissances multilingue et il n'y a pas besoin de service d'application supplémentaire.

Cependant, la nouvelle version de l'API QnAMaker a apporté peu de changements dans la façon dont la ressource ARM était utilisée pour la configuration.

Merci et bravo :)

Cette page vous a été utile?
0 / 5 - 0 notes