Heim  >  Artikel  >  Technologie-Peripheriegeräte  >  Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

王林
王林nach vorne
2023-04-11 18:34:041817Durchsuche

Übersetzer |. Li Rui​

Rezensent |.🎜🎜#

Messenger, Netzwerkdienste und andere Software sind untrennbar mit Robotern (Bots) verbunden. In der Softwareentwicklung und bei Anwendungen ist ein Bot eine Anwendung, die darauf ausgelegt ist, als Reaktion auf Benutzeranfragen erstellte Aktionen automatisch auszuführen (oder gemäß einem voreingestellten Skript auszuführen). In diesem Artikel präsentiert Daniil Mikhov, Entwickler bei NIX United, ein Beispiel für die Erstellung eines Chatbots mithilfe von Microsoft Azure Bot Services. Dieser Artikel ist hilfreich für Entwickler, die mithilfe dieses Dienstes Chatbots entwickeln möchten. Warum Azure Bot Services nutzen? ​Der Vorteil der Entwicklung von Chatbots auf Azure Bot Services ist der hohe Supportgrad von Microsoft für seine Produkte. Die Experten des Unternehmens kommunizieren aktiv mit der technischen Community und identifizieren und beheben schnell Schwachstellen im Dienst. Darüber hinaus bietet Microsoft die Möglichkeit, benutzerdefinierte JSON-Dateien zu erstellen, um mit einigen der APIs des Messengers zu arbeiten, was Entwicklern viele Möglichkeiten beim Erstellen von Chatbots bietet.

Es ist auch wichtig, sich an die anderen Vorteile von Azure Bot Services zu erinnern: 🎜🎜#Azure Bot Services ermöglicht Entwicklern die Verwendung von Open-Source-SDK-Tools (Software Development). Kit) zum Erstellen, Testen und Bereitstellen von Chatbots. Unter Integration mit kognitiven Diensten versteht man Dienste, die bei der Arbeit maschinelle Lernwerkzeuge nutzen, um typische Aufgaben zu lösen. Kognitive Dienste sorgen für einen besseren Interaktionsprozess zwischen Chatbot und Benutzer.

Multiplattform bezieht sich auf die Möglichkeit, einen Chatbot mit mehreren Kanälen zu verbinden, ohne den ursprünglichen Code zu ändern.

  • Umfassende Open-Source-Beispiele, um den Entwicklungsprozess zu erleichtern und einen schnellen Einstieg zu ermöglichen (es gibt viele vorgefertigte Codebeispiele auf GitHub) . Entwickler können die Chatbot-Infrastruktur auf der Azure-Plattform erweitern, indem sie neue Funktionen hinzufügen. Sie können beispielsweise weitere Kanäle hinzufügen und jeden Kanal zum Testen verwenden. Der Cosmos DB-Dienst kann zum Speichern des Konversationsstatus und der vom Benutzer eingegebenen Informationen verwendet werden. Um Ihren Chatbot zu trainieren, können Sie Sprachverständnis (LUIS) hinzufügen. Es nutzt Algorithmen des maschinellen Lernens, um besser mit Benutzern zu kommunizieren. Allerdings ist LUIS nicht kostenlos und nicht jeder Kunde möchte zusätzliche Mittel bereitstellen.
  • Chatbot-Analyse in Azure Bot Services​Chatbot erstellt auf Azure Die funktionale Struktur kann dargestellt werden als:
  • #
  • Sie können den Zusammenhang auf der rechten Liste der möglichen sehen Kanäle zum Chatbot. Diese Liste wird kontinuierlich mit neuen Plattformen aktualisiert. Ganz unten stehen die auf der Azure-Plattform verfügbaren Microsoft Cognitive Services. Diese Dienste ermöglichen die Kommunikation mit Chatbots über Sprachanfragen, Mimik, Gestik und mehr.

Das Bot Builder SDK wird zum Entwickeln von Chatbots auf Azure verwendet. Das Produkt ist gemeinfrei und sein Hauptvorteil ist die ständige Unterstützung durch Entwickler. In einem separaten Fork auf GitHub können Sie die neuesten Informationen über den Dienst erhalten oder seinen Entwicklern Fragen stellen.

Chatbot erstellen​

Bevor Sie den Code schreiben, analysieren Sie die Erstellung auf Azure Bot Service Nuances das sollte vor Chatbots berücksichtigt werden:

  • Updates für aktuelle Funktionen. Die Microsoft Corporation aktualisiert ihre Produkte ständig. Neue Updates machen oft Teile des Codes kaputt, der zuvor funktioniert hat. Stellen Sie daher sicher, dass Sie die Patchliste für neue Bot Builder SDK-Versionen verstehen, da andere Handbücher, die zur Entwicklung von Chatbots verwendet werden, möglicherweise irrelevant werden.
  • Nicht offensichtliche Lösung. Wenn Sie das Bot Builder SDK verwenden, sollten Sie stets experimentierfreudig und bereit sein, Dinge anders zu machen, als Sie es gewohnt sind.
  • Vielseitigkeit. Derselbe Chatbot kann auf verschiedene Kanäle (Telegram, Skype, Slack usw.) hochgeladen werden, ohne den Quellcode zu ändern. Bei der Entwicklung von Chatbots sollten Sie bedenken, dass jede Plattform Nuancen aufweist, die von den Entwicklern einen anderen Ansatz bei der Erstellung der Arbeitslogik der Anwendung erfordern.

(1) Kann der Chatbot die Fragen der Leute richtig verstehen?

Die Kommunikation mit dem Chatbot erfolgt über die Benutzeroberfläche. Die Benutzeroberfläche ermöglicht Entwicklern, mit dem Chatbot in einer Sprache zu kommunizieren, die er versteht. Zu diesem Zweck verwendet Microsoft Azure ein Dialogsystem, das einer bestimmten Hierarchie folgt:

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Hier sehen Sie die drei grundlegenden Möglichkeiten, eine Konversation mit einem Chatbot aufzubauen:

  • Eingabeaufforderungen – Der Chatbot interagiert mit Benutzern über Eingabeaufforderungen und Antworten. Chatbot-Informationen werden beispielsweise in Form von digitalen Eingabeaufforderungen bereitgestellt. Prompt prüft, ob der Benutzer die Eingabeaufforderung richtig beantwortet hat. Bei Erfolg wird die Konversation mit dem Chatbot fortgesetzt. Sollte der Nutzer eine falsche Antwort erhalten, wird er zur Eingabe gültiger Daten aufgefordert.
  • Wasserfall – Wasserfall ist eine Methode zum Sammeln von Informationen von Benutzern durch eine Reihe aufeinanderfolgender Aufgaben/Fragen. Jeder Schritt des Wasserfalldialogs wird als asynchrone Funktion implementiert. In jeder Phase fordert der Chatbot den Benutzer zur Eingabe von Daten auf, wartet auf eine Antwort und gibt die Ergebnisse dann an den nächsten Schritt weiter. Das Ergebnis der ersten Funktion wird als Parameter an die nächste Funktion übergeben und so weiter, bis die gesamte Problemschleife durchlaufen wurde.
  • Komponenten – Komponenten sind eine Möglichkeit, ein großes Dialogfeld in kleinere, überschaubare Teile zu zerlegen. Mit Komponenten können Entwickler ein wiederverwendbares Dialogfeld erstellen und es später in verschiedenen unabhängigen Szenarien verwenden. Sie können damit beispielsweise ein Dialogfeld erstellen, in dem der Benutzer nacheinander nach Straßenname, Adresse und Postleitzahl gefragt wird.

In der unteren Zeile sehen Sie die zulässigen Methoden zum Erstellen benutzerdefinierter Anfragen für den Chatbot:

  • Textabfrage (Text)
  • Zahlenabfrage ( Menge)
  • Datum/Uhrzeit-Anfrage (Datum/Uhrzeit)
  • Anfrage bestätigen (Bestätigen)
  • Anfrage auswählen (Auswählen)
  • Zubehöranfrage (Anhang)

Eine Abfrage ist im Wesentlichen ein stufenweiser Dialog: In der ersten Stufe fordert der Chatbot Eingabedaten an ; In der zweiten Stufe gibt er dem Benutzer einen gültigen Wert zurück , oder starten Sie die Datenabfrageschleife neu, wenn ein ungültiger Wert empfangen wird.

(2) Controller und Vorlagen

Sehen Sie sich unten den Code im Chatbot-Beispiel „Später erinnern“ von Daniil Mikhov und seine Hauptaufgaben an. Er erinnert Informieren Sie ihn über alle künftigen Maßnahmen, die er ergreifen muss.

Um den Chatbot zu erstellen, verwendete Mikhov die von Visual Studio bereitgestellte leere Vorlage, die mehrere Arten von Controllern enthält: BotController und NotifyController.

BotController empfängt Nachrichten für den Chatbot und übermittelt sie an das Chatbot-Framework. Chatbot enthält außerdem mehrere Bereitstellungsvorlagen für eine einfachere Bereitstellung von Anwendungen auf der Azure-Plattform.

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Notify Controller bestimmt, wann eine Nachricht an den Benutzer gesendet werden soll. Auf dieses Problem wird später noch näher eingegangen.

(3) Starten Sie die Funktion und füllen Sie die Registerkarte „ToDoDialog“ aus.

Gehen Sie zur Registerkarte „Startup.cs“ und sehen Sie sich deren Inhalt an. Hier sehen Sie den registrierten Fehlerhandler AdapterWithErrorHandler. Tritt in einem Programm ein Fehler auf, ist eine Reaktion der Anwendung auf den Fehler erforderlich. Beachten Sie die Registrierung von ConversationState – verwenden Sie dies, um dem Chatbot mitzuteilen, mit welchem ​​Benutzer er kommuniziert und in welcher Phase der Konversation.

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Werfen wir einen Blick auf den Inhalt der Registerkarte ToDoDialog.cs. Mikhov deklariert „waterfallSteps“, eine Reihe von Schritten für den bereits oben erwähnten Wasserfalldialog. Geben Sie in „waterfallSteps“ an, welche asynchronen Funktionen in jedem Schritt verwendet werden, um die Konversation zwischen dem Benutzer und dem Chatbot aufzubauen.

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Unten sehen Sie, welche Art von Eingabeaufforderungen der Chatbot verwenden wird. Der Inhalt hier ist ziemlich normal: Der Chatbot stellt den Leuten einige Fragen zur Veranstaltung und stellt dann Terminerinnerungen bereit.

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Führen Sie nun den Chatbot aus und testen Sie seine Funktionsweise mithilfe der Bot Framework Emulator-Schnittstelle.

(4) Erster Start und Test im Chatbot-Framework-Emulator

Beim Ausführen dieser Anwendung erscheint ein Link zu der URL, unter der der Chatbot auf Benutzernachrichten wartet.

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Bevor Sie mit dem Test beginnen, geben Sie diesen Link im Chatbot-Framework-Simulator an:

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Im ersten Kommunikationsschritt fordert der Chatbot den Benutzer auf, das erforderliche The einzugeben Ereignisname der Erinnerung. Rufen Sie dazu den folgenden Code auf :

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Beim Aufruf des Chatbots wird nun folgender Text zurückgegeben: Bitte geben Sie eine Beschreibung des Ereignisses ein. Nachdem Sie das Ereignis (z. B. den Kauf von Milch) bekannt gegeben haben, an das Sie erinnert werden möchten, rufen Sie im zweiten Schritt den Code auf. Hier bietet der Chatbot eine von drei Erinnerungszeitoptionen an:

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Achten Sie auf die Verwendung von stepContext. Es speichert alle Informationen über das Dialogfeld und zeichnet Zwischenwerte auf. Um eine Liste möglicher Erinnerungszeiten zu implementieren, wird ChoicePrompt verwendet. Diese Methode bietet dem Benutzer drei Optionen und eine mögliche Erinnerungszeit (2 Minuten, 5 Minuten oder zur gleichen Zeit am nächsten Tag) . Es hätte mehr Auswahlmöglichkeiten geben können, aber es wurden nur drei ausgewählt.

Wenn Sie die Auswahl zur Darstellung jedes neuen Auswahlzeitpunkts verwenden, erhalten Sie Folgendes: ​#🎜 🎜 #

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Im Chatbot-Framework-Simulator wird dieser Code wie folgt gerendert: Sie können verwenden Analysieren, um die Ergebnisse zu analysieren. Zur Erinnerung: Beim Parsen handelt es sich um einen automatisierten Prozess zum Sammeln und Strukturieren von Daten. Der Chatbot fragt den Benutzer dann, ob er sich über die ausgewählte Erinnerungszeit sicher ist, und bestätigt die Vereinbarung mithilfe von ConfirmPrompt:

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

# 🎜🎜## 🎜🎜#

Optisch sieht die Methode so aus:

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services#🎜 🎜 #

Der letzte Schritt besteht darin, die zuvor ausgefüllten Informationen aus StepContext zu entnehmen und ein SavedNotificationModel zu generieren, dem eine ConversationReference hinzugefügt werden muss. Ohne sie kann der Chatbot die Konversation mit dem Benutzer nicht fortsetzen oder feststellen, welcher Benutzer das Problem konkret angesprochen hat. Verwenden Sie die Wörterbuchmethode als temporäres Repository dieser Ereignisse, dank derer der Chatbot jedem spezifischen Dialog seine eindeutige Instanz-ID zuweist:

Damit wird das Gespräch mit dem Chatbot beendet. Es besteht die Möglichkeit, dem Benutzer einen Text anzuzeigen, der auf das Ende des Dialogfensters hinweist, und eine entsprechende Erinnerungsaufforderung zu erstellen: „Vielen Dank. Die Benachrichtigung wurde erfolgreich gespeichert.“

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

(5) Wie Chatbots durch die Zeit reisen

Um den Chatbot rechtzeitig zu lokalisieren, hat Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Mikhov

die notifiedcontroller-Methode NotifyTimeCheck() erstellt. Dieser Ansatz ermöglicht eine systematische Abfrage der Anwendung. Wenn ein bestimmtes Ereignis eintritt, ruft der Chatbot das Ereignis aus dem Wörterbuch ab und sendet eine Benachrichtigung an den Benutzer.

Um benachrichtigt zu werden, wird die ContinueConversationAsync()-Methode des BotAdapters aufgerufen und die ConversationReference an sie übergeben. Der erste Parameter von ContinueConversationAsync() muss immer die appId (Anwendungs-ID) des Chatbot-Dienstes sein, sonst funktioniert es nicht. Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Darüber hinaus muss der Chatbot auch daran erinnert werden, dass bei Erreichen einer bestimmten Zeit das Ereignis an das konkrete Ereignis erinnert werden muss Benutzer. Entwickler können die Azure-Funktion (BotTimerFunction) verwenden, die durch einen Zeittrigger (TimerTrigger) ausgelöst wird.

Schritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services

Jede Minute sendet die Funktion eine Anfrage an diesen Endpunkt und beginnt mit der Suche nach den angegebenen Ereignissen. Wenn der richtige Zeitrahmen erreicht ist, benachrichtigt der Chatbot den Benutzer, dass das geplante Ereignis bald stattfinden wird.

Heute sind WhatsApp, Facebook Messenger, Telegram und andere Kommunikationstools nicht nur Kommunikationsplattformen, sondern auch Businessplattformen. Chatbots helfen Unternehmen dabei, Waren und Dienstleistungen effektiv online zu verkaufen und zu bewerben. Tägliche Prozesse automatisieren, Kunden zeitnah mit den notwendigen Produktinformationen versorgen, Anfragen entgegennehmen und bearbeiten – all diese Funktionen eines richtig konfigurierten Chatbots tragen dazu bei, Benutzer in Kunden zu verwandeln. Daher sollten Sie als Entwickler bedenken, wie beliebt dieses Tool mittlerweile ist und wie cool es ist, eine solche Anwendung erstellen zu können und dadurch ein beliebter Experte zu werden.

Originaltitel: So erstellen Sie einen Chatbot mit Azure Bot Service: Schritt-für-Schritt-Anleitung, #🎜🎜 #Autor: Daniil Mikhov


Das obige ist der detaillierte Inhalt vonSchritt-für-Schritt-Anleitung zum Erstellen eines Chatbots mit Azure Bot Services. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:51cto.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen