Jason Haley

Ramblings from an Independent Consultant

Virtual Boston Azure AI - Microsoft Build Recap

Last night Bill, Udai, Veronika and I gave our top picks from Microsoft Build at the Virtual Boston Azure AI meetup. In order to not overlap topics, we each picked areas to cover - mine was Copilot and Copilot Studio. My picks: Copilot Wave 2 Spring release features – this was announced in April but still hasn’t landed for us. You’ll know when this lands due to the look of Copilot changing. The navigation will be on the left side of the screen with the new release (instead of the right where it is now). Publish custom agents to SharePoint sites – This adds SharePoint as a channel to push a Copilot Studio agent to. Additional maker controls for knowledge (Copilot Studio) – This is several things together: Ability to upload related files into a file collection Ability to change settings on …

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 …

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 …

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 …