Was ist das Bot Framework SDK?

GILT FÜR: SDK v4

Microsoft Bot Framework und Azure Bot Service sind eine Sammlung von Bibliotheken, Tools und Diensten, mit denen Sie intelligente Bots erstellen, testen, bereitstellen und verwalten können. Das Bot Framework enthält ein modulares und erweiterbares SDK zum Erstellen von Bots und zum Herstellen einer Verbindung mit KI-Diensten. Mit diesem Framework können Entwickler Bots erstellen, die Sprache verwenden, natürliche Sprache verstehen, Fragen beantworten und vieles mehr.

Tipp

Eine Liste der Microsoft Produkte und Dienste zum Erstellen von Bots, wen diese unterstützen, sowie eine kurze Beschreibung der einzelnen Produkte und Dienste finden Sie unter Auswählen der richtigen Chatbotlösung für Ihren Anwendungsfall.

Was ist ein Bot?

Bots bieten eine Erfahrung, die sich weniger wie die Verwendung eines Computers anfühlt, als wie der Umgang mit einer Person oder einem intelligenten Roboter. Sie können Bots verwenden, um einfache, sich wiederholende Aufgaben – z. B. eine Reservierung für ein Abendessen oder das Sammeln von Profilinformationen – auf automatisierte Systeme zu verschieben, die möglicherweise keine direkte menschliche Intervention mehr erfordern. Benutzer kommunizieren mit einem Bot mithilfe von Text, interaktiven Karten und Spracheingabe/-ausgabe. Eine Botinteraktion kann eine schnelle Antwort auf eine Frage oder eine involvierte Unterhaltung sein, die intelligent zugriff auf Dienste ermöglicht.

Eine Möglichkeit, sich einen Bot zu vorstellen, ist eine Webanwendung, die über eine Konversationsschnittstelle verfügt. Ihre Benutzer stellen über einen Kanal wie Facebook, Slack, Microsoft Teams oder eine benutzerdefinierte Anwendung eine Verbindung mit Ihrem Bot her.

  • Je nachdem, wie der Bot konfiguriert ist und wie er beim Kanal registriert wird, können Interaktionen in Text oder Sprache erfolgen und Bilder und Videos enthalten.
  • Der Bot verarbeitet die Eingaben des Benutzers, um zu interpretieren, was der Benutzer angefordert oder gesagt hat.
  • Der Bot wertet Eingaben aus und führt relevante Aufgaben aus, z. B. den Benutzer nach zusätzlichen Informationen fragen oder im Namen des Benutzers auf Dienste zugreifen.
  • Der Bot antwortet dem Benutzer, um den Benutzer darüber zu informieren, was der Bot tut oder getan hat.

Ein Remotebot interagiert mit einem Benutzer auf einem Gerät über Text, Sprache, Bilder oder Video.

Bots werden häufig als Webanwendung implementiert, in Azure gehostet und verwenden APIs zum Senden und Empfangen von Nachrichten. Was in einem Bot vorhanden ist, hängt stark davon ab, um welche Art von Bot es sich handelt und was sein Zweck ist. Ein Bot kann Nachrichten empfangen und mit wenig Code an den Benutzer zurückgeben. Ein komplexerer Bot kann sich auf verschiedene Tools und Dienste verlassen, um umfassendere Erfahrungen auf einer Vielzahl von Plattformen bereitzustellen.

Bots können die gleichen Aufgaben ausführen, die andere Softwaretypen ausführen können: Lesen und Schreiben in Dateien, verwenden Datenbanken und APIs und führen die regulären Rechenaufgaben aus. Was Bots einzigartig macht, ist die Verwendung von Mechanismen, die in der Kommunikation zwischen Menschen verwendet werden.

Azure Bot Service und Bot Framework umfassen Folgendes:

  • Bot Framework SDKs für die Entwicklung von Bots in C#, JavaScript, Python oder Java. (Die Python- und Java-SDKs werden eingestellt, und der endgültige langfristige Support endet im November 2023.)
  • CLI-Tools zur Unterstützung bei der End-to-End-Botentwicklung.
  • Bot Connector Service, der Nachrichten und Ereignisse zwischen Bots und Kanälen weitergibt.
  • Azure-Ressourcen für die Botverwaltung und -konfiguration.

Darüber hinaus können Bots andere Azure-Dienste verwenden, beispielsweise:

  • Azure Cognitive Services zum Erstellen intelligenter Anwendungen
  • Azure Storage für Cloudspeicherlösungen

Erstellen eines Bots

Azure Bot Service und Microsoft Bot Framework bieten einen integrierten Satz von Tools und Diensten, mit denen Sie Bots in allen Phasen des Botlebenszyklus entwerfen und erstellen können. SDKs sind für C#, Java, JavaScript, TypeScript und Python vorhanden. Wählen Sie Ihre bevorzugte Entwicklungsumgebung oder Befehlszeilentools, um Ihren Bot zu erstellen.

Abbildung der Schritte im Lebenszyklus des Bots.

Planen

Wie bei jeder Art von Software ist ein umfassendes Verständnis der Ziele, Prozesse und Benutzeranforderungen für das Erstellen eines erfolgreichen Bots wichtig. Sie können einen einfachen Bot erstellen oder komplexere Funktionen wie Spracheingabe, Verständnis natürlicher Sprache oder Beantwortung von Fragen hinzufügen.

Lesen Sie vor dem Schreiben von Code die Richtlinien für den Botentwurf , um bewährte Methoden zu ermitteln und die Anforderungen für Ihren Bot zu ermitteln.

Entwickeln

In der Regel ist ein Bot ein Webdienst, der in Azure gehostet wird. In Azure können Sie Ihren Bot so konfigurieren, dass Nachrichten und Ereignisse von verschiedenen Kanälen gesendet und empfangen werden. Sie können Bots in einer beliebigen Anzahl von Umgebungen und Sprachen erstellen. Sie können einen Bot für die lokale Entwicklung erstellen.

Mit Azure Bot Service und Bot Framework können Sie andere Bibliotheken und Dienste verwenden, um die Funktionalität Ihres Bots zu erweitern. In dieser Tabelle werden einige der features beschrieben, die vom SDK unterstützt werden.

Funktion BESCHREIBUNG Weitere Informationen
Arbeitsspeicher und Speicher Beibehalten des Benutzer- und Konversationszustands Verwalten des Zustands
Verstehen natürlicher Sprache Interpretieren und Extrahieren von Informationen aus Benutzereingaben Sprachverständnis
Umfangreiche Karten Kombinieren von Text und anderen Medien wie Bildern, Audio, Video und Schaltflächen Hinzufügen von Medien und Karten

Befehlszeilentools, die Ihnen beim Erstellen, Verwalten und Testen von Botressourcen helfen. Weitere Informationen finden Sie unter Azure CLI und Bot Framework Tools.

Vollständige Codebeispiele finden Sie im Repository Bot Framework-Beispiele. Die Beispiele veranschaulichen viele Funktionen des SDK.

Test

Bots sind komplexe Apps, in denen viele verschiedene Teile zusammenarbeiten. Wie bei jeder komplexen App kann dies zu einigen interessanten Fehlern führen oder bei Ihrem Bot ein anderes Verhalten als das erwartete verursachen. Testen Sie Ihren Bot vor der Veröffentlichung. Wir bieten mehrere Methoden zum Testen von Bots, bevor sie zur Verwendung freigegeben werden:

  • Testen Sie Ihren Bot lokal mit dem Bot Framework Emulator. Bot Framework Emulator ist eine eigenständige App, die nicht nur über eine Chatschnittstelle, sondern auch über Debug- und Abfragetools verfügt. Mit diesen Tools können Sie ermitteln, wie Ihr Bot funktioniert und warum bestimmte Vorgänge durchgeführt werden. Der Emulator kann lokal zusammen mit Ihrer In-Development-Botanwendung ausgeführt werden.

  • Testen Sie Ihren Bot im Web. Nachdem er über das Azure-Portal konfiguriert wurde, ist Ihr Bot auch über eine Webchat-Schnittstelle erreichbar. Die Webchat-Schnittstelle ist eine hervorragende Möglichkeit, Testern und anderen Personen, die keinen direkten Zugriff auf den ausgeführten Code des Bots haben, Zugriff auf Ihren Bot zu gewähren.

  • Komponententest für Ihren Bot mit dem aktuellen Bot Framework SDK.

Veröffentlichen

Wenn Sie bereit sind, dass Ihr Bot im Web verfügbar ist, stellen Sie Ihren Bot in Azure oder in Ihrem eigenen Webdienst oder Rechenzentrum bereit. Für das Aktivieren Ihres Bots auf Ihrer Website oder in Chatkanälen benötigen Sie zuerst eine Adresse im öffentlichen Internet.

Verbinden

Verbinden Sie Ihren Bot über Twilio mit Kanälen wie Facebook, Messenger, Slack, Microsoft Teams, Telegram und SMS. Bot Framework übernimmt den größten Teil der erforderlichen Arbeit, um Nachrichten von all diesen verschiedenen Plattformen zu senden und zu empfangen. Ihre Botanwendung empfängt unabhängig von der Anzahl und dem Typ der Kanäle, mit der sie verbunden ist, einen einheitlichen, normalisierten Nachrichtenstrom. Informationen zum Hinzufügen von Kanälen finden Sie im Thema Kanäle.

Evaluate

Verwenden Sie die im Azure-Portal gesammelten Daten, um Möglichkeiten zur Verbesserung der Funktionen und der Leistung Ihres Bots zu ermitteln. Sie können einen Servicelevel und Instrumentierungsdaten wie Datenverkehr, Latenz und Integrationen abrufen. Analytics bietet außerdem Berichterstellung zu Benutzer, Nachricht und Kanaldaten auf Konversationsebene. Weitere Informationen hierzu finden Sie im Artikel zum Erfassen von Analysen.

Nächste Schritte