<?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>Semantic Kernel on Jason Haley</title>
    <link>https://jasonhaley.com/tags/semantic-kernel/</link>
    <description>Recent content in Semantic Kernel 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, 30 Sep 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jasonhaley.com/tags/semantic-kernel/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hands-on Boston AgentCon Workshop</title>
      <link>https://jasonhaley.com/2025/09/30/boston-agentcon-workshop/</link>
      <pubDate>Tue, 30 Sep 2025 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2025/09/30/boston-agentcon-workshop/</guid>
      <description>&lt;p&gt;This past Saturday, I held my latest hands on workshop: &lt;a href=&#34;https://github.com/JasonHaley/agentcon-boston-workshop&#34;&gt;From Static Files to Smart Agents: Unlocking Document Intelligence&lt;/a&gt; at &lt;a href=&#34;https://globalai.community/chapters/boston/events/agentcon-boston/&#34;&gt;AgentCon Boston&lt;/a&gt;. I ended up with around 30 attendees. There was quite a bit of interaction, with some real practical questions being asked about RAG and GenAI applications.&lt;/p&gt;&#xA;&lt;h1 id=&#34;hand-on-lab-from-static-files-to-smart-agents-unlocking-document-intelligence&#34;&gt;Hand-on-Lab: From Static Files to Smart Agents: Unlocking Document Intelligence&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2025-09-30-img1.jpg&#34; alt=&#34;Github Repo&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;The repository is located at: &lt;a href=&#34;https://github.com/JasonHaley/agentcon-boston-workshop&#34;&gt;https://github.com/JasonHaley/agentcon-boston-workshop&lt;/a&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-it&#34;&gt;What is it?&lt;/h2&gt;&#xA;&lt;p&gt;The end result (which is the &amp;ldquo;completed&amp;rdquo; branch of the repo), is a &lt;a href=&#34;https://docs.chainlit.io/get-started/overview&#34;&gt;Chainlit&lt;/a&gt; application designed to provide four use cases:&lt;/p&gt;</description>
      <category>AI</category><category>Azure AI Search</category><category>Azure Document Intelligence</category><category>Hands-on-Lab</category><category>Learning</category><category>Presentation</category><category>RAG</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Updated Semantic Kernel Blogs and Github Repo</title>
      <link>https://jasonhaley.com/2025/05/26/blog-code-updated-may-2025/</link>
      <pubDate>Mon, 26 May 2025 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2025/05/26/blog-code-updated-may-2025/</guid>
      <description>&lt;p&gt;This weekend I upgraded the &lt;a href=&#34;https://github.com/JasonHaley/semantic-kernel-getting-started&#34;&gt;semantic-kernel-getting-started&lt;/a&gt; repository to the latest code.&lt;/p&gt;&#xA;&lt;p&gt;It was mostly to move to .NET 9 (I&amp;rsquo;d forgotten it was still all .NET 8) and the latest version of the Semantic Kernel libraries. However there were a few things that needed changed:&lt;/p&gt;&#xA;&lt;h2 id=&#34;planners-were-deprecated&#34;&gt;Planners Were Deprecated&lt;/h2&gt;&#xA;&lt;p&gt;The Planners were deprecated last year (more information here: &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;/p&gt;&#xA;&lt;p&gt;This means the blog posts &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; and &lt;a href=&#34;https://jasonhaley.com/2024/05/27/semantic-kernel-hello-world-planners-part2/&#34;&gt;Semantic Kernel Hello World Planners Part 2&lt;/a&gt; are not longer relevant. I&amp;rsquo;ve updated those blog posts indicating the deprecation and have removed the code projects from the solution in Github (the code is still there but not loaded with the solution).&lt;/p&gt;</description>
      <category>AI</category><category>Learning</category><category>Semantic Kernel</category><category>Semantic Kernel Hello World Series</category>
    </item>
    <item>
      <title>Hands-on AI Workshop Jan 2025</title>
      <link>https://jasonhaley.com/2025/02/01/semantic-kernel-workshop-jan-2025/</link>
      <pubDate>Sat, 01 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/01/semantic-kernel-workshop-jan-2025/</guid>
      <description>&lt;p&gt;Yesterday Bill Wilder, Juan Pablo Garcia Gonzalez and I had the second &lt;a href=&#34;https://www.meetup.com/bostonazureai/events/305679069/?eventOrigin=group_past_events&#34;&gt;Hands-on AI Workshop &lt;/a&gt; - this time in Cambridge MA. Like the last time, the goal was to give the attendees a hands on experience using Semantic Kernel. The target audience was .NET developers using Visual Studio Code looking to learn GenAI.&lt;/p&gt;&#xA;&lt;p&gt;My presentation and labs focused on RAG.&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-retrieval-augmented-generation-rag&#34;&gt;Talk: Retrieval Augmented Generation (RAG)&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2025-02-01_img1.jpg&#34; alt=&#34;Slide 1&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I made a few small changes since the &lt;a href=&#34;https://jasonhaley.com/2024/12/07/semantic-kernel-workshop-dec-2024/&#34;&gt;December workshop&lt;/a&gt;, mostly in the part where I discuss chunking.&lt;/p&gt;</description>
      <category>AI</category><category>Azure SQL</category><category>Hands-on-Lab</category><category>Learning</category><category>RAG</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Introducing: the Local RAG Series (with Semantic Kernel)</title>
      <link>https://jasonhaley.com/2024/12/22/introducing-sk-local-rag-series/</link>
      <pubDate>Sun, 22 Dec 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/12/22/introducing-sk-local-rag-series/</guid>
      <description>&lt;h1 id=&#34;announcing-the-local-rag-series-with-semantic-kernel&#34;&gt;Announcing: The Local RAG Series with Semantic Kernel&lt;/h1&gt;&#xA;&lt;p&gt;This year I&amp;rsquo;ve spent a lot of time focusing on Retrieval Augmented Generation (RAG) and its related technologies. I&amp;rsquo;ve also had my eye on agents and plan to focus on them a lot in 2025. From what I&amp;rsquo;ve seen with my limited work with agents so far is: &lt;strong&gt;they can be chatty&lt;/strong&gt;. This has lead me to believe that agents will &lt;strong&gt;really&lt;/strong&gt; take off once either the price of LLMs available via APIs lower (a lot) or local models become sufficient to use.&lt;/p&gt;</description>
      <category>AI</category><category>Learning</category><category>Local RAG Series</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>A Semantic Kernel Workshop</title>
      <link>https://jasonhaley.com/2024/12/08/semantic-kernel-workshop/</link>
      <pubDate>Sun, 08 Dec 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/12/08/semantic-kernel-workshop/</guid>
      <description>&lt;h1 id=&#34;announcing-a-semantic-kernel-workshop&#34;&gt;Announcing: A Semantic Kernel Workshop&lt;/h1&gt;&#xA;&lt;p&gt;Friday Bill Wilder, Juan Pablo Garcia Gonzalez and I finally were able to make the workshop we&amp;rsquo;ve been working on for the past couple of months public. We had an in person day long event where we used the content, which was received really well. The attendees had some good questions - giving us some really good ideas on how to improve the content.&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;Target audience:&lt;/strong&gt; .NET developers looking to start using Gen AI in their applications&lt;/p&gt;</description>
      <category>AI</category><category>Azure SQL</category><category>Hands-on-Lab</category><category>Learning</category><category>RAG</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Hands-on AI Workshop Dec 2024</title>
      <link>https://jasonhaley.com/2024/12/07/semantic-kernel-workshop-dec-2024/</link>
      <pubDate>Sat, 07 Dec 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/12/07/semantic-kernel-workshop-dec-2024/</guid>
      <description>&lt;p&gt;Yesterday Bill Wilder, Juan Pablo Garcia Gonzalez and I put on a &lt;a href=&#34;https://www.meetup.com/north-boston-azure-cloud-user-group/events/304611894/?eventOrigin=group_past_events&#34;&gt;Hands-on AI Workshop in Burlington  MA&lt;/a&gt;. The goal was to give the attendees hands on experience using Semantic Kernel. The target audience was .NET developers using Visual Studio Code or Visual Studio looking to learn GenAI.&lt;/p&gt;&#xA;&lt;p&gt;I gave the middle presentations and labs focusing on RAG.&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-retrieval-augmented-generation-rag&#34;&gt;Talk: Retrieval Augmented Generation (RAG)&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-12-07_img1.jpg&#34; alt=&#34;Slide 1&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;This was an intro level presentation on what RAG is and the concepts you need to know to create a RAG system. The presentation can be downloaded on the github &lt;a href=&#34;https://github.com/bostonazure/rag-vector-agent-semantic-kernel/blob/main/assets/Workshop-RAGIntro.pdf&#34;&gt;here&lt;/a&gt;&lt;/p&gt;</description>
      <category>AI</category><category>Azure SQL</category><category>Hands-on-Lab</category><category>Learning</category><category>RAG</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Azure SQL, Entity Framework, Semantic Kernel Hands-on-Lab</title>
      <link>https://jasonhaley.com/2024/11/25/introducing-azure-sql-db-semantic-kernel-efcore-lab/</link>
      <pubDate>Mon, 25 Nov 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/11/25/introducing-azure-sql-db-semantic-kernel-efcore-lab/</guid>
      <description>&lt;h1 id=&#34;announcing-build-a-rag-app-using-semantic-kernel-entity-framework-and-azure-sql-db-hands-on-lab&#34;&gt;Announcing: Build a RAG App using Semantic Kernel, Entity Framework and Azure SQL DB Hands-on-Lab&lt;/h1&gt;&#xA;&lt;p&gt;A couple of weeks ago after &lt;a href=&#34;https://devblogs.microsoft.com/azure-sql/exciting-announcement-public-preview-of-native-vector-support-in-azure-sql-database/&#34;&gt;Azure SQL DB announced their public preview of native vector support&lt;/a&gt;, I put a hands on lab together to help people get started with the new feature and EF Core extension. Bill Wilder and I did mentioned it in our presentations on &lt;a href=&#34;https://jasonhaley.com/2024/11/12/november-2024-virtual-boston-azure-meetup/&#34;&gt;December 12&lt;/a&gt; and &lt;a href=&#34;https://jasonhaley.com/2024/11/15/november-2024-virtual-boston-azure-lunchtime-meetup/&#34;&gt;December 15&lt;/a&gt;, but I haven&amp;rsquo;t had a chance to announce it for those of you who missed our presentations.&lt;/p&gt;</description>
      <category>AI</category><category>Azure SQL</category><category>EF Core</category><category>Hands-on-Lab</category><category>Learning</category><category>RAG</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Virtual Boston Azure Lunchtime November 2024</title>
      <link>https://jasonhaley.com/2024/11/15/november-2024-virtual-boston-azure-lunchtime-meetup/</link>
      <pubDate>Fri, 15 Nov 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/11/15/november-2024-virtual-boston-azure-lunchtime-meetup/</guid>
      <description>&lt;p&gt;Today at lunchtime &lt;a href=&#34;https://blog.codingoutloud.com/&#34;&gt;Bill Wilder&lt;/a&gt; and I spoke at the &lt;a href=&#34;https://www.meetup.com/bostonazure/events/304405840/&#34;&gt;Virtual Boston Azure meetup&lt;/a&gt;. Our talks were based on the same material we presented on &lt;a href=&#34;https://jasonhaley.com/2024/11/12/november-2024-virtual-boston-azure-meetup/&#34;&gt;Tuesday night&lt;/a&gt;, however I introduced &lt;a href=&#34;https://github.com/dotnet/eShopSupport&#34;&gt;eShopSupport&lt;/a&gt; as well today.&lt;/p&gt;&#xA;&lt;p&gt;The recording of the session can be found on the &lt;a href=&#34;https://youtu.be/FYWJU7LBi8k&#34;&gt;(Lunchtime editions) Boston Azure YouTube channel&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-add-gen-ai-to-your-existing-net-apps-with-semantic-kernel--azure-sql&#34;&gt;Talk: Add Gen AI to your existing .NET apps with Semantic Kernel &amp;amp; Azure SQL&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-11-15-img1.jpg&#34; alt=&#34;Slide 1&#34;&gt;&#xD;&#xA;&#xD;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;My part of the presentation PDF can be downloaded &lt;a href=&#34;https://jhaleysftp.blob.core.windows.net/files/AddingGenAIWithSemanticKernel(friday-edition).pdf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <category>Azure</category><category>Azure SQL</category><category>Entity Framework Core</category><category>Learning</category><category>Presentation</category><category>Semantic Kernel</category>
    </item>
    <item>
      <title>Virtual Boston Azure November 2024</title>
      <link>https://jasonhaley.com/2024/11/12/november-2024-virtual-boston-azure-meetup/</link>
      <pubDate>Tue, 12 Nov 2024 00:00:00 +0000</pubDate>
      <author>info@jasonhaley.com (Jason Haley)</author>
      <dc:creator>Jason Haley</dc:creator>
      <guid>https://jasonhaley.com/2024/11/12/november-2024-virtual-boston-azure-meetup/</guid>
      <description>&lt;p&gt;Last night &lt;a href=&#34;https://blog.codingoutloud.com/&#34;&gt;Bill Wilder&lt;/a&gt; and I spoke at the &lt;a href=&#34;https://www.meetup.com/bostonazure/events/304405840/&#34;&gt;Virtual Boston Azure meetup&lt;/a&gt;. Our talks were about adding GenAI to .NET applications. My portion was mostly demos that focused on Azure SQL&amp;rsquo;s new native VECTOR support, Entity Framework Core and Semantic Kernel.&lt;/p&gt;&#xA;&lt;p&gt;The recording of the session can be found on the &lt;a href=&#34;https://www.youtube.com/watch?v=qiBtBEGnnBc&#34;&gt;Boston Azure YouTube channel&lt;/a&gt;.&lt;/p&gt;&#xA;&lt;h1 id=&#34;talk-add-gen-ai-to-your-existing-net-apps-with-semantic-kernel--azure-sql&#34;&gt;Talk: Add Gen AI to your existing .NET apps with Semantic Kernel &amp;amp; Azure SQL&lt;/h1&gt;&#xA;&lt;p&gt;&#xD;&#xA;  &lt;img src=&#34;https://jasonhaley.com/img/2024-11-12_img1.jpg&#34; alt=&#34;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://jhaleysftp.blob.core.windows.net/files/AddingGenAIWithSemanticKernel.pdf&#34;&gt;here&lt;/a&gt;.&lt;/p&gt;</description>
      <category>Azure</category><category>Azure SQL</category><category>Entity Framework Core</category><category>Learning</category><category>Presentation</category><category>Semantic Kernel</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>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>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>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>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 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>
  </channel>
</rss>