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


23.04.2019

Optymalizacja zużycia chmury

HPE GreenLake Hybrid Cloud
23.04.2019

Zarządzanie wydajnością

VMware vRealize Operations 7.5
19.04.2019

Technologie open source

SUSECON 2019
19.04.2019

Wyjątkowo małe

OKI seria C800
19.04.2019

Łatwy montaż

Rittal AX i KX
18.04.2019

Technologie wideo

Avaya IX Collaboration Unit
18.04.2019

Krótki rzut

Optoma W318STe i X318STe
18.04.2019

Do mobilnej pracy

Jabra Evolve 65e
27.03.2019

Pożegnanie z systemem Windows...

System operacyjny Windows 7 wciąż cieszy się dużą popularnością wśród użytkowników...

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"