<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>OpenAI on Jason Haley</title>
    <link>https://jasonhaley.com/tags/openai/</link>
    <description>Recent content in OpenAI on Jason Haley</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en-us</language>
    <managingEditor>info@jasonhaley.com (Jason Haley)</managingEditor>
    <webMaster>info@jasonhaley.com (Jason Haley)</webMaster>
    <lastBuildDate>Tue, 25 Feb 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jasonhaley.com/tags/openai/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>2025 NYC AI Tour</title>
      <link>https://jasonhaley.com/2025/02/25/nyc-ai-tour/</link>
      <pubDate>Tue, 25 Feb 2025 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2025/02/25/nyc-ai-tour/</guid>
      <description>&lt;p&gt;In January, I volunteered at that &lt;a href=&#34;https://aitour.microsoft.com/en-US/new-york&#34;&gt;New York City AI Tour Event&lt;/a&gt; and got to attend a few sessions in the afternoon.&lt;/p&gt;&#xA;&lt;p&gt;I spent the morning at the OpenAI booth answering general questions about Azure OpenAI. It was fun to hear what sort of projects people have and how they are using AI in general.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;d forgotten how sore you legs can get from just standing on a cement floor all day &amp;hellip; and was reminded to wear sneakers to my next conference - NOT my normal leather boots.&lt;/p&gt;</description>
      <category>AI</category><category>Learning</category><category>OpenAI</category>
    </item>
    <item>
      <title>An AZD Template for a Chainlit Azure Container App</title>
      <link>https://jasonhaley.com/2025/01/19/chainlit-openai-containerapps-template/</link>
      <pubDate>Sun, 19 Jan 2025 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2025/01/19/chainlit-openai-containerapps-template/</guid>
      <description>&lt;h1 id=&#34;an-azd-template-for-a-chainlit-azure-container-app&#34;&gt;An AZD Template for a Chainlit Azure Container App&lt;/h1&gt;&#xA;&lt;p&gt;Late last year I was looking for an AZD template that uses &lt;a href=&#34;https://docs.chainlit.io/get-started/overview&#34;&gt;Chainlit&lt;/a&gt; for a UI application and deploys to &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/container-apps/overview&#34;&gt;Azure Container Apps&lt;/a&gt;, but couldn&amp;rsquo;t find one &amp;hellip; so now I&amp;rsquo;m working on building one.&lt;/p&gt;&#xA;&lt;h2 id=&#34;chainlit-openai-assistantsapi-azure-container-apps-starter&#34;&gt;Chainlit OpenAI AssistantsAPI Azure Container Apps Starter&lt;/h2&gt;&#xA;&lt;p&gt;This is a starter template that works with &lt;a href=&#34;https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/overview?tabs=windows&#34;&gt;Azure Developer CLI (AZD)&lt;/a&gt; to create a Chainlit application and deploy it to Azure in a matter of minutes. The application code currently uses OpenAI and OpenAI Assistants API - I&amp;rsquo;m working on adding more functionality to it soon.&lt;/p&gt;</description>
      <category>AI</category><category>Assistants API</category><category>AZD</category><category>Chainlit</category><category>Container Apps</category><category>Learning</category><category>OpenAI</category><category>Python</category>
    </item>
    <item>
      <title>Techbash 2024</title>
      <link>https://jasonhaley.com/2024/09/27/techbash-2024/</link>
      <pubDate>Fri, 27 Sep 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/09/27/techbash-2024/</guid>
      <description>&lt;p&gt;This week I presented at the &lt;a href=&#34;https://techbash.com/&#34;&gt;TechBash conference&lt;/a&gt; in Pocono Manor, PA. All the resources for the conference are available on the &lt;a href=&#34;https://github.com/TechBash/techbash2024&#34;&gt;TechBash GitHub repo&lt;/a&gt;. Below are links to my presentations specifically.&lt;/p&gt;&#xA;&lt;p&gt;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 &lt;a href=&#34;https://www.alvinashcraft.com/&#34;&gt;Morning Dew&lt;/a&gt;). 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!&lt;/p&gt;</description>
      <category>AZD</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Presentation</category><category>RAG</category>
    </item>
    <item>
      <title>Study Notes: Graph RAG - Property Graph RAG (The Projects)</title>
      <link>https://jasonhaley.com/2024/08/16/study-notes-graph-rag1-code-sample-projects/</link>
      <pubDate>Fri, 16 Aug 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/08/16/study-notes-graph-rag1-code-sample-projects/</guid>
      <description>&lt;p&gt;Last week I &lt;a href=&#34;https://jasonhaley.com/2024/08/06/study-notes-graph-rag1-code-sample-notebook/&#34;&gt;wrote about the notebook&lt;/a&gt; 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:&lt;/p&gt;&#xA;&lt;h2 id=&#34;related-posts&#34;&gt;Related posts:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://jasonhaley.com/2024/08/05/study-notes-graph-rag1/&#34;&gt;Study Notes: Graph RAG - Property Graph RAG&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://jasonhaley.com/2024/08/06/study-notes-graph-rag1-code-sample-notebook/&#34;&gt;Study Notes: Graph RAG - Property Graph RAG (The Notebook)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;NOTE: In order to get the most out of this blog post, you should first read the related two posts.&lt;/p&gt;</description>
      <category>AI</category><category>Graph RAG</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Study Notes Series</category>
    </item>
    <item>
      <title>Wisconsin .NET User Group</title>
      <link>https://jasonhaley.com/2024/08/13/wisconsin-dotnet-meetup/</link>
      <pubDate>Tue, 13 Aug 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/08/13/wisconsin-dotnet-meetup/</guid>
      <description>&lt;p&gt;Last Thursday night I spoke at the &lt;a href=&#34;https://www.meetup.com/wisconsin-net-users-group/events/301852505/&#34;&gt;Wisconsin .NET User Group&lt;/a&gt; near Milwaukee, WI. I was nice to meet so many .NET developers interested in RAG and AI.&lt;/p&gt;&#xA;&lt;p&gt;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.&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-getting-started-with-retrieval-augmented-generation-rag&#34;&gt;Talk: Getting Started with Retrieval Augmented Generation (RAG)&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-08-13_img1.jpg&#34; alt=&#34;RAG Slide 1&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;The presentation pdf can be downloaded &lt;a href=&#34;https://bit.ly/3SGlEue&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-08-13_img2.jpg&#34; alt=&#34;RAG Last Slide&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;One of my demos failed to deploy before the talk, but I don&amp;rsquo;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!&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Presentation</category><category>RAG</category>
    </item>
    <item>
      <title>Study Notes: Graph RAG - Property Graph RAG (The Notebook)</title>
      <link>https://jasonhaley.com/2024/08/06/study-notes-graph-rag1-code-sample-notebook/</link>
      <pubDate>Tue, 06 Aug 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/08/06/study-notes-graph-rag1-code-sample-notebook/</guid>
      <description>&lt;p&gt;Monday I posted &lt;a href=&#34;https://jasonhaley.com/2024/08/05/study-notes-graph-rag1/&#34;&gt;my notes&lt;/a&gt; on this last month&amp;rsquo;s study topic of property graph RAG, which has the general information I&amp;rsquo;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.&lt;/p&gt;&#xA;&lt;h2 id=&#34;related-posts&#34;&gt;Related posts:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://jasonhaley.com/2024/08/05/study-notes-graph-rag1/&#34;&gt;Study Notes: Graph RAG - Property Graph RAG&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://jasonhaley.com/2024/08/16/study-notes-graph-rag1-code-sample-projects/&#34;&gt;Study Notes: Graph RAG - Property Graph RAG (The Projects)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h1 id=&#34;where-to-get-the-code&#34;&gt;Where To Get The Code&lt;/h1&gt;&#xA;&lt;p&gt;The code for this entry is in my Github repo &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started&#34;&gt;semantic-kernel-getting-started&lt;/a&gt; under the notebooks folder:&lt;/p&gt;</description>
      <category>AI</category><category>Graph RAG</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Study Notes Series</category>
    </item>
    <item>
      <title>Study Notes: Graph RAG - Property Graph RAG</title>
      <link>https://jasonhaley.com/2024/08/05/study-notes-graph-rag1/</link>
      <pubDate>Mon, 05 Aug 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/08/05/study-notes-graph-rag1/</guid>
      <description>&lt;p&gt;This past month I&amp;rsquo;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&amp;rsquo;ve found useful.&lt;/p&gt;&#xA;&lt;h2 id=&#34;related-posts&#34;&gt;Related posts:&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://jasonhaley.com/2024/08/06/study-notes-graph-rag1-code-sample-notebook/&#34;&gt;Study Notes: Graph RAG - Property Graph RAG (The Notebook)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://jasonhaley.com/2024/08/16/study-notes-graph-rag1-code-sample-projects/&#34;&gt;Study Notes: Graph RAG - Property Graph RAG (The Projects)&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;NOTE: My approach to this topic was to find a way to improve a typical RAG implementation that only uses vector similarity searching.&lt;/p&gt;</description>
      <category>AI</category><category>Graph RAG</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Study Notes Series</category>
    </item>
    <item>
      <title>Study Notes: Text-to-SQL Code Sample</title>
      <link>https://jasonhaley.com/2024/07/06/study-notes-text-to-sql-code-sample/</link>
      <pubDate>Sat, 06 Jul 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/07/06/study-notes-text-to-sql-code-sample/</guid>
      <description>&lt;p&gt;Yesterday I &lt;a href=&#34;https://jasonhaley.com/2024/07/05/study-notes-text-to-sql/&#34;&gt;posted my notes&lt;/a&gt; from this week&amp;rsquo;s study topic of Text-to-SQL, which if you haven&amp;rsquo;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.&lt;/p&gt;&#xA;&lt;h1 id=&#34;where-to-get-the-code&#34;&gt;Where To Get The Code&lt;/h1&gt;&#xA;&lt;p&gt;The code for this entry is in my GitHub repo &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started&#34;&gt;semantic-kernel-getting-started&lt;/a&gt; under the samples/demos/Text-to-Sql directory.&lt;/p&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-07-06_img1.jpg&#34; alt=&#34;Github Folder&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Originally I considered making this a review of the &lt;a href=&#34;https://github.com/microsoft/kernel-memory/tree/NL2SQL/examples/200-dotnet-nl2sql&#34;&gt;NL2SQL&lt;/a&gt; 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 &lt;code&gt;nl2sql.library&lt;/code&gt; 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.&lt;/p&gt;</description>
      <category>AI</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Study Notes Series</category><category>Text-to-SQL</category>
    </item>
    <item>
      <title>Study Notes: Text-to-SQL</title>
      <link>https://jasonhaley.com/2024/07/05/study-notes-text-to-sql/</link>
      <pubDate>Fri, 05 Jul 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/07/05/study-notes-text-to-sql/</guid>
      <description>&lt;p&gt;This week I&amp;rsquo;ve been researching Text-to-SQL (also known as Natural Language to SQL), below are my study notes to compile all the resources I&amp;rsquo;ve found on the topic to date. There is also a &lt;a href=&#34;https://jasonhaley.com/2024/07/06/study-notes-text-to-sql-code-sample/&#34;&gt;corresponding blog entry&lt;/a&gt; that walks through a code example.&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;NOTE: I am approaching this topic specifically looking at how it can be used to extend usage scenarios in a RAG application.&lt;/p&gt;&lt;/blockquote&gt;&#xA;&lt;h1 id=&#34;background&#34;&gt;Background&lt;/h1&gt;&#xA;&lt;p&gt;Text-to-SQL (or Natural Language to SQL) is a pattern where the objective is to have an LLM generate SQL statements for a database using natural language.&lt;/p&gt;</description>
      <category>AI</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Study Notes Series</category><category>Text-to-SQL</category>
    </item>
    <item>
      <title>Boston Azure June 2024</title>
      <link>https://jasonhaley.com/2024/06/25/boston-azure-june-2024/</link>
      <pubDate>Tue, 25 Jun 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/06/25/boston-azure-june-2024/</guid>
      <description>&lt;p&gt;Last night was the &lt;a href=&#34;https://www.meetup.com/bostonazure/events/301201162/&#34;&gt;Season of AI&lt;/a&gt; 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.&lt;/p&gt;&#xA;&lt;p&gt;It was nice to see a lot of regular faces and meet several new people.&lt;/p&gt;&#xA;&lt;h1 id=&#34;demo-code&#34;&gt;Demo Code&lt;/h1&gt;&#xA;&lt;p&gt;The demo code is on my GitHub repo &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started/tree/main/samples/demos/BostonAzure-June2024&#34;&gt;BostonAzure-June2024&lt;/a&gt; under a subdirectory.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Presentation</category><category>RAG</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Demo Review: Chat Copilot</title>
      <link>https://jasonhaley.com/2024/06/18/chat-copilot/</link>
      <pubDate>Tue, 18 Jun 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/06/18/chat-copilot/</guid>
      <description>&lt;h1 id=&#34;demo-review-chat-copilot&#34;&gt;Demo Review: Chat Copilot&lt;/h1&gt;&#xA;&lt;p&gt;This is the fifth C# demo in &lt;a href=&#34;https://jasonhaley.com/2024/02/04/introducing-rag-demo-chronicles-series/&#34;&gt;The RAG Demo Chronicles (Blog Series)&lt;/a&gt; and has the most extensive use of &lt;a href=&#34;https://github.com/microsoft/semantic-kernel&#34;&gt;Semantic Kernel&lt;/a&gt; out of all the demos I&amp;rsquo;ve reviewed.&lt;/p&gt;&#xA;&lt;p&gt;The use of Retrieval Augmented Generation (RAG) is different with this project than the other demos I&amp;rsquo;ve reviewed - mainly because RAG is just one of its features.&lt;/p&gt;&#xA;&lt;p&gt;With this demo, I also took the time to configure the optional authentication so I could play with the MS Graph plugin &amp;hellip; and WOW! Just adding the web searcher and MS Graph plugin really make this a powerful demo app. It gives me a lot of ideas for my own projects.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World WebSearchEnginePlugin</title>
      <link>https://jasonhaley.com/2024/06/10/semantic-kernel-hello-world-websearchengineplugin/</link>
      <pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/06/10/semantic-kernel-hello-world-websearchengineplugin/</guid>
      <description>&lt;h1 id=&#34;update-the-bing-search-apis-are-being-deprecated-see-the-announcement-for-more-details-bing-search-apis-retiring-onaugust-11-2025-i-have-updated-the-post-and-corresponding-github-code-to-use-the-brave-connector-instead&#34;&gt;UPDATE: The Bing Search APIS are being deprecated. See the announcement for more details: &lt;a href=&#34;https://learn.microsoft.com/en-us/lifecycle/announcements/bing-search-api-retirement&#34;&gt;Bing Search APIs retiring on August 11, 2025&lt;/a&gt;. I have updated the post and corresponding Github code to use the Brave connector instead.&lt;/h1&gt;&#xA;&lt;p&gt;A couple of weeks ago I thought I&amp;rsquo;d written my last of these blogs, mainly due to me getting more in depth with Semantic Kernel. However, after I watched Will Velida&amp;rsquo;s video &lt;a href=&#34;https://www.youtube.com/watch?v=eOpDSz1ZB0M&#34;&gt;Using Bing Search API in the Semantic Kernel SDK&lt;/a&gt; &amp;hellip; I couldn&amp;rsquo;t help but wonder what the API calls were behind the scenes. Will does a great job at explaining how to use the plugin and the Bing resource needed to make calls to the search API, so I won&amp;rsquo;t get into that part of it - I want to focus on the usefulness and API calls made by the plugin.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World Planners Part 2 - (Deprecated)</title>
      <link>https://jasonhaley.com/2024/05/27/semantic-kernel-hello-world-planners-part2/</link>
      <pubDate>Mon, 27 May 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/05/27/semantic-kernel-hello-world-planners-part2/</guid>
      <description>&lt;h1 id=&#34;update-planners-have-been-deprecated-see-this-semantic-kernel-blog-for-more-detail-semantic-kernel-package-previews-graduations--deprecations&#34;&gt;UPDATE: Planners have been deprecated. See this Semantic Kernel blog for more detail: &lt;a href=&#34;https://devblogs.microsoft.com/semantic-kernel/semantic-kernel-package-previews-graduations-deprecations/&#34;&gt;Semantic Kernel: Package previews, Graduations &amp;amp; Deprecations&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;Last week in the &lt;a href=&#34;https://jasonhaley.com/2024/05/19/semantic-kernel-hello-world-planners-part1/&#34;&gt;Semantic Kernel Hello World Planners Part 1&lt;/a&gt; entry, I used the &lt;a href=&#34;https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Planners/Planners.Handlebars&#34;&gt;Handlebars planner&lt;/a&gt; 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 &lt;a href=&#34;https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Planners/Planners.OpenAI&#34;&gt;Function Calling Stepwise Planner&lt;/a&gt; to create the sample Hello World functionality and compare it to the implementation in the &lt;a href=&#34;https://jasonhaley.com/2024/04/30/semantic-kernel-hello-world-plugin-part3/&#34;&gt;Semantic Kernel Hello World Plugins Part 3&lt;/a&gt; entry.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World Planners Part 1 - (Deprecated)</title>
      <link>https://jasonhaley.com/2024/05/19/semantic-kernel-hello-world-planners-part1/</link>
      <pubDate>Sun, 19 May 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/05/19/semantic-kernel-hello-world-planners-part1/</guid>
      <description>&lt;h1 id=&#34;update-planners-have-been-deprecated-see-this-semantic-kernel-blog-for-more-detail-semantic-kernel-package-previews-graduations--deprecations&#34;&gt;UPDATE: Planners have been deprecated. See this Semantic Kernel blog for more detail: &lt;a href=&#34;https://devblogs.microsoft.com/semantic-kernel/semantic-kernel-package-previews-graduations-deprecations/&#34;&gt;Semantic Kernel: Package previews, Graduations &amp;amp; Deprecations&lt;/a&gt;&lt;/h1&gt;&#xA;&lt;p&gt;A few weeks ago in the &lt;a href=&#34;https://jasonhaley.com/2024/04/30/semantic-kernel-hello-world-plugin-part3/&#34;&gt;Semantic Kernel Hello World Plugins Part 3&lt;/a&gt; blog entry, I showed how to use &lt;a href=&#34;https://platform.openai.com/docs/guides/function-calling&#34;&gt;OpenAI Function Calling&lt;/a&gt;. The last half of that entry was all about &lt;a href=&#34;https://jasonhaley.com/2024/04/30/semantic-kernel-hello-world-plugin-part3/#requestandresponselogginghttpclienthandler-and-requestlogginghttpclienthandler&#34;&gt;how to view the response and request JSON&lt;/a&gt; going back and forth to OpenAI, which detailed four API calls. In this entry I look at using the &lt;a href=&#34;https://github.com/microsoft/semantic-kernel/tree/main/dotnet/src/Planners/Planners.Handlebars&#34;&gt;Handlebars Planner&lt;/a&gt; to accomplish the same functionality. Then I&amp;rsquo;ll show the request and response JSON for both using a saved plan as well as having the LLM create a plan and end with a token usage comparison.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Memphis Azure User Group</title>
      <link>https://jasonhaley.com/2024/05/07/memphis-azure-meetup/</link>
      <pubDate>Tue, 07 May 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/05/07/memphis-azure-meetup/</guid>
      <description>&lt;p&gt;Last Thursday night I spoke at the &lt;a href=&#34;https://www.meetup.com/memphis-technology-user-groups/events/300585623/&#34;&gt;Memphis Azure User Group&lt;/a&gt;, 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.&lt;/p&gt;&#xA;&lt;p&gt;I also gave my slide deck a completely new look (Memphis themed via Bing/create):&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-getting-started-with-retrieval-augmented-generation-rag&#34;&gt;Talk: Getting Started with Retrieval Augmented Generation (RAG)&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-05-07-img1.jpg&#34; alt=&#34;RAG Slide 1&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;The presentation pdf can be downloaded &lt;a href=&#34;https://bit.ly/4a5hUZf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-05-07-img2.jpg&#34; alt=&#34;RAG Last Slide&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Since the presentation was hybrid, there were not as many questions as the other two times I&amp;rsquo;ve given the talk &amp;hellip; or that is my guess at the reason why it was so quiet. That also means I should have put that third demo back in the presentation (I took a demo out after the first version of the talk since there were so many questions and needed to free up time for Q&amp;amp;A). Next time I&amp;rsquo;ll have it ready to use in case I need it.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Presentation</category><category>RAG</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World Plugins Part 3</title>
      <link>https://jasonhaley.com/2024/04/30/semantic-kernel-hello-world-plugin-part3/</link>
      <pubDate>Tue, 30 Apr 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/04/30/semantic-kernel-hello-world-plugin-part3/</guid>
      <description>&lt;p&gt;Last week I blogged &lt;a href=&#34;https://jasonhaley.com/2024/04/26/semantic-kernel-hello-world-plugin-part2/&#34;&gt;Part 2&lt;/a&gt; showing the creation of a native function plugin, in this post I want to take that native function a step further and use the &lt;a href=&#34;https://platform.openai.com/docs/guides/function-calling&#34;&gt;OpenAI Function calling&lt;/a&gt;. 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.&lt;/p&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve added the &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started/tree/main/src/HelloWorld.Plugin3.Console&#34;&gt;HelloWorld.Plugin3.Console&lt;/a&gt; project to the GitHub repo for the code in this blog entry.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World Plugins Part 2</title>
      <link>https://jasonhaley.com/2024/04/26/semantic-kernel-hello-world-plugin-part2/</link>
      <pubDate>Fri, 26 Apr 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/04/26/semantic-kernel-hello-world-plugin-part2/</guid>
      <description>&lt;p&gt;Two weeks ago I blogged &lt;a href=&#34;https://jasonhaley.com/2024/04/11/semantic-kernel-hello-world-plugin-part1/&#34;&gt;Part 1&lt;/a&gt;, in which I moved the prompt to a prompt template. In this part, I implement a &lt;a href=&#34;https://learn.microsoft.com/en-us/semantic-kernel/agents/plugins/using-the-kernelfunction-decorator?tabs=Csharp&#34;&gt;native function&lt;/a&gt; that will take in the current date and make the call to the LLM.&lt;/p&gt;&#xA;&lt;p&gt;I’ve put the code for this blog in the &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started/tree/main/src/HelloWorld.Plugin2.Console&#34;&gt;HelloWorld.Plugin2.Console project&lt;/a&gt; in the same repo as the other SK entries: &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started&#34;&gt;semantic-kernel-getting-started&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h1 id=&#34;semantic-kernel-plugin-native-function&#34;&gt;Semantic Kernel Plugin: Native Function&lt;/h1&gt;&#xA;&lt;p&gt;There is a good Microsoft Learn module: &lt;a href=&#34;https://learn.microsoft.com/en-us/training/modules/give-your-ai-agent-skills/&#34;&gt;Give your AI agent skills&lt;/a&gt; that walks you through the details of what a native function is and how to implement them.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>My Session at Boston Global Azure Bootcamp</title>
      <link>https://jasonhaley.com/2024/04/23/boston-global-azure-bootcamp/</link>
      <pubDate>Tue, 23 Apr 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/04/23/boston-global-azure-bootcamp/</guid>
      <description>&lt;p&gt;This past weekend was &lt;a href=&#34;https://www.meetup.com/bostonazure/events/300138716/&#34;&gt;Boston Azure&amp;rsquo;s Edition of the annual Global Azure Bootcamp&lt;/a&gt;. This year we focused on AI and hands-on-labs.&lt;/p&gt;&#xA;&lt;p&gt;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&amp;rsquo;ing. We did not expect that. It is a mystery as how they heard about the event so quick. We only had one room reserved, so there really was a hard cap on how many people we could let in.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Presentation</category><category>RAG</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World Plugins Part 1</title>
      <link>https://jasonhaley.com/2024/04/11/semantic-kernel-hello-world-plugin-part1/</link>
      <pubDate>Thu, 11 Apr 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/04/11/semantic-kernel-hello-world-plugin-part1/</guid>
      <description>&lt;p&gt;A couple of weeks ago, in my &lt;a href=&#34;https://jasonhaley.com/2024/03/30/semantic-kernel-hello-world/&#34;&gt;last entry&lt;/a&gt; I created a simple Hello World application with Semantic Kernel. Since then, I&amp;rsquo;ve worked my way through the MS Learning path: &lt;a href=&#34;https://learn.microsoft.com/en-us/training/paths/develop-ai-agents-azure-open-ai-semantic-kernel-sdk/&#34;&gt;APL-2005 Develop AI agents using Azure OpenAI and the Semantic Kernel SDK&lt;/a&gt; - which I highly recommend if you are also learning SK.&lt;/p&gt;&#xA;&lt;p&gt;In this entry I&amp;rsquo;m going to start with the code from the last entry and extract the prompt to a plugin. I&amp;rsquo;ve put the code for this blog in the same repo as the last entry: &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started&#34;&gt;semantic-kernel-getting-started&lt;/a&gt;&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Semantic Kernel Hello World</title>
      <link>https://jasonhaley.com/2024/03/30/semantic-kernel-hello-world/</link>
      <pubDate>Sat, 30 Mar 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/03/30/semantic-kernel-hello-world/</guid>
      <description>&lt;p&gt;This past Thursday night after the Virtual Boston Azure meetup, Bill Wilder (&lt;a href=&#34;https://twitter.com/codingoutloud&#34;&gt;@codingoutloud&lt;/a&gt;) created an&#xA;&lt;a href=&#34;https://www.meetup.com/bostonazure/events/299729681/&#34;&gt;AI mini-workshop (hands on)&lt;/a&gt; for the attendees that were interested in getting hands on with code using the Azure OpenAI API.&lt;/p&gt;&#xA;&lt;p&gt;This post is me using the same idea but with Semantic Kernel.&lt;/p&gt;&#xA;&lt;h1 id=&#34;openai-chat-hello-world-c&#34;&gt;OpenAI Chat Hello World C#&lt;/h1&gt;&#xA;&lt;p&gt;Bill provided the following code for us to get a simple OpenAI chat working:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; style=&#34;color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;&#34;&gt;&lt;code class=&#34;language-C#&#34; data-lang=&#34;C#&#34;&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; Azure;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;using&lt;/span&gt; Azure.AI.OpenAI;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;string?&lt;/span&gt; key = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;...&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;string?&lt;/span&gt; endpoint = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;...&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;string?&lt;/span&gt; deployment = &lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;...&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// output today&amp;#39;s date just for fun&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;\n----------------- DEBUG INFO -----------------&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; today = DateTime.Now.ToString(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;MMMM dd&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;Today is {today}&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;----------------------------------------------&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; client = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; OpenAIClient(&lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; Uri(endpoint), &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt; AzureKeyCredential(key));&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#75715e&#34;&gt;// TODO: CHALLENGE 1: does the AI respond accurately to this prompt? How to fix?&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; prompt = &lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;Tell me an interesting fact from world about an event &amp;#34;&lt;/span&gt; +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;that took place on {today}. &amp;#34;&lt;/span&gt; +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;            &lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;Be sure to mention the date in history for context.&amp;#34;&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;CompletionsOptions completionsOptions = &lt;span style=&#34;color:#66d9ef&#34;&gt;new&lt;/span&gt;()&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Temperature = &lt;span style=&#34;color:#ae81ff&#34;&gt;0.7f&lt;/span&gt;,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    DeploymentName = deployment,&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Prompts = { prompt },&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    MaxTokens = &lt;span style=&#34;color:#ae81ff&#34;&gt;250&lt;/span&gt;,  &lt;span style=&#34;color:#75715e&#34;&gt;// PLEASE DON&amp;#39;T MAKE LARGER THAN 250 (but see what happens at 25)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;};&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Response&amp;lt;Completions&amp;gt; completionsResponse = client.GetCompletions(completionsOptions);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;\nPROMPT: \n\n{prompt}&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;int&lt;/span&gt; i = &lt;span style=&#34;color:#ae81ff&#34;&gt;0&lt;/span&gt;;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&lt;span style=&#34;color:#66d9ef&#34;&gt;foreach&lt;/span&gt; (&lt;span style=&#34;color:#66d9ef&#34;&gt;var&lt;/span&gt; choice &lt;span style=&#34;color:#66d9ef&#34;&gt;in&lt;/span&gt; completionsResponse.Value.Choices)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;{    &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;    Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;\nRESPONSE {++i}/{completionsResponse.Value.Choices.Count}:&amp;#34;&lt;/span&gt; +&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;        &lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;{choice.Text}&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;}&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;\n----------------- DEBUG INFO -----------------&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;$&amp;#34;Tokens used: {completionsResponse.Value.Usage.CompletionTokens}/{completionsOptions.MaxTokens}&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span style=&#34;display:flex;&#34;&gt;&lt;span&gt;Console.WriteLine(&lt;span style=&#34;color:#e6db74&#34;&gt;&amp;#34;----------------------------------------------&amp;#34;&lt;/span&gt;);&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;When you run this code (you&amp;rsquo;ll of course need to add in you own values for the &lt;code&gt;key&lt;/code&gt;, &lt;code&gt;endpoint&lt;/code&gt; and &lt;code&gt;deployment&lt;/code&gt;), you will get a response like this:&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Boston Code Camp 36 Sessions</title>
      <link>https://jasonhaley.com/2024/03/24/boston-code-camp-36/</link>
      <pubDate>Sun, 24 Mar 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/03/24/boston-code-camp-36/</guid>
      <description>&lt;p&gt;Yesterday was &lt;a href=&#34;https://www.bostoncodecamp.com/CC36/info&#34;&gt;Boston Code Camp 36&lt;/a&gt; hard to believe it has been going on for 20+ years now. For me it is one of those regular events for the Boston tech community that is well worth spending a Saturday attending.&lt;/p&gt;&#xA;&lt;p&gt;It was nice to see a lot of regular faces and meet some new people.&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-getting-started-with-retrieval-augmented-generation-rag&#34;&gt;Talk: Getting Started with Retrieval Augmented Generation (RAG)&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-03-24img1.jpg&#34; alt=&#34;RAG Slide 1&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I was surprise the room was full, it was good to see so many developers, students and architects - mostly with .NET backgrounds looking to get started with RAG applications.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>Presentation</category><category>RAG</category>
    </item>
    <item>
      <title>Demo Review: Azure Vector Search AI Assistant</title>
      <link>https://jasonhaley.com/2024/02/27/azure-vector-search-ai-assistant/</link>
      <pubDate>Mon, 26 Feb 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/02/27/azure-vector-search-ai-assistant/</guid>
      <description>&lt;h1 id=&#34;demo-review-azure-vector-search-ai-assistant&#34;&gt;Demo Review: Azure Vector Search AI Assistant&lt;/h1&gt;&#xA;&lt;p&gt;This is the fourth C# demo in &lt;a href=&#34;https://jasonhaley.com/2024/02/04/introducing-rag-demo-chronicles-series/&#34;&gt;The RAG Demo Chronicles (Blog Series)&lt;/a&gt; and is the first demo so far that saves its history to a database.&lt;/p&gt;&#xA;&lt;p&gt;This Retrieval Augmented Generation (RAG) demo is a little different than the last three because it primarily uses data from a database as the content to search instead of documents. It also uses Semantic Kernel more than other demos have, which is neat to see too.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Demo Review: Azure Search OpenAI Demo (Python)</title>
      <link>https://jasonhaley.com/2024/02/23/azure-search-openai-demo/</link>
      <pubDate>Fri, 23 Feb 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/02/23/azure-search-openai-demo/</guid>
      <description>&lt;h1 id=&#34;demo-review-azure-search-openai-demo-python&#34;&gt;Demo Review: Azure Search OpenAI Demo (Python)&lt;/h1&gt;&#xA;&lt;p&gt;This is the last in the &lt;a href=&#34;https://github.com/Azure-Samples/azure-search-openai-demo?tab=readme-ov-file#announcing-javascript-net-and-java-samples-based-on-this-one-in-python-learn-more-at--httpsakamsazai&#34;&gt;family of Azure Search OpenAI&lt;/a&gt; demos that I&amp;rsquo;m covering (I&amp;rsquo;m not looking at the Java version). I reviewed the &lt;a href=&#34;https://jasonhaley.com/2024/02/14/azure-search-openai-demo-csharp/&#34;&gt;C# version&lt;/a&gt; and the &lt;a href=&#34;https://jasonhaley.com/2024/02/19/azure-search-openai-javascript/&#34;&gt;Javascript/Typescript version&lt;/a&gt; earlier this month. Of the three I&amp;rsquo;m covering, this one seems to be the most active, popular and have the most documentation.&lt;/p&gt;&#xA;&lt;p&gt;At the beginning of this month, the &lt;a href=&#34;https://github.com/microsoft/AI-Chat-App-Hack&#34;&gt;Hack Together: The AI Chat App Hack&lt;/a&gt; used this demo at the sample repository, marking it as a solid reference implementation for RAG.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category>
    </item>
    <item>
      <title>Demo Review: Azure Search OpenAI Javascript/Typescript</title>
      <link>https://jasonhaley.com/2024/02/19/azure-search-openai-javascript/</link>
      <pubDate>Mon, 19 Feb 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/02/19/azure-search-openai-javascript/</guid>
      <description>&lt;h1 id=&#34;demo-review-azure-search-openai-javascripttypescript&#34;&gt;Demo Review: Azure Search OpenAI Javascript/Typescript&lt;/h1&gt;&#xA;&lt;p&gt;This is the second in the &lt;a href=&#34;https://github.com/Azure-Samples/azure-search-openai-demo&#34;&gt;family of Azure Search OpenAI&lt;/a&gt; demos that I&amp;rsquo;m reviewing. Last week I reviewed the &lt;a href=&#34;https://jasonhaley.com/2024/02/14/azure-search-openai-demo-csharp/&#34;&gt;C# version&lt;/a&gt;. As you&amp;rsquo;ll see below, the Javascript version is a bit different.&lt;/p&gt;&#xA;&lt;p&gt;The user interface (UI) functionality is provided by a set of web components that you can add to about any web application (ie. React, Angular, Vue, etc.) - in fact the web application in the demo is written in React. Also the chat communication is written to match the &lt;a href=&#34;https://github.com/Azure-Samples/ai-chat-app-protocol&#34;&gt;HTTP protocol for AI chat app&lt;/a&gt; which means the frontend can communicate with any backend that matches that protocol.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>LangChain</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category>
    </item>
    <item>
      <title>Demo Review: Azure Search OpenAI Demo C#</title>
      <link>https://jasonhaley.com/2024/02/14/azure-search-openai-demo-csharp/</link>
      <pubDate>Wed, 14 Feb 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/02/14/azure-search-openai-demo-csharp/</guid>
      <description>&lt;h1 id=&#34;demo-review-azure-search-openai-demo-c&#34;&gt;Demo Review: Azure Search OpenAI Demo C#&lt;/h1&gt;&#xA;&lt;p&gt;If you are looking for Retrieval Augmented Generation (RAG) demos that utilize Azure Search and Azure OpenAI (along with several other supporting Azure services), then there is a set of related demos that do just that in GitHub.&lt;/p&gt;&#xA;&lt;p&gt;This family of RAG demos consists of:&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/Azure-Samples/azure-search-openai-demo-csharp&#34;&gt;azure-search-openai-demo-csharp&lt;/a&gt; - written in C#.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/Azure-Samples/azure-search-openai-demo&#34;&gt;azure-search-openai-demo&lt;/a&gt; - written in python.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/Azure-Samples/azure-search-openai-javascript&#34;&gt;azure-search-openai-javascript&lt;/a&gt; - written in javascript/typescript.&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/Azure-Samples/azure-search-openai-demo-java&#34;&gt;azure-search-openai-demo-java&lt;/a&gt; - written in java.&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;&lt;strong&gt;This post is about #1 above&lt;/strong&gt;, I will cover #2 and #3 in later posts, but I will leave the Java version to someone else to review.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Demo Review: Simple RAG using SQL Server, OpenAI and Function Calling</title>
      <link>https://jasonhaley.com/2024/02/11/simple-rag-sql-openai-functioncall/</link>
      <pubDate>Sun, 11 Feb 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/02/11/simple-rag-sql-openai-functioncall/</guid>
      <description>&lt;h1 id=&#34;demo-review-simple-rag-using-blazor-sql-server-azure-openai-and-function-calling&#34;&gt;Demo Review: Simple RAG using Blazor, SQL Server, Azure OpenAI and Function Calling&lt;/h1&gt;&#xA;&lt;p&gt;If you are like me, a full stack C# developer who is attempting to get up to speed on how GenAI technologies are going to show up in our business applictions - then after you get the &lt;a href=&#34;https://jasonhaley.com/2024/02/07/simple-rag-sql-openai/&#34;&gt;first demo&lt;/a&gt; up and running, this demo (also by Michael Washington) is a great next step.&lt;/p&gt;&#xA;&lt;p&gt;RAG (Retrieval Augmented Generation) applications typically have the following steps:&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Function Calling</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category><category>SQL Server</category>
    </item>
    <item>
      <title>Demo Review: Simple RAG using SQL Server and OpenAI</title>
      <link>https://jasonhaley.com/2024/02/07/simple-rag-sql-openai/</link>
      <pubDate>Wed, 07 Feb 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/02/07/simple-rag-sql-openai/</guid>
      <description>&lt;h1 id=&#34;demo-review-simple-rag-using-blazor-sql-server-and-azure-openai&#34;&gt;Demo Review: Simple RAG using Blazor, SQL Server and Azure OpenAI&lt;/h1&gt;&#xA;&lt;p&gt;Are you a full stack C# developer attempting to get up to speed on all this GenAI stuff? Are you typically a relational database developer (ie. SQL Server) wondering what all the hoopla is around vector databases and more importantly how all this stuff relates to some type of functionaly that you have a chance at really using in your day-to-day work? Oh and you probably have not had time to dig into this pattern named Retrieval Augmented Generation (RAG) due to being too busy implementing web application or service code.&lt;/p&gt;</description>
      <category>AI</category><category>Azure</category><category>Learning</category><category>OpenAI</category><category>RAG</category><category>RAG Demo Series</category><category>SQL Server</category>
    </item>
  </channel>
</rss>