Jason Haley

Ramblings from an Independent Consultant

Boston Azure June 2024

Last night was the Season of AI presentation. We started with Bill Wilder presenting the fundamentals of Generative AI and quick introduction to Azure AI Studio, then I finished up with a .NET code walkthrough implement Retrieval Augmented Generation (RAG) using Semantic Kernel. It was nice to see a lot of regular faces and meet several new people. Demo Code The demo code is on my GitHub repo BostonAzure-June2024 under a subdirectory.

Demo Review: Chat Copilot

Demo Review: Chat Copilot This is the fifth C# demo in The RAG Demo Chronicles (Blog Series) and has the most extensive use of Semantic Kernel out of all the demos I’ve reviewed. The use of Retrieval Augmented Generation (RAG) is different with this project than the other demos I’ve reviewed - mainly because RAG is just one of its features. With this demo, I also took the time to configure the optional authentication so I could play with the MS Graph plugin … and WOW!

Semantic Kernel Hello World WebSearchEnginePlugin

UPDATE: The Bing Search APIS are being deprecated. See the announcement for more details: Bing Search APIs retiring on August 11, 2025. I have updated the post and corresponding Github code to use the Brave connector instead. A couple of weeks ago I thought I’d written my last of these blogs, mainly due to me getting more in depth with Semantic Kernel. However, after I watched Will Velida’s video Using Bing Search API in the Semantic Kernel SDK … I couldn’t help but wonder what the API calls were behind the scenes.

Semantic Kernel Hello World Planners Part 2 - (Deprecated)

UPDATE: Planners have been deprecated. See this Semantic Kernel blog for more detail: Semantic Kernel: Package previews, Graduations & Deprecations Last week in the Semantic Kernel Hello World Planners Part 1 entry, I used the Handlebars planner to implement the sample Hello World functionality and then looked at the token difference between using a saved plan vs. generating a plan. In this entry I use the Function Calling Stepwise Planner to create the sample Hello World functionality and compare it to the implementation in the Semantic Kernel Hello World Plugins Part 3 entry.

Semantic Kernel Hello World Planners Part 1 - (Deprecated)

UPDATE: Planners have been deprecated. See this Semantic Kernel blog for more detail: Semantic Kernel: Package previews, Graduations & Deprecations A few weeks ago in the Semantic Kernel Hello World Plugins Part 3 blog entry, I showed how to use OpenAI Function Calling. The last half of that entry was all about how to view the response and request JSON going back and forth to OpenAI, which detailed four API calls.

Memphis Azure User Group

Last Thursday night I spoke at the Memphis Azure User Group, it was nice to meet some people in person and see how excited others are about finding valuable ways to work GenAI into their applications. I also gave my slide deck a completely new look (Memphis themed via Bing/create): Talk: Getting Started with Retrieval Augmented Generation (RAG) The presentation pdf can be downloaded here. Since the presentation was hybrid, there were not as many questions as the other two times I’ve given the talk … or that is my guess at the reason why it was so quiet.

Semantic Kernel Hello World Plugins Part 3

Last week I blogged Part 2 showing the creation of a native function plugin, in this post I want to take that native function a step further and use the OpenAI Function calling. This will allow us to not provide the current date when making the call to get a historic daily fact and have OpenAI call a function to get the current date. I’ve added the HelloWorld.Plugin3.Console project to the GitHub repo for the code in this blog entry.

Semantic Kernel Hello World Plugins Part 2

Two weeks ago I blogged Part 1, in which I moved the prompt to a prompt template. In this part, I implement a native function that will take in the current date and make the call to the LLM. I’ve put the code for this blog in the HelloWorld.Plugin2.Console project in the same repo as the other SK entries: semantic-kernel-getting-started. Semantic Kernel Plugin: Native Function There is a good Microsoft Learn module: Give your AI agent skills that walks you through the details of what a native function is and how to implement them.

My Session at Boston Global Azure Bootcamp

This past weekend was Boston Azure’s Edition of the annual Global Azure Bootcamp. This year we focused on AI and hands-on-labs. The odd thing about when we scheduled the meetup was we had a lot of people sign up for the group just to rsvp - before most of the existing members had gotten around to rsvp’ing. We did not expect that. It is a mystery as how they heard about the event so quick.

Semantic Kernel Hello World Plugins Part 1

A couple of weeks ago, in my last entry I created a simple Hello World application with Semantic Kernel. Since then, I’ve worked my way through the MS Learning path: APL-2005 Develop AI agents using Azure OpenAI and the Semantic Kernel SDK - which I highly recommend if you are also learning SK. In this entry I’m going to start with the code from the last entry and extract the prompt to a plugin.