<?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 Hello World Series on Jason Haley</title>
    <link>https://jasonhaley.com/tags/semantic-kernel-hello-world-series/</link>
    <description>Recent content in Semantic Kernel Hello World Series 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>Mon, 26 May 2025 00:00:00 +0000</lastBuildDate>
    <atom:link href="https://jasonhaley.com/tags/semantic-kernel-hello-world-series/index.xml" rel="self" type="application/rss+xml" />
    <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>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>
  </channel>
</rss>