Strona korzysta z plików cookies w celu realizacji usług i zgodnie z Polityką Plików Cookies.



25.10.2019

Skalowalna infrastruktura

Red Hat OpenStack Platform 15
25.10.2019

Cienki klient 2.0

Windows Virtual Desktop
25.10.2019

Nowy sprzęt Microsoftu

Rodzina Surface się powiększa
24.10.2019

Serwery ARM

Oracle stawia na Ampere Computing
24.10.2019

Wszechstronny i elegancki

Dell XPS 15
10.10.2019

CYBERSEC EXPO - największe w...

Bezpieczeństwo cyfrowe nie jest problemem dotyczącym jedynie działów IT. Obecnie stanowi...
30.09.2019

Nowości w wirtualizacji

VMware World 2019
30.09.2019

Bezpieczeństwo mobile-first

Android 10

Tworzenie i testowanie bota konwersacyjnego lokalnie

Data publikacji: 21-01-2019 Autor: Beata Zalewa
Widok Visual Studio 2017...

Aby zapewnić aplikacjom ludzką twarz i uczynić je bardziej przyjaznymi w użytkowaniu, możemy dodać do nich boty. Mogą one odpowiadać na pytania w zastępstwie człowieka, za ich pomocą oraz usług Face API da się logować do aplikacji albo sprawiać, że zdjęcia robione telefonem będą coraz lepsze.

 

W tym artykule stworzymy bota konwersacyjnego, którego można dowolnie rozwijać i przekształcać. Zaprogramujemy go tak, aby potrafił udzielić odpowiedzi na kilka pytań podczas konwersacji z użytkownikiem. W kolejnym artykule zintegrujemy naszego bota z aplikacją, aby potrafił podpowiedzieć, co jeszcze można z tą aplikacją zrobić w trakcie korzystania z niej.

> TWORZENIE BOTA KONWERSACYJNEGO

Zakładamy nowy projekt przez otwarcie programu Visual Studio 2017 (lub 2015) i wybranie z menu File najpierw New, potem Project. Tworzymy nową aplikację, używając szablonu Bot Application w Visual C#. Nadajemy naszemu projektowi nazwę i klikamy przycisk OK.

Aplikacja, którą stworzyliśmy za pomocą tego szablonu, ma wstępnie zdefiniowany kod w pliku MessagesController.cs, który znajduje się w folderze Controllers. Automatycznie utworzona klasa MessageController zawiera dwie metody: Post i HandleSystemMessage.

public async Task<HttpResponseMessage>
Post([FromBody]Activity activity)
private Activity HandleSystemMessage(Activity message)

W domyślnie wygenerowanym kodzie metoda Post otrzymuje informacje o tym, jaką czynność (activity) wykonał użytkownik. Jeśli ta czynność jest typu Message, to jest przetwarzana w metodzie Post. Jeśli czynność jest innego typu, to przetwarza ją metoda HandleSystemMessage. Kod w metodzie Post rozpoczyna nową konwersację (dialog), która po prostu zwraca wiadomość wpisaną przez użytkownika i jej długość.

 

/// <summary>
/// POST: api/Messages
/// Receive a message from a user and reply to it
/// </summary>
public async Task<HttpResponseMessage> Post([FromBody]Activity activity)
{
if (activity.Type == ActivityTypes.Message)
{
await Conversation.SendAsync(activity, () => new Dialogs.RootDialog());
}
else
{
HandleSystemMessage(activity);
}
var response = Request.CreateResponse(HttpStatusCode.OK);
return response;
}

 

Definicja dialogu znajduje się w folderze Dialogs, w pliku RootDialog.cs.

using System;
using System.Threading.Tasks;
using Microsoft.Bot.Builder.Dialogs;
using Microsoft.Bot.Connector;
namespace ZalnetBot.Dialogs
{
[Serializable]
public class RootDialog : IDialog<object>
{
public Task StartAsync(IDialogContext context)
{
context.Wait(MessageReceivedAsync);
return Task.CompletedTask;
}
private async Task MessageReceivedAsync(IDialogContext context, IAwaitable<object> result)
{
var activity = await result as Activity;
// calculate something for us to return
int length = (activity.Text ?? string.Empty).Length;
// return our reply to the user
await context.PostAsync($"You sent {activity.Text} which was {length} characters");
context.Wait(MessageReceivedAsync);
}
}
}

Należy tutaj zwrócić uwagę na dwie przestrzenie: Microsoft Bot Builder i Microsoft Bot Connector. Korzystając z Bot Builder, możemy bezproblemowo tworzyć interaktywne boty, pisząc kod w języku C#, dzięki czemu odpowiednie funkcje są udostępniane użytkownikowi. Główną funkcją Microsoft Bot Connector jest pomoc w pisaniu bota konwersacyjnego, który udostępnia w internecie interfejs API zgodny z Microsoft Bot Framework i umożliwia przesłanie tych wiadomości z bota do użytkownika.

 

[...]

 

Niezależny konsultant, trener i prelegent na konferencjach. Od ponad 10 lat zajmuje się technologiami firmy Microsoft, głównie .NET, SQL Server, SharePoint i Azure, w tym programowaniem i optymalizacją aplikacji i baz danych.  

Pełna treść artykułu jest dostępna w papierowym wydaniu pisma.

.

Transmisje online zapewnia: StreamOnline

All rights reserved © 2019 Presscom / Miesięcznik "IT Professional"