Botframework-solutions: No crea una base de conocimientos si selecciona el sistema operativo como Linux

Creado en 17 feb. 2021  ·  11Comentarios  ·  Fuente: microsoft/botframework-solutions

/ asistente-virtual / tutoriales / crear-asistente / mecanografiado / 4-provision-you-azure-resources /

He intentado crear y configurar Chatbot basado en QnA tanto en la versión C # como en Typecript, para la configuración de Windows (predeterminada) funciona bien y crea todos los recursos y la base de conocimientos en qnamaker sin fallar.
Pero cuando trato de alojar la infraestructura (App Service Plan & Bot Service) en el sistema operativo Linux (simplemente cambiando el tipo a Linux)
"kind": "linux" para el plan de App Service, aunque crea todo lo necesario (App Service Plan, Cognitive Service, Web App Bot Service, servicio de búsqueda, etc.) pero no crea una base de conocimientos.
Parece que la plantilla de VA o la implementación general no es compatible con la implementación de la versión de Linux, como lo intenté tanto en C # como en Typecript.
Incluso después de crear todos los servicios, si intento crear una base de conocimientos manualmente, arroja un error porque no se encontraron claves de punto final
NoEndpoint

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

Comentario más útil

Este es el enlace que obtuve de QnA Maker que indica cómo implementarlo directamente en Azure Portal. Mañana veré cómo se puede traducir esto en una plantilla ARM y agregaré esos detalles aquí. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Todos 11 comentarios

Hola @pravinambekar , ¿en qué archivo estás cambiando kind a Linux?
Vamos a echarle un vistazo a esto y te avisaremos tan pronto como tengamos una actualización: little_smiling_ face :.

Hola @VictorGrycuk , La plantilla ARM utilizada para crear recursos, aquí mientras se define el Plan de servicio de aplicaciones.

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

Hola @pravinambekar , perdón por el retraso. Reproducimos con éxito el problema siguiendo estos pasos que mencionaste usando un Asistente Virtual:

  1. Ir a template.json
  2. Reemplace el plan de servicio de la
    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. Ejecute deploy.ps1
  4. Verifique que la implementación haya terminado de generar el plan de servicio de la aplicación usando Linux como sistema operativo
  5. Compruebe que la implementación finalizó sin generar las bases de conocimiento.

Además, intentamos crearlos usando el portal qnamaker y recibimos el mismo error de No Endpoint keys found .

Tan pronto como tengamos alguna actualización, te responderemos aquí 😊.

_App Service Plan usando Linux_
image

_Las bases de conocimiento no se generan utilizando deploy.ps1_
image

_Edición reproducida_
image

@pravinambekar : después de investigar y encontrar el problema de Azure / azure-cli # 9004 en el que comentó , creemos que esto no es no está

@ lauren-mills ¿sabe si QnAMaker Cognitive Service es compatible con el plan de servicio de aplicaciones de Linux?

Por último, pero no menos importante, notamos que en el repositorio de BotBuilder-Samples el equipo está trabajando para agregar template.json para Linux en las muestras, sin embargo, no encontramos un template.json para Linux que contenga una base de conocimientos .

Hola @ Batta32 , estoy completamente de acuerdo con usted, durante los últimos días he estado probando un enfoque diferente y pude alojar / configurar todos los recursos basados ​​en la plataforma Linux utilizando template.json basados ​​en VA y un script de implementación,
Mi conocimiento principal es que el servicio cognitivo de QnAMaker no admite servicios basados ​​en Linux y no automatiza la creación de la base de conocimientos, lo que genera el error "No se encontraron claves de endpoint" incluso en el proceso de creación manual.
Puede ser que @ lauren-mills pueda arrojar algo de luz sobre esto.

Hola @pravinambekar , me comuniqué con el equipo de QnA Maker y me confirmaron que QnA Maker v1 no es compatible con Linux debido a su implementación a través de una extensión del sitio. Recomendaron cambiar a QnA Maker v2, que no requiere un servicio de aplicación de tiempo de ejecución por separado. ¿Podría intentar actualizar su plantilla ARM y hacernos saber si le funciona?

Al darme cuenta de que no parece haber instrucciones claras para implementar una instancia v2, estoy haciendo un seguimiento con el equipo de QnA Maker para obtener más información.

Gracias @ lauren-mills por el texto de seguimiento,
Eso es exactamente lo que estaba buscando desde ayer, ya que estaba un poco confundido acerca del uso de las API de QnAMaker V2 en ARM, ya que es simplemente una definición de recursos.

Este es el enlace que obtuve de QnA Maker que indica cómo implementarlo directamente en Azure Portal. Mañana veré cómo se puede traducir esto en una plantilla ARM y agregaré esos detalles aquí. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Implementé una instancia de qnamaker v2 y esta es la plantilla ARM que corresponde. ¿Puede intentar agregar esto a su plantilla ARM en el script de implementación en lugar de los servicios qna existentes y ver si funciona? No estoy seguro de si la implementación de kb será la misma, pero vale la pena intentarlo:

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

Gracias @ lauren-mills y a todos los que contribuyeron en este hilo de discusión, por fin, ahora puedo ejecutar ChatBot completamente funcional basado en QnAMaker, basado en el plan de Linux,

No es solo el problema de Linux lo que se abordó, sino la forma en que funciona el servicio cognitivo de QnAMaker, permite el soporte de KB en varios idiomas y no hay necesidad de un servicio de aplicación adicional.

Aunque, la nueva versión de la API de QnAMaker trajo pocos cambios en la forma en que se usaba el recurso ARM para configurar.

Gracias y saludos :)

¿Fue útil esta página
0 / 5 - 0 calificaciones