Software Architect / Microsoft MVP (AI) and Pluralsight Author

Bot Framework, C#, Chatbots, Cognitive Services, Machine Learning

Announcements from Microsoft Ignite 2020

It’s been a few weeks since Microsoft Ignite wrapped up.  I took a note of the announcements that caught my interest and have documented them in this blog post.

Announcements from the following are detailed:

  • .NET 5
  • C# 9.0
  • Azure Cognitive Services
  • Azure Bot Service
  • Azure Machine Learning
  • Microsoft Bot Framework
  • Microsoft Partnership with OpenAI and GPT-3

There were loads more of announcements during Ignite but these are the ones that I’m looking at, working with or have plans to use.

.NET 5 – Release Candidate now available

This is the next big release of .NET after .NET Core. It’s a massive departure from the different flavours of .NET in that regardless of the device or OS you need to target, from a coding perspective, the developer experience stays the same.

You use same set of APIs, namespaces, and technology.  This makes it simple to swap between different platforms or environments.

You can .NET 5 to target Windows, Linux, macOS, iOS, Android and much more.  Another nice feature about .NET 5 is that it produces a single .NET runtime and can be used anywhere.

C# 9.0 Record

Records are classes which are like tuples. I’ve not used tuples very much as I prefer the type safety and development experience of a strongly typed object. Records in C# 9.0 do this for you.

This new feature makes it possible for you to define classes that hold small amounts of data. For example, here we can see a record that hold user information for a login screen:

public record LoginResource(string Username, string Password, bool RememberMe);

This is near identical to writing the following class:

public class LoginResource
{
    public LoginResource(string username, string password)
    {
        Username = username;
        Password = password;
    }
    public string Username { get; init; }
    public string Password { get; init; }
}

Note: This example was taken from the .NET blog. You can find more information about .NET 5 and the record datatype here.

Azure Cognitive Services

For the last few months, I’ve been moving into adding voice capabilities to chatbots building using the Bot Framework.

One involves looking at IVR solutions. One part of a potential solution involves integrating Twilio Streams, Azure Speech to Text (STT) and Text to Speech (TTS). One concern I had with implementing this is network lag.

Speech Containers

This is no longer a concern as during Ignite STT and TTS containers are now Generally Available.  Integrating a container will vastly improve the performance of real-time transcription of streams from Twilio.

You can find out more about this announcement here.

Speech Language Detection Container

This new capability let’s you determine the language being spoken for a given audio. I’ve still to try this with my Scottish accent though!

Find out more about this capability here.

Azure Machine Learning

One thing I want to explore depth is audience segmentation using data and signals from 3rd party APIs. I’ve built my own custom APIs to do this but keen to leverage Azure Machine Learning to further enhance the custom API’s I’ve built.

I’ve had been experimenting with ML.NET and one of the Clustering algorithms to help do this.

The Azure Machine Learning announcements turned my head though.  Three products are now GA.

  • Designer
  • Auto ML
  • ML Assisted Labelling

Each of these make it a bit easier to build and deploy models.  The Designer gives you visual tooling to help you pre-process, model, evaluate data. AutoML let’s you automatically build and deploy predictive machine learning models and can remove time consuming tasks.

Find out more about this announcement here.

Microsoft Bot Framework

I continue to build chatbots and have been working with the Bot Framework from v3. A lot has changed since then.  These are the main announcements I found:

Bot Framework Composer v1.1.1

One of the most common tasks you have when creating chatbots with the Bot Framework is developing dialogues. Composer lets you do this using a drag n drop interface.

I’ve been using Composer for many months and it’s a solid product. One of the best things about Composer is that you can easily integrate any generated assets with your existing C# bot code.

Other notable updates to Composer include:

  • QnA pairs can be added / edited from within Composer (rather than leaving the IDE)
  • Multi-language bots and locale support for bots
  • Native support for Skills
  • Intellisense support
  • Support for Power Virtual Agents

 

Orchestrator Public Preview

Dialogues are only one component of the chatbot stack.  Most bots need to leverage different technologies to be useful – natural language processing for example. Integrating these and routing requests can be made simpler my using Orchestrator.

Azure Bot Service – Alexa and WhatsApp

The Alexa Channel for Azure Bot Service (ABS) is now GA!  A new partnership with InfoBip makes it possible to surface chatbots in WhatsApp.

Find out more about Bot Framework announcements here.

Microsoft Partnership with OpenAI to license GPT-3 language model

GPT-3 is the largest and most advanced language model on the planet. The model developed by artificial intelligence and research lab OpenAI (who’s founders include Elon Musk and Sam Altman) has been making plenty of headlines.

It uses 175 billion parameters from datasets that include but are not limited to, Google Books, Wikipedia, coding tutorials and can generate human like text.

During Ignite, Microsoft announced they are teaming up with Open AI to license GPT-3 with the capability will be delivered over Azure.

From a developer’s perspective, I’ll be interested in seeing how the capabilities that ship with GPT-3 can be fused with existing applications. It’ll be exciting to see what the community will come up with using this powerful technology.

Read more about this announcement here.

Summary

In this blog post I’ve shared some of the announcements that caught my interest during Ignite.  What did you have you eye on? Are you planning on implementing any of the above? Drop me a message.

 

JOIN MY EXCLUSIVE EMAIL LIST
Get the latest content and code from the blog posts!
I respect your privacy. No spam. Ever.

Leave a Reply