Jason Haley

Ramblings from an Independent Consultant

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: 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. What do these projects do? Steve Sanderson mentions Aspire around 27 minutes into his NDC talk “How to add genuinely useful AI to your webapp (not just …

Techbash 2024

This week I presented at the TechBash conference in Pocono Manor, PA. All the resources for the conference are available on the TechBash GitHub repo. Below are links to my presentations specifically. It was great to see companies sending their employees to conferences again. This was my first time at TechBash, and I finally got to meet Alvin Ashcraft in person (the Morning Dew). I also met a bunch of people from the Philly area and around Pennsylvania, but there were attendees from all over-even a couple of guys from Panama! Talk: Getting Started with RAG (Retrieval Augmented Generation) The presentation pdf can be downloaded here. Talk: What is the Azure Dev CLI (AZD) and How Can You Use It? The presentation pdf can be downloaded here. If you have a questions or comments, please message …

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. The Evaluator project is located in in the src folder: In this entry I’ll cover the details of how the Evaluator application works, a few things I …

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. The DataIngestor project is located under the src folder: In this entry I’ll cover the details of what the DataIngestor application does, a …

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. 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. What does it do? This project is introduced about 16 minutes into Steve Sanderson’s talk How to add genuinely useful AI to your webapp (not just chatbots), where …

Virtual Boston Azure August 2024

Last night I spoke at the Virtual Boston Azure meetup. The talk was about the Azure Developer CLI and geared towards developers. The recording of the session can be found on the Boston Azure YouTube channel. Talk: What is the Azure Dev CLI (AZD) and How Can You Use It? The presentation pdf can be downloaded here. The resource slides: I added this slide after the presentation with links I mentioned after the recording was stopped: If you have a questions or comments, please message me @haleyjason on twitter/X.

eShopSupport Series

Announcing: The eShopSupport Series In case you missed this week’s .NET Conf Focus on AI you can find all the videos on the dotnet YouTube channel. The one I want to point out here is: Better Together: .NET Aspire and Semantic Kernel with Steve Sanderson and Matthew Bolanos. Steve’s portion of the talk is a distilled version of his NDC talk earlier this year: How to add genuinely useful AI to your webapp (not just chatbots) where he introduced the eShopSupport project. If you are a .NET developer looking for ways to use AI in real world applications - you should absolutely watch that video. Starting next week, I will be digging into the eShopSupport codebase and blogging about it. Since it isn’t a RAG application - I don’t think it fits into the RAG Demo Series so I …

Study Notes: Graph RAG - Property Graph RAG (The Projects)

Last week I wrote about the notebook I created when I was working out the flow of the property graph RAG implementation. In this entry I will go through the two projects I created to provide some reusable code as well as allow for better experimentation: Related posts: Study Notes: Graph RAG - Property Graph RAG Study Notes: Graph RAG - Property Graph RAG (The Notebook) NOTE: In order to get the most out of this blog post, you should first read the related two posts. Where To Get The Code The code for this entry is in my Github repo semantic-kernel-getting-started under the samples/demos folder: PropertyGraphIngestor - is the console application that extracts entities from text documents and populates a Neo4j db PropertyGraphRAG - is the console application that does property graph RAG …

Wisconsin .NET User Group

Last Thursday night I spoke at the Wisconsin .NET User Group near Milwaukee, WI. I was nice to meet so many .NET developers interested in RAG and AI. To carry on the tradition from my Memphis talk, I gave the presentation a local look using images related to Milwaukee generated from Bing/create. Talk: Getting Started with Retrieval Augmented Generation (RAG) The presentation pdf can be downloaded here. One of my demos failed to deploy before the talk, but I don’t think it was missed due to having so many good questions. It was really nice meeting a user group with so many core members. Plus the pizza was really good! Also, I mentioned it to someone at that talk - keep an eye out for this repo to show up: https://github.com/dotnet/eShopSupport and here is the talk by Steven Sanderson …

Study Notes: Graph RAG - Property Graph RAG (The Notebook)

Monday I posted my notes on this last month’s study topic of property graph RAG, which has the general information I’ve collected. In this entry I want to go through some code I created in a polyglot notebook (ie. a notebook that has C# code instead of python), when I was working through the steps needed for a property graph RAG application. Related posts: Study Notes: Graph RAG - Property Graph RAG Study Notes: Graph RAG - Property Graph RAG (The Projects) Where To Get The Code The code for this entry is in my Github repo semantic-kernel-getting-started under the notebooks folder: 1_PropertyGraphRAG.ipynb - is my initial notebook for creating the steps needed for a property graph RAG app 2_PropertyGraphRAG.ipynb - has multiple changes that improve the final retrieval step and …