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


10.06.2019

Inteligentne zarządzanie...

W dniach 11, 12 i 13 czerwca – odpowiednio – w Gdańsku, w Warszawie i w Katowicach,...
27.05.2019

Rozwiązania na platformie GCP

Citrix SD-WAN i Citrix ADC
27.05.2019

Chmura hybrydowa

Dell Technologies Cloud
27.05.2019

Uproszczona komunikacja

Cisco Webex
24.05.2019

Konferencja IT Manager of...

W dniach 12–14 czerwca w Sopocie odbędzie się konferencja IT Manager of Tomorrow 2019. To...
24.05.2019

Ochrona sieci

Fortinet FortiOS 6.2
24.05.2019

Mniejsza złożoność

Rittal VX25 Ri4Power
24.05.2019

All-in-one NAS

QNAP TDS-16489U R2
24.05.2019

Układy SoC

AMD Ryzen Embedded R1000

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.  

Artykuł pochodzi z miesięcznika: IT Professional

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"