Jason Haley

Ramblings from an Independent Consultant

A Semantic Kernel Workshop

Announcing: A Semantic Kernel Workshop

Friday Bill Wilder, Juan Pablo Garcia Gonzalez and I finally were able to make the workshop we’ve been working on for the past couple of months public. We had an in person day long event where we used the content, which was received really well. The attendees had some good questions - giving us some really good ideas on how to improve the content.

Target audience: .NET developers looking to start using Gen AI in their applications


Hands-on AI Workshop Dec 2024

Yesterday Bill Wilder, Juan Pablo Garcia Gonzalez and I put on a Hands-on AI Workshop in Burlington MA. The goal was to give the attendees hands on experience using Semantic Kernel. The target audience was .NET developers using Visual Studio Code or Visual Studio looking to learn GenAI.

I gave the middle presentations and labs focusing on RAG.

Talk: Retrieval Augmented Generation (RAG)

Slide 1

This was an intro level presentation on what RAG is and the concepts you need to know to create a RAG system. The presentation can be downloaded on the github here


Azure SQL, Entity Framework, Semantic Kernel Hands-on-Lab

Announcing: Build a RAG App using Semantic Kernel, Entity Framework and Azure SQL DB Hands-on-Lab

A couple of weeks ago after Azure SQL DB announced their public preview of native vector support, I put a hands on lab together to help people get started with the new feature and EF Core extension. Bill Wilder and I did mentioned it in our presentations on December 12 and December 15, but I haven’t had a chance to announce it for those of you who missed our presentations.


Boston Code Camp 37 Session

Yesterday was Boston Code Camp 37. I spent the majority of the day talking with people in the community I haven’t seen for awhile, as well as some new people I hadn’t met before. I only made it to one session (Juan Pablo Garcia Gonzalez - Agentic AI: Unlocking the Power of Multi-Agent Systems), which was good and got me thinking about how to rewrite my demos in my talk to use agents.


eShopSupport Series: Customer Web UI Project

This is the sixth part of the eShopSupport Series which covers the details of the eShopSupport GitHub repository.

CustomerWebUI Project

The CustomerWebUI project is a Blazor application used to capture support ticket information from customers. It is one of the two user interface projects in the solution that highlight how to adding some AI functionality into business applications can be useful. The project is located under the src folder:

Project Folder

In this entry I’ll cover the functionality the web application provides, a few things I found interesting and some thoughts on improvements.


eShopSupport Series: Python Inference Project

This is the fifth part of the eShopSupport Series which covers the details of the eShopSupport GitHub repository.

PythonInference Project

The PythonInference Project is a python project that provides a web API to classify the case type when a new customer support ticket is entered in the system. It does this by passing the user’s comment to the API, which uses a local model from Hugging Face (cross-encoder/nli-MiniLM2-L6-H768) to classify the text.

Case Type Dropdown


eShopSupport Series: Aspire Projects (AppHost and ServiceDefaults)

This is the fourth part of the eShopSupport Series which covers the details of the eShopSupport GitHub repository.

The Aspire Projects (AppHost and ServiceDefaults)

Unlike the other blog entries in this eShopSupport Series, this one is going to cover two projects in the solution: AppHost and ServiceDefaults - both are important for the Aspire local development experience. These projects are located under the src folder:

Project Folders

In this entry I’ll cover the details of how the AppHost and ServiceDefaults projects are used in the local development environment, a few things I found interesting and some thoughts on improvements.


eShopSupport Series: Evaluator Project

This is the third part of the eShopSupport Series which covers the details of the eShopSupport GitHub repository.

Evaluator Project

The Evaluator project is a console application used to evaluate the chat portion of the application provided by the AssistantApi in the Backend project. The Evaluator application uses the questions in the evalquestions.json file to test the assistant API and scores the results it returns against the answers in that JSON file. This gives you the ability to measure the quality of the chat functionality - which is an important thing to do when you are building application functionality that depends on an LLM.


eShopSupport Series: DataIngestor Project

This is the second part of the eShopSupport Series which covers the details of the eShopSupport GitHub repository.

DataIngestor Project

The DataIngestor is a console application that will process the data files created by the DataGenerator - it does not ingest the data into any of the databases. I mentioned in the last entry about the DataGenerator that you didn’t need to use the DataGenerator because there are two sets of generated files provided in the github repo: dev and test. What I failed to mention is those files are result of both the DataGenerator and the DataIngestor being run. So you also don’t have to use the DataIngestor.


eShopSupport Series: DataGenerator Project

This is the first part of my eShopSupport Series which looks into the details of the eShopSupport GitHub repository.

DataGenerator Project

The DataGenerator is a console application that will generate multiple types of seed data files for loading into the application or to use when evaluating the question answering functionality. However, you don’t have to use the DataGenerator - there are two sets of generated files provided in the github repo: dev and test.

Files

In this entry I will provide some detail of what the DataGenerator application does, some interesting things about it and a few things I’d like to change.