Your homework for Lesson 1 is a follows:
-
Read the overview on Semantic Kernel and understand why a framework is needed
-
In the latest version of Semantic Kernel is there such a thing as skills? Do some research to see if you can figuer out the answer before looking at the answer.
Answer (click to expand)
-
What are the fundimental steps needed for a Chat implementation using Semantic Kernel?
Answer (click to expand)
-
Create a Kernel Builder so you can construct Kernel instances
-
Load the AI Endpoint values so you can access the REST endpoint
-
Add the Chat Completion Service with the Endpoint details
-
Construct the Kernel, Prompt / Chat History, get an instance to the Completion Service
-
Send the Prompt / Chat History and get a response
-
-
Build your first Semantic Kernel Console App.
Tips (click to expand)
1. Follow the steps outlined in Lesson 1.If you need a shortcut you can take look at the Lesson 1 Project found in the Semantic-Kernel-101.sln file.
Hint: Kernel.CreateBuilder, builder.Services.AddAzureOpenAIChatCompletion, builder.Build, kernel.GetRequiredService(), chatCompletionService.GetChatMessageContentAsync, history.AddAssistantMessage
-
RAG (Retrieval Augmented Generation) and Generative AI
The RAG pattern is one of the most important patterns in use today. Retrieval = Retrieve inforamtion from a data source Augment = Inject the retrieved data into the prompt Generation = Allow the LLM to generation responses based on the retrieved data
Read and understand RAG with AI Search (click to expand)
-
Prompt Template Language
The Semantic Kernel prompt template language is a simple way to define and compose AI functions using plain text. You can use it to create natural language prompts, generate responses, extract information, invoke other prompts or perform any other task that can be expressed with text.
Study the Syntax (click to expand)
-
Creating Functions from Prompts and adding variables
The Semantic Kernel prompt template language is very powerful, you can create tokens that will automatically be replace with input parameters. Read and study up on this topic as it will be used in Lesson 2!
Study the Syntax (click to expand)