Jason Haley

Ramblings from an Independent Consultant

Introducing: the Local RAG Series (with Semantic Kernel)

Announcing: The Local RAG Series with Semantic Kernel This year I’ve spent a lot of time focusing on Retrieval Augmented Generation (RAG) and its related technologies. I’ve also had my eye on agents and plan to focus on them a lot in 2025. From what I’ve seen with my limited work with agents so far is: they can be chatty. This has lead me to believe that agents will really take off once either the price of LLMs available via APIs lower (a lot) or local models become sufficient to use. Since I don’t know enough about what you can do with local models - I figured this is a great time to start digging into them. Plus, why not learn them with RAG and Semantic Kernel - two things I’ve spent a lot of time with this year. That should give me a good staring point to …

eShopSupport Series: EvaluationTests Project

This is the seventh part of the eShopSupport Series which covers the details of the eShopSupport GitHub repository. NOTE: This entry will make the most sense to you if you’ve first read eShopSupport: Evaluator Project EvaluationTests Project The EvaluationTests project is a recently added xUnit Test Project that uses the new Microsoft.Extensions.AI.Evaluation packages highlighted in this blog: Evaluate the quality of your AI applications with ease. I think the idea is to replace the Evaluator project but, as is, it doesn’t run all 500 evaluation questions in the dev folder (which is good since it would not be cheap to do unless you are running locally). The good news is: the EvaluationTests project is a good example of how to use the new Microsoft.Extensions.AI.Evaluation …

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 Overview The workshop (currently has a long name which we’re planning on shortening soon): Building RAG-Enabled Apps and AI Agents with Semantic Kernel and Azure AI, contains 6 labs and (currently) 2 presentations. We have both Visual Studio Code and Visual Studio versions of the first 5 labs (I’m working …

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) 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 The labs that were RAG related where: Lab 3: Using WebRetrieverPlugin to create a RAG application - (Visual Studio edition) Lab 4: Creating a RAG application to Search a PDF - (Visual Studio Edition) Lab 5: Putting it all together - (Visual Studio …

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. Overview The hands on lab: Build a RAG App using Semantic Kernel, Entity Framework and Azure SQL DB provides a step-by-step walk through creating a RAG application using SQL Azure DB, EntityFramework Core and Semantic Kernel. I used VS Code for the steps, but if you are an experienced .NET developer using Visual …

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. It was nice to see a good amount of new (and younger) people attending the code camp. We always have a lot of student volunteers from Curry College that help out and the last couple of years I’ve noticed some of them still continue to attend even after they have graduated. After having a full day of socializing, I realized that I must be an introvert because my energy was gone. Talk: Using …

Virtual Boston Azure Lunchtime November 2024

Today at lunchtime Bill Wilder and I spoke at the Virtual Boston Azure meetup. Our talks were based on the same material we presented on Tuesday night, however I introduced eShopSupport as well today. The recording of the session can be found on the (Lunchtime editions) Boston Azure YouTube channel. Talk: Add Gen AI to your existing .NET apps with Semantic Kernel & Azure SQL My part of the presentation PDF can be downloaded here. The resources: Semantic Kernel https://github.com/microsoft/semantic-kernel Smart Components https://github.com/dotnet/smartcomponents eShopSupport https://github.com/dotnet/eShopSupport EFCore.SqlServer.VectorSearch https://github.com/efcore/EFCore.SqlServer.VectorSearch How to add genuinely useful AI to your webapp (not just chatbots) …

Virtual Boston Azure November 2024

Last night Bill Wilder and I spoke at the Virtual Boston Azure meetup. Our talks were about adding GenAI to .NET applications. My portion was mostly demos that focused on Azure SQL’s new native VECTOR support, Entity Framework Core and Semantic Kernel. The recording of the session can be found on the Boston Azure YouTube channel. Talk: Add Gen AI to your existing .NET apps with Semantic Kernel & Azure SQL The presentation pdf can be downloaded here. The resources: Semantic Kernel https://github.com/microsoft/semantic-kernel Smart Components https://github.com/dotnet/smartcomponents EFCore.SqlServer.VectorSearch https://github.com/efcore/EFCore.SqlServer.VectorSearch How to add genuinely useful AI to your webapp (not just chatbots) https://www.youtube.com/watch?v=TSNAvFJoP4M …

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: In this entry I’ll cover the functionality the web application provides, a few things I found interesting and some thoughts on improvements. What does it do? Steve Sanderson opens the CustomerWebUI about 45 minutes into his NDC talk “How to add genuinely useful AI to your webapp (not just chatbots)” when he is showing the ticket …

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. The PythonInference project is located under the src folder: In this entry I’ll cover the details of how the PythonInference project works, a few things I found interesting and some thoughts on improvements. What does it do? Steve Sanderson mentions the Python project about 39 minutes into his NDC talk “How to add genuinely …