December 18th, 2023

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 4 (local development & deployment details)

Developer Support
Cloud Solution Architects

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, I detailed how the demo app runs. In this post, let’s talk about some of the techniques & technologies I used to make the demo easy to deploy & run.

Here is the link to the GitHub repo.

Project Tye

Project Tye is an open-source project that makes it easy to stand up a microservice-based application locally.

It is easy to run any individual API or web app, such as running dotnet run or npm start.

However, when you have a bunch of services, sidecars, etc, it becomes a pain to do this. You could write a shell script to stand them all up, but that is tedious and error-prone.

Instead, Project Tye can be used. With a single command, it can build & run your application locally.

  1. tye run

It uses a YAML config file (tye.yaml in the root directory) to describe the relevant services and how to start them, what ports to use etc (Tye can also just assign ports itself).

This is especially useful when you are using sidecar patterns like Dapr to abstract services from each other. You would have to individually run each dapr run command for each service to stand up each sidecar. Instead, Tye will do that for you.

Tye can try and figure out the health & liveness probes itself, but it is better to explicitly specify them.

Tye also provides a convenient dashboard so you can see all the microservices, their status, restart count & logs.

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

Author

Developer Support
Cloud Solution Architects

Microsoft Developer Support helps software developers rapidly build and deploy quality applications for Microsoft platforms.

0 comments

Discussion are closed.