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



21.02.2019

Wdrażanie projektów AI

Infrastruktura OVH
21.02.2019

Certyfikacja kluczy

HEUTHES-CAK
21.02.2019

Kopie zapasowe

Veeam Availability for AWS
21.02.2019

Dysk SSD Samsung 970 EVO Plus

Dysk SSD Samsung 970 EVO Plus
21.02.2019

Szyfrowane USB

Kingston IronKey D300 Serialized
21.02.2019

Bezpieczeństwo sieci

Check Point Maestro i seria 6000
21.02.2019

Ochrona danych

Commvault IntelliSnap i ScaleProtect
21.02.2019

Ułatwienie telekonferencji

Plantronics Calisto 3200 i 5200
21.02.2019

Transformacja centrów danych

Fujitsu PRIMEFLEX for VMware vSAN

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"