Conversational CMS: Builing an Umbraco Copilot using Semantic Kernel and OpenAI

Conversational CMS: Builing an Umbraco Copilot using Semantic Kernel and OpenAI

I’ve been playing around a lot lately with Semantic Kernel from Microsoft. It takes a lot these days to blow me away, but: Wow! 🤩

The fact that we can, using Semantic Kernel, create a copilot that not only retrieves real-time information from any data source with just a few lines of code but also performs actual operations based on vague instructions, opens up a whole new world of capabilities with AI.

Imagine a copilot that can CRUD (Create, Read, Update, Delete) rows in a database, search and reference documents, or even operate IoT devices in our home.

We can do virtually anything with AI, with just a few lines of code, thanks to Semantic Kernel.

Abstraction from the underlying AI provider

As if that weren’t enough, we also get an abstraction layer between our implementation and the AI provider, making us less dependent on any specific service or model. With one line of code, we can quickly switch our implementation from say OpenAI to any new trending AI provider or model. We can even train the memory of our AI implementation, completely separated from the underlying AI provider.

Conversational CMS

To test this concept in the wild, I created a Copilot in the back office of Umbraco that can help editors work with their Umbraco content using Conversational CMS, hoping to reduce some of the tedious, time-consuming tasks in editors' everyday life.

To be clear, this is a fully working Copilot, (not just a dummy), that actually search, moves and unpublish content in Umbraco. And it only took me about 3 hours to build with Semantic Kernel.

 

Lightning Talk at Dev Day Borläng

Today, I hosted a tutorial and live demo of Semantic Kernel at Dev Day Borlänge, showcasing some of these capabilities and concepts, and the response was nothing short of a success.

I'm really looking forward to Callum Whyte's session at UmbracoKalaset in Stockholm 23 October, where he will deep-dive further into Semantic Kernel and its endless capabilities.

I'm not completely sure just yet what to do with this Copilot, if it should remain just a fun experiment or if I should somehow package it to the world. Until then, I won't be sharing the source code just yet, sorry!

Thank you for reading this far, hope you enjoyed it!

Cheers! ❤️