Utilizziamo il Bot Framework per realizzare il nostro primo Bot utilizzabile sulle maggiori piattaforme di Messaging (facebook, telegram, skype, slack e molto altro) e con la potenza dei cognitive rendiamo in grado di analizzare e reagire alle immagini che invieeremo.
Utilizziamo il Bot Framework per realizzare il nostro primo Bot utilizzabile sulle maggiori piattaforme di Messaging e con la potenza dei cognitive rendiamo in grado di analizzare e reagire alle immagini che invieremo
Build, connect, deploy, and manage intelligent bots to interact naturally with your users on websites, apps, Cortana, Microsoft Teams, Skype, Slack, Facebook Messenger, and more.
I servizi offerti dalla piattaforma BING consentono di realizzare facilmente applicazioni per Windows 8.1 moderne ed evolute. Le funzionalità di Speech Recognition, ad esempio, consentono di fornire all'utente un diverso modo per interagire con la nostra applicazione mentre le funzionalità infrastrutturali di App Linking ci permettono di integrare la nostra applicazione all'interno dei risultati della Smart Search di Windows 8.1, consentendoci di essere più visibili e, quindi, di avere un maggior successo.
Slide della sessione "BING e Windows Store App" tenuta al DotNetCampus 2014 a Roma il 10/05/2014
Utilizziamo il Bot Framework per realizzare il nostro primo Bot utilizzabile sulle maggiori piattaforme di Messaging e con la potenza dei cognitive rendiamo in grado di analizzare e reagire alle immagini che invieremo
Build, connect, deploy, and manage intelligent bots to interact naturally with your users on websites, apps, Cortana, Microsoft Teams, Skype, Slack, Facebook Messenger, and more.
I servizi offerti dalla piattaforma BING consentono di realizzare facilmente applicazioni per Windows 8.1 moderne ed evolute. Le funzionalità di Speech Recognition, ad esempio, consentono di fornire all'utente un diverso modo per interagire con la nostra applicazione mentre le funzionalità infrastrutturali di App Linking ci permettono di integrare la nostra applicazione all'interno dei risultati della Smart Search di Windows 8.1, consentendoci di essere più visibili e, quindi, di avere un maggior successo.
Slide della sessione "BING e Windows Store App" tenuta al DotNetCampus 2014 a Roma il 10/05/2014
Sessione "Fun with Machine Translation APIs" tenuta al DotNetCmpus 2012.
Microsoft Translator è il frutto del reparto ricerca e sviluppo Microsoft che permette, tramite una serie di API multi protocollo, di fornire ai nostri utenti un servizio di traduzione automatica. La sessione è dedicata alla scoperta delle funzionalità e degli scenari supportati da questa innovativa piattaforma di traduziuone automatica. Durante la sessione si cercherà di dare un quadro preciso e puntuale di quando usare e quando non utilizzare un meccanismo di traduzione automatica.
Introduzione alle tecnologie client & server side che possono essere utilizzate epr la realizzazione di applicazioni mobile crossplatform usando HTML5 e Javascript
Nel corso di quest’articolo vedremo come sia possibile sfruttare il Service Builder (Liferay Inc., 2014) per creare dei servizi da esporre all’esterno non direttamente collegati all’entità gestiste dallo specifico plugin.
Quello che vogliamo ottenere è quindi un servizio personalizzato chiamato Custom Users Service disponibile pubblicamente e che sfrutti i servizi core del portale. In questo particolare scenario vogliamo fare in modo che il servizio Custom Users Service, esponga un metodo che ritorni al consumer del servizio, la lista di utenti taggati con un determinato tag (Liferay Inc., 2014).
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Visual Studio Code è il editor di codice sorgente che rende subito produttivi grazie alla sua semplicità e leggerezza ed in questo talk troverete una panoramica, oltre a tip & tricks utili.
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Antonio Russo, Federico Oldrini e Jacopo Giola di Makeitapp hanno presentato il workshop di CommitUniversity, dedicato al Backend as a Service, mostrandoci come costruire con esso un applicazione.
The document discusses the benefits of using augmented reality (AR) and Azure for creating shared AR experiences. It explains that the cloud allows for digital copies of the real world to be securely stored and processed, enabling any user to access shared AR content from any device. A key concept discussed is spatial anchors, which link virtual content to physical locations even when a user's view of that location changes. The document outlines example use cases like collaborative design reviews, training guidance, wayfinding, and persistent multi-user virtual content. It also provides an overview of how Azure Spatial Anchors works, including the use of cloud spatial anchors, anchor creation and location, and considerations for user experience.
Realtà aumentata ed Azure, un binomio imbattibileAlessio Iafrate
1) The document discusses how augmented reality and Azure are an unbeatable combination. It provides examples of how AR can be used for wayfinding, collaborative design reviews using persistent multi-user virtual content, and empowering firstline workers and those with low vision.
2) The cloud plays a role in AR by providing secure storage and scalable processing for a digital copy of the real world that can be accessed by any user from any device for shared AR content.
3) The document then discusses an example solution architecture for shared AR notes using Azure Spatial Anchors, an Azure App Service, Azure Cosmos DB and a sharing service.
Sessione "Fun with Machine Translation APIs" tenuta al DotNetCmpus 2012.
Microsoft Translator è il frutto del reparto ricerca e sviluppo Microsoft che permette, tramite una serie di API multi protocollo, di fornire ai nostri utenti un servizio di traduzione automatica. La sessione è dedicata alla scoperta delle funzionalità e degli scenari supportati da questa innovativa piattaforma di traduziuone automatica. Durante la sessione si cercherà di dare un quadro preciso e puntuale di quando usare e quando non utilizzare un meccanismo di traduzione automatica.
Introduzione alle tecnologie client & server side che possono essere utilizzate epr la realizzazione di applicazioni mobile crossplatform usando HTML5 e Javascript
Nel corso di quest’articolo vedremo come sia possibile sfruttare il Service Builder (Liferay Inc., 2014) per creare dei servizi da esporre all’esterno non direttamente collegati all’entità gestiste dallo specifico plugin.
Quello che vogliamo ottenere è quindi un servizio personalizzato chiamato Custom Users Service disponibile pubblicamente e che sfrutti i servizi core del portale. In questo particolare scenario vogliamo fare in modo che il servizio Custom Users Service, esponga un metodo che ritorni al consumer del servizio, la lista di utenti taggati con un determinato tag (Liferay Inc., 2014).
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
Visual Studio Code è il editor di codice sorgente che rende subito produttivi grazie alla sua semplicità e leggerezza ed in questo talk troverete una panoramica, oltre a tip & tricks utili.
Programma il futuro: una scelta open sourceMarco Ferrigno
Un'analisi tecnica dello strumento che avrà un grande impatto culturale sul futuro del nostro Paese: Programma Il Futuro. Nato da un'idea che ha visto coinvolti Il MIUR, il CINI – Consorzio Interuniversitario Nazionale per l’Informatica - e aziende IT intervenute come sponsor, l'iniziativa ha l’obiettivo di fornire alle scuole una serie di strumenti semplici, divertenti e facilmente accessibili per formare gli studenti ai concetti di base dell'informatica. Il fine ultimo è dunque la formazione sin dalla tenera età del pensiero computazionale. Scopriremo insieme al collega Mario Rossano (responsabile della progettazione software) il perchè di un approccio opensource ad un progetto ad elevata criticità per il sistema Paese.
Linux Day 2014 - Napoli - Programma Il Futuro: una scelta open sourceMario Rossano
Slide di presentazione del progetto Programma Il Futuro (http://www.programmailfuturo.it) che mi ha visto come progettista del software in cooperazione con Marco Ferrigno che ha curato l'infrastruttura di rete.
Il progetto, ideato dal prof. Giorgio Ventre (Univ. "Federico II" di Napoli) ed il prof. Enrico Nardelli (Univ. di Roma "Tor Vergata") per il CINI (Consorzio Interuniversitario Nazionale per l'Informatica) ed il MIUR (Ministero dell'Istruzione, Università e Ricerca), fa parte de "La Buona Scuola", iniziativa promossa dal Ministro Giannini, in collegamento con il progetto internazionale Code.org tra i cui testimonial Barak Obama.
Il portale, che è il primo ad integrare la crittografia frattale FNA che ho sviluppato, ha come cuore il sistema di registrazione con profilazione capillare - a nodi - degli utenti, ed il bridge di comunicazione (un hack) verso il sistema di registrazione di code.org e di hourofcode.com.
Nelle slides i link ipertestuali verso pastebin.com dove sono riportate alcune parti del codice crittografico e del bridge in Perl.
Antonio Russo, Federico Oldrini e Jacopo Giola di Makeitapp hanno presentato il workshop di CommitUniversity, dedicato al Backend as a Service, mostrandoci come costruire con esso un applicazione.
Similar to Da A a Bot con un pizzico di Cognitive (20)
The document discusses the benefits of using augmented reality (AR) and Azure for creating shared AR experiences. It explains that the cloud allows for digital copies of the real world to be securely stored and processed, enabling any user to access shared AR content from any device. A key concept discussed is spatial anchors, which link virtual content to physical locations even when a user's view of that location changes. The document outlines example use cases like collaborative design reviews, training guidance, wayfinding, and persistent multi-user virtual content. It also provides an overview of how Azure Spatial Anchors works, including the use of cloud spatial anchors, anchor creation and location, and considerations for user experience.
Realtà aumentata ed Azure, un binomio imbattibileAlessio Iafrate
1) The document discusses how augmented reality and Azure are an unbeatable combination. It provides examples of how AR can be used for wayfinding, collaborative design reviews using persistent multi-user virtual content, and empowering firstline workers and those with low vision.
2) The cloud plays a role in AR by providing secure storage and scalable processing for a digital copy of the real world that can be accessed by any user from any device for shared AR content.
3) The document then discusses an example solution architecture for shared AR notes using Azure Spatial Anchors, an Azure App Service, Azure Cosmos DB and a sharing service.
Custom Vision e Win.ml per le nostre app intelligenti offlineAlessio Iafrate
La mia sessione per Azure Day Rome 2019 per mostrare come creare un'applicaizone uwp che utilizza un modello creato con Custom Vision e Win.ml per funzionare offline
Santa Claus Alert: ovvero come sfruttare WinML per intercettare babbo nataleAlessio Iafrate
Come utilizzare Winml e un modello onnx per poter realizzare un sistema di sorveglianza, la presentazione è realizzata a tema natalizio per l'evento xmasdev 2018
This document discusses Windows 10 and the Universal Windows Platform (UWP). It explains that Windows 10 will have a common core and development platform across devices like phones, tablets, desktops, Xbox and more. Developers will be able to write apps once and deploy them across all Windows 10 devices and stores using common APIs and tools in the UWP.
1. powered bypowered by
Cos’è un bot
Come sviluppare un bot con Microsoft Bot Framework
Cognitive services
Custom vision
Pubblicazione
Agenda
Da A a Bot con un pizzico di
Cognitive
4. powered bypowered by
ll bot è un programma che accede alla rete attraverso lo stesso tipo di
canali utilizzati dagli utenti umani.
Programmi di questo tipo sono diffusi in relazione a molti diversi servizi in
rete, con scopi vari, ma in genere legati all'automazione di compiti che
sarebbero troppo gravosi o complessi per gli utenti umani.
(Fonte Wikipedia)
Cosa è un bot?
5. powered bypowered by
Facebook Messenger
Telegram
Skype
Slack
Cortana
SMS
Sito Web
Email
………….
Dove posso ospitare un bot
6. powered bypowered by
Per ogni piattaforma abbiamo API differenti con metodologie diverse di
sviluppo e concetti propri di ogni servizio.
- Sviluppo per ogni singola piattaforma
- Utilizzo framework comune (Es. Microsoft Bot Framework)
Come lo sviluppo?
7. powered bypowered by
Account azure anche in versione trial
Conoscenze di C# o node.js
Visual Studio anche in versione community (opzionale)
La lista della spesa
8. powered bypowered by
Bot Framework Connector (Singola Api rest che permette al bot di
comunicare con i vari canali)
Activity (Oggetto contenente i vari dati della conversazione)
Dialog (Gestisce la conversazione)
State (Gestione dati associati all’utente, alla conversazione e all’utente
nella conversazione)
Concetti base
10. powered bypowered by
Un’occhiata al codice - Il controller
La classe principale del
progetto è un controller che
gestisce le chiamate in
ingresso ed in base al tipo e
distingue tra un messaggio
inviato oppure operazioni di
gestione ( typing, ping,
aggiunta e rimozione di
membri dalla conversazione
ecc)
11. powered bypowered by
Un’occhiata al codice - Dialog
La classe dialog permette di
gestire i messaggi inviati
dall’utente con tutti i dettagli
associati e di rispondere di
conseguenza
12. powered bypowered by
Memorizziamo i dati
Il bot builder SDK permette di
memorizzare i dati delle sessioni in
• Memoria (volatile)
• Azure table
• Database SQL
• CosmosDB
Nel template di default la registrazione
viene eseguita nel metodo
Application_Start del Global.asax
13. powered bypowered by
Come gestisco il debug?
Con il bot framework
emulator possiamo testare
in locale il nostro bot con
una semplice interfaccia
che mostra anche il log
delle chiamate
E’ open source e disponibile
su github
15. powered bypowered by
Cosa ci fornisce il framework:
Gestione dello stato dell’utente
Domanda e risposta (Richiesta di informazioni o selezione di una
scelta)
Invio messaggio ad un’utente a seguito di un evento lato server
Interagire con l’utente
16. powered bypowered by
Il context permette di gestire i dati associati all’utente e per farlo abbiamo
a disposizione
UserData relativo allo User
ConversationData relativo alla Conversazione
PrivateConversationData relativo a quell’utente in quella specifica
conversazione
Per gestirli esistono i relativi metodi get e set (GetUserData,
SetUserData, ecc)
Lo stato dell’utente
17. powered bypowered by
Un’occhiata al codice - PromptDialog
La classe PromptDialog permette di gestire le conversazioni basate basate su domanda e risposta, in
questo caso il metodo Text (o quello relativo al dato che vogliamo ottenere) prende come parametro
una callback alla funzione da richiamare direttamente dopo che l’utente ha inviato una risposta
18. powered bypowered by
Un’occhiata al codice - Proactive Message
Per inviare un messaggio all’utente è necessario ricreare tutta la cascata di connessioni per
raggiungerlo utilizzando i dati memorizzati precedentemente
23. powered bypowered by
Integriamo il tutto
Con una semplice chiamata
Rest è possibile inviare i
dati della nostra immagine e
ricevere i dati
dell’elaborazione
24. powered bypowered by
Come leggere le immagini inviate
Il message contiene una
lista di file in Attachments
che contengono l’url da cui
con una semplice chiamata
http è possibile scaricare i
files che ci sono stati inviati
Connector
The Bot Framework Connector provides a single REST API that enables a bot to communicate across multiple channels such as Skype, Email, Slack, and more
Activity
The Connector uses an Activity object to pass information back and forth between bot and channel (user). The most common type of activity is message, but there are other activity types that can be used to communicate various types of information to a bot or channel
Dialog
When you create a bot using the Bot Builder SDK for .NET, you can use dialogs to model a conversation and manage conversation flow. A dialog can be composed of other dialogs to maximize reuse, and a dialog context maintains the stack of dialogs that are active in the conversation at any point in time. A conversation that comprises dialogs is portable across computers, which makes it possible for your bot implementation to scale.
State
The Bot Builder Framework enables your bot to store and retrieve state data that is associated with a user, a conversation, or a specific user within the context of a specific conversation. State data can be used for many purposes, such as determining where the prior conversation left off or simply greeting a returning user by name. If you store a user's preferences, you can use that information to customize the conversation the next time you chat.
For testing and prototyping purposes, you can use the Bot Builder Framework's in-memory data storage. For production bots, you can implement your own storage adapter or use one of Azure Extensions. The Azure Extensions allow you to store your bot's state data in either Table Storage, CosmosDB, or SQL