- Cel
- Opis funkcjonalności
- Schemat działania
- Architektura
- Demo
- Opis wybranych serwisów
- Stos technologiczny
- Zespół
Celem projektu było stworzenie bota służącego do sprawdzania, czy składniki z etykiet produktów spożywczych są odpowiednie dla wybranej przez użytkownika diety.
Użytkownik dzięki temu oszczędza czas na wyszukiwaniu składników, których nie jest pewien, czy należą do konkretnej diety.
Bot umożliwia:
- prowadzenie rozmowy z użytkownikiem poprzez czat,
- przesyłanie zdjęć,
- rozpoznawanie tekstu ze zdjęć etykiet,
- określenie, czy produkt jest odpowiedni dla wybranej diety.
- Użytkownik nawiązuje kontakt z botem.
- Bot wysyła prosbę o zdjęcie etykiety produktu.
- Użytkownik przesyła zdjęcie.
- Bot wysyła prośbę o wybranie pożądanej diety.
- Użytkownik wybiera dietę.
- Bot wysyła wynik oceny czy produkt jest odpowiedni dla wybranej diety.
Bot Service wykorzystuje Cosmos DB do pobierania danych dotyczących diet oraz Cognitive Service (OCR) do pozyskiwania listy składników ze zdjeć.
Bot Services – umożliwia tworzenie środowisk konwersacyjnych w prostu sposób. Zapewnia zintegrowane środowisko programistyczne do tworzenia botów zarówno bez pisania kodu, jak i przy pomocy Bot Framework SDK (dostępne w kilku językach np. JavaScript, Python, C#).
Podczas projektu stworzono bota przy użyciu SDK dla ASP.NET Core 6 oraz testowano go przy użyciu Bot Framework Emulator.
App Services – oparte o HTTP serwisy przeznaczone do hostowania aplikacji internetowych, RESTowych API i back-endu aplikacji mobilnych. Umożliwiają pisanie kodu w szerokiej gamie języków programowania i technologii.
W projekcie serwis ten wykorzystano w celu upublicznienia kodu odpowiedzialnego za logikę aplikacji oraz komunikację między botem, bazą danych a Cognitive Services.
Cosmos DB – szybka, rozproszona i nierelacyjna baza danych, która skaluje w zależności od obciążenia. Umożliwia zamieszczanie danych, jako zestawy "dokumentów".
W projekcie była używana do zamieszczenia zestawu danych dostarczających informacji o dietach, oraz do pozyskiwania tych informacji przez bota.
Cognitive Services – zbiór usług w obrębie chmurowej platformy Microsoft Azure opartych o sztuczną inteligencję, które w prosty sposób, czyli bez specjalistycznej wiedzy z zakresu AI oraz analizy danych, umożliwiają aplikacjom w pewnym sensie zyskanie zdolności widzenia, słyszenia, mowy czy analizy.
Podczas realizacji projektu wykorzystano część usługi związaną z rozpoznawaniem zdjęć, a mianowicie OCR – Optical Character Recognition. Narzędzie to pozwala na odczytanie tekstu – drukowanego lub pisanego ręcznie – ze zdjęcia. W szczególności wykorzystane ono zostało do uzyskania listy składników z fotografii etykiety produktu spożywczego.
- ASP.NET Core 6.0
- Bot Framework SDK for C#
-
Kacper Tarłowski
- implementacja bota
- projektowanie działania
-
Jakub Gromiński
- research danych
- przygotowanie cognitive service
- projektowanie działania
-
Bartłomiej Kopyść
- przygotowanie Cosmos DB
- pozyskiwanie danych
- projektowanie działania
- przygotowanie grupy na Azure