Botframework-solutions: Erstellt keine Wissensdatenbank, wenn das Betriebssystem Linux ausgewählt wird

Erstellt am 17. Feb. 2021  ·  11Kommentare  ·  Quelle: microsoft/botframework-solutions

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

Ich habe versucht, einen QnA-basierten Chatbot sowohl in der C#- als auch in der Typescript-Version zu erstellen und zu konfigurieren. Für die Windows-Konfiguration (Standard) funktioniert es gut und erstellt ohne Fehler alle Ressourcen und die Wissensdatenbank in qnamaker.
Aber wenn ich versuche, eine Infrastruktur (App Service Plan & Bot Service) auf einem Linux-Betriebssystem zu hosten (indem ich einfach die Art auf Linux ändere)
"kind": "linux" für App Service-Plan, erstellt zwar alle erforderlichen (App Service-Plan, Cognitive Service, Web-App-Bot-Dienst, Suchdienst usw.), erstellt jedoch keine Wissensdatenbank.
Es scheint, dass die VA-Vorlage oder die allgemeine Bereitstellung die Bereitstellung der Linux-Version nicht unterstützt, wie ich es sowohl in der C#- als auch in der Typescript-Version versucht habe
Selbst nach dem Erstellen aller Dienste, wenn ich versuche, die Wissensdatenbank manuell zu erstellen, wird der Fehler ausgegeben, dass keine Endpunktschlüssel gefunden wurden
NoEndpoint

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

Hilfreichster Kommentar

Dies ist der Link, den ich von QnA Maker erhalten habe, der erklärt, wie es direkt im Azure-Portal bereitgestellt wird. Ich werde mir morgen ansehen, wie dies in eine ARM-Vorlage übersetzt werden kann, und diese Details hier hinzufügen. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Alle 11 Kommentare

Hallo @pravinambekar , in welcher Datei kind auf Linux?
Wir werden uns das anschauen und informieren Sie, sobald es ein Update gibt :slightly_smiling_ face:.

Hallo @VictorGrycuk , Die ARM-Vorlage, die zum Erstellen von Ressourcen verwendet wird, hier beim Definieren des App Service-Plans.

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

Hallo @pravinambekar , sorry für die Verspätung. Wir haben das von Ihnen erwähnte Problem mit einem virtuellen Assistenten erfolgreich reproduziert :

  1. Gehe zu template.json
  2. Ersetzen Sie den App-Serviceplan durch die angehängte Konfiguration:
    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. Führen Sie die
  4. Überprüfen Sie, ob die Bereitstellung mit der Generierung des App Service-Plans unter Verwendung von Linux als Betriebssystem abgeschlossen ist
  5. Überprüfen Sie, ob die Bereitstellung abgeschlossen ist, ohne die Wissensdatenbanken zu generieren

Außerdem haben wir versucht, sie mit dem qnamaker- Portal zu No Endpoint keys found .

Sobald wir ein Update haben, melden wir uns hier .

_App Service-Plan mit Linux_
image

_Knowledge Bases werden nicht mit der Datei deploy.ps1 generiert_
image

_Problem reproduziert_
image

@pravinambekar - nachdem wir das von Ihnen kommentierte Azure/azure-cli#9004 Problem recherchiert und gefunden haben, denken wir, dass dies keine Einschränkung des virtuellen Assistenten selbst ist, sondern mit der Kompatibilität zwischen QnAMaker Cognitive Service und App Service Plan in Linux zusammenhängt. Das Problem hat also nichts mit Botframework-Lösungen zu tun.

@lauren-mills wissen Sie, ob der QnAMaker Cognitive Service mit dem Linux App Service Plan kompatibel ist?

Zu guter Letzt ist uns aufgefallen, dass das Team im BotBuilder-Samples- Repository daran arbeitet, die Vorlage template.json für Linux in die Beispiele aufzunehmen, wir haben jedoch kein template.json für Linux gefunden, das eine Wissensdatenbank enthält .

Hallo @Batta32 , ich stimme Ihnen template.json und Bereitstellungsskript hosten / konfigurieren.
Mein primäres Verständnis ist, dass der kognitive QnAMaker-Dienst keine Linux-basierten Dienste unterstützt und die Erstellung der Wissensdatenbank nicht automatisiert, wodurch selbst bei der manuellen Erstellung der Fehler "Keine Endpunktschlüssel gefunden" ausgegeben wird.
Vielleicht kann @lauren-mills etwas Licht ins Dunkel bringen.

Hallo @pravinambekar , ich habe das QnA Maker-Team kontaktiert und sie haben bestätigt, dass QnA Maker v1 Linux aufgrund seiner Bereitstellung über eine Site-Erweiterung nicht unterstützt. Sie empfahlen, zu QnA Maker v2 zu wechseln, für das kein separater Laufzeit-App-Dienst erforderlich ist. Könnten Sie versuchen, Ihre ARM-Vorlage zu aktualisieren und uns mitteilen, ob dies für Sie funktioniert?

Da mir klar wird, dass es keine klaren Anweisungen für die Bereitstellung einer v2-Instanz zu geben scheint, wende ich mich an das QnA Maker-Team, um weitere Informationen zu erhalten.

Danke @lauren-mills für den Folgetext,
Genau danach habe ich seit gestern gesucht, da ich etwas verwirrt war über die Verwendung von QnAMaker V2-APIs in ARM, da es sich lediglich um eine Definition von Ressourcen handelt.

Dies ist der Link, den ich von QnA Maker erhalten habe, der erklärt, wie es direkt im Azure-Portal bereitgestellt wird. Ich werde mir morgen ansehen, wie dies in eine ARM-Vorlage übersetzt werden kann, und diese Details hier hinzufügen. https://techcommunity.microsoft.com/t5/azure-ai/introducing-qna-maker-managed-now-in-public-preview/ba-p/1845575

Ich habe eine qnamaker v2-Instanz bereitgestellt und dies ist die entsprechende ARM-Vorlage. Können Sie versuchen, dies zu Ihrer ARM-Vorlage im Bereitstellungsskript anstelle der vorhandenen qna-Dienste hinzuzufügen und zu sehen, ob es funktioniert? Ich bin mir nicht sicher, ob die KB-Bereitstellung dieselbe ist, aber es ist einen Versuch wert:

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

Danke @lauren-mills und an alle, die zu diesem Diskussionsthread beigetragen haben, endlich kann ich jetzt den voll funktionsfähigen QnAMaker-basierten ChatBot basierend auf dem Linux-Plan ausführen.

Es wurde nicht nur das Problem mit Linux behandelt, sondern auch die Funktionsweise des kognitiven QnAMaker-Dienstes, der mehrsprachige KB-Unterstützung ermöglicht und keinen zusätzlichen App-Dienst benötigt.

Die neue QnAMaker-API-Version brachte jedoch nur wenige Änderungen in der Art und Weise mit sich, wie die ARM-Ressource zur Konfiguration verwendet wurde.

Danke und Cheers :)

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen