Jason Haley

Ramblings from an Independent Consultant

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.


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?

Slide 1

The presentation pdf can be downloaded here.

The resource slides: Resource Slide 1

I added this slide after the presentation with links I mentioned after the recording was stopped:


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.


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:

NOTE: In order to get the most out of this blog post, you should first read the related two posts.


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)

RAG Slide 1

The presentation pdf can be downloaded here.

RAG Last Slide

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!


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.

Where To Get The Code

The code for this entry is in my Github repo semantic-kernel-getting-started under the notebooks folder:


Study Notes: Graph RAG - Property Graph RAG

This past month I’ve been focusing on Graph RAG. This entry is an attempt to capture some lessons learned and a place to itemize all the resources I’ve found useful.

NOTE: My approach to this topic was to find a way to improve a typical RAG implementation that only uses vector similarity searching.


Study Notes: Text-to-SQL Code Sample

Yesterday I posted my notes from this week’s study topic of Text-to-SQL, which if you haven’t read it - provides more information and resources about the topic. In this entry I want to walk through a code sample I put together after playing with a few samples this week.

Where To Get The Code

The code for this entry is in my GitHub repo semantic-kernel-getting-started under the samples/demos/Text-to-Sql directory.

Github Folder

Originally I considered making this a review of the NL2SQL code sample, but I ended up needing to make some changes to it, so I just copied over some of their code for my sample - that is why the nl2sql.library project is there (also there is a Nl2Sql folder in the TextToSqlConsole project with some other files from their repo). If you are looking into Text-to-SQL, I highly recommend taking a look at their sample.