How to enhance your chatbot so it can retrieve data from multiple data sources & orchestrate its own plan with C# Semantic Kernel, planner & Azure OpenAI – part 3 (demo app)

Developer Support

In this multi-part series, Jordan Bean shares how to enhance a chatbot to retrieve data from multiple data sources and orchestrate plans with C# Semantic Kernel, planner, and Azure Open AI.


In the previous post, we talked about the implementation details of how the demo app works & how to set up Semantic Kernel, with the StepwisePlanner and Azure OpenAI. Now that you understand the code, let’s look at the demo application.

Here is the link to the GitHub repo.

Use case

As a reminder, we are building a customer support chatbot for our fictional outdoor sporting equipment company. We want to be able to answer common customer support questions by utilizing our internal data sources.

Example query

Will my sleeping bag work for my trip to Patagonia next month?

Fictional data sources

Demo app

Demo app

This demo app allows the user to make a request. That request is then run through the Sematic Kernel StepwisePlanner. The plan that is generated is then executed and the response is sent back to the user.

In this example, we are explicitly showing the planner steps to demonstrate the execution plan. In the real world, you wouldn’t show the execution plan (since this reveals internal implementation details such as the data sources used, their inputs & responses, errors, etc).

We can see that the planner made a plan with 6 steps. Let’s go through each one in detail.

Continue reading this post, as well as the full series on Jordan’s dev blog.

0 comments

Comments are closed. Login to edit/delete your existing comments

Feedback usabilla icon