Skip to content

Commit 563e180

Browse files
authored
.Net: Update notebooks to use RC4 (microsoft#4274)
### Motivation and Context <!-- Thank you for your contribution to the semantic-kernel repo! Please help reviewers and future users, providing the following information: 1. Why is this change required? 2. What problem does it solve? 3. What scenario does it contribute to? 4. If it fixes an open issue, please link to the issue here. --> Update notebooks to use RC4 version of Semantic Kernel. ### Contribution Checklist <!-- Before submitting this PR, please make sure: --> - [x] The code builds clean without any errors or warnings - [x] The PR follows the [SK Contribution Guidelines](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md) and the [pre-submission formatting script](https://github.com/microsoft/semantic-kernel/blob/main/CONTRIBUTING.md#development-scripts) raises no violations - [x] All unit tests pass, and I have added new tests where possible - [x] I didn't break anyone 😄
1 parent db251dd commit 563e180

11 files changed

+87
-73
lines changed

dotnet/notebooks/00-getting-started.ipynb

+5-4
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@
6161
"outputs": [],
6262
"source": [
6363
"// Import Semantic Kernel\n",
64-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\""
64+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\""
6565
]
6666
},
6767
{
@@ -86,9 +86,10 @@
8686
"outputs": [],
8787
"source": [
8888
"using Microsoft.SemanticKernel;\n",
89+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
8990
"\n",
9091
"//Create Kernel builder\n",
91-
"var builder = new KernelBuilder();"
92+
"var builder = Kernel.CreateBuilder();"
9293
]
9394
},
9495
{
@@ -108,7 +109,7 @@
108109
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
109110
"\n",
110111
"if (useAzureOpenAI)\n",
111-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
112+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
112113
"else\n",
113114
" builder.AddOpenAIChatCompletion(model, apiKey, orgId);\n",
114115
"\n",
@@ -143,7 +144,7 @@
143144
"var funPluginFunctions = kernel.ImportPluginFromPromptDirectory(funPluginDirectoryPath);\n",
144145
"\n",
145146
"// Construct arguments\n",
146-
"var arguments = new KernelArguments(\"time travel to dinosaur age\");\n",
147+
"var arguments = new KernelArguments() { [\"input\"] = \"time travel to dinosaur age\" };\n",
147148
"\n",
148149
"// Run the Function called Joke\n",
149150
"var result = await kernel.InvokeAsync(funPluginFunctions[\"Joke\"], arguments);\n",

dotnet/notebooks/01-basic-loading-the-kernel.ipynb

+4-4
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
},
3333
"outputs": [],
3434
"source": [
35-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\""
35+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\""
3636
]
3737
},
3838
{
@@ -63,12 +63,13 @@
6363
"using Microsoft.Extensions.Logging;\n",
6464
"using Microsoft.Extensions.Logging.Abstractions;\n",
6565
"using Microsoft.Extensions.DependencyInjection;\n",
66+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
6667
"\n",
6768
"// Inject your logger \n",
6869
"// see Microsoft.Extensions.Logging.ILogger @ https://learn.microsoft.com/dotnet/core/extensions/logging\n",
6970
"ILoggerFactory myLoggerFactory = NullLoggerFactory.Instance;\n",
7071
"\n",
71-
"var builder = new KernelBuilder();\n",
72+
"var builder = Kernel.CreateBuilder();\n",
7273
"builder.Services.AddSingleton(myLoggerFactory);\n",
7374
"\n",
7475
"var kernel = builder.Build();"
@@ -102,10 +103,9 @@
102103
},
103104
"outputs": [],
104105
"source": [
105-
"new KernelBuilder()\n",
106+
"Kernel.CreateBuilder()\n",
106107
".AddAzureOpenAIChatCompletion(\n",
107108
" \"my-finetuned-model\", // Azure OpenAI *Deployment Name*\n",
108-
" \"model-id\", // Model identifier\n",
109109
" \"https://contoso.openai.azure.com/\", // Azure OpenAI *Endpoint*\n",
110110
" \"...your Azure OpenAI Key...\", // Azure OpenAI *Key*\n",
111111
" serviceId: \"Azure_curie\" // alias used in the prompt templates' config.json\n",

dotnet/notebooks/02-running-prompts-from-file.ipynb

+5-4
Original file line numberDiff line numberDiff line change
@@ -93,19 +93,20 @@
9393
},
9494
"outputs": [],
9595
"source": [
96-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\"\n",
96+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\"\n",
9797
"\n",
9898
"#!import config/Settings.cs\n",
9999
"\n",
100100
"using Microsoft.SemanticKernel;\n",
101+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
101102
"\n",
102-
"var builder = new KernelBuilder();\n",
103+
"var builder = Kernel.CreateBuilder();\n",
103104
"\n",
104105
"// Configure AI backend used by the kernel\n",
105106
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
106107
"\n",
107108
"if (useAzureOpenAI)\n",
108-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
109+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
109110
"else\n",
110111
" builder.AddOpenAIChatCompletion(model, apiKey, orgId);\n",
111112
"\n",
@@ -162,7 +163,7 @@
162163
"outputs": [],
163164
"source": [
164165
"// Construct arguments\n",
165-
"var arguments = new KernelArguments(\"time travel to dinosaur age\");\n",
166+
"var arguments = new KernelArguments() { [\"input\"] = \"time travel to dinosaur age\" };\n",
166167
"\n",
167168
"// Run the Function called Joke\n",
168169
"var result = await kernel.InvokeAsync(funPluginFunctions[\"Joke\"], arguments);\n",

dotnet/notebooks/03-semantic-function-inline.ipynb

+8-7
Original file line numberDiff line numberDiff line change
@@ -51,21 +51,22 @@
5151
},
5252
"outputs": [],
5353
"source": [
54-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\"\n",
54+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\"\n",
5555
"\n",
5656
"#!import config/Settings.cs\n",
5757
"\n",
5858
"using Microsoft.SemanticKernel;\n",
59-
"using Microsoft.SemanticKernel.Connectors.AI.OpenAI;\n",
59+
"using Microsoft.SemanticKernel.Connectors.OpenAI;\n",
6060
"using Microsoft.SemanticKernel.TemplateEngine;\n",
61+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
6162
"\n",
62-
"var builder = new KernelBuilder();\n",
63+
"var builder = Kernel.CreateBuilder();\n",
6364
"\n",
6465
"// Configure AI service credentials used by the kernel\n",
6566
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
6667
"\n",
6768
"if (useAzureOpenAI)\n",
68-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
69+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
6970
"else\n",
7071
" builder.AddOpenAIChatCompletion(model, apiKey, orgId);\n",
7172
"\n",
@@ -242,7 +243,7 @@
242243
},
243244
"outputs": [],
244245
"source": [
245-
"var summaryResult = await kernel.InvokeAsync(summaryFunction, new KernelArguments(input));\n",
246+
"var summaryResult = await kernel.InvokeAsync(summaryFunction, new() { [\"input\"] = input });\n",
246247
"\n",
247248
"Console.WriteLine(summaryResult);"
248249
]
@@ -277,7 +278,7 @@
277278
"Summarize the content above.\n",
278279
"\"\"\";\n",
279280
"\n",
280-
"var result = await kernel.InvokePromptAsync(skPrompt, new KernelArguments(input));\n",
281+
"var result = await kernel.InvokePromptAsync(skPrompt, new() { [\"input\"] = input });\n",
281282
"\n",
282283
"Console.WriteLine(result);"
283284
]
@@ -323,7 +324,7 @@
323324
" does not conflict with the First or Second Law.\n",
324325
"\";\n",
325326
"\n",
326-
"var result = await kernel.InvokePromptAsync(skPrompt, new KernelArguments(textToSummarize));\n",
327+
"var result = await kernel.InvokePromptAsync(skPrompt, new() { [\"input\"] = textToSummarize });\n",
327328
"\n",
328329
"Console.WriteLine(result);"
329330
]

dotnet/notebooks/04-kernel-arguments-chat.ipynb

+7-6
Original file line numberDiff line numberDiff line change
@@ -30,19 +30,20 @@
3030
},
3131
"outputs": [],
3232
"source": [
33-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\"\n",
33+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\"\n",
3434
"#!import config/Settings.cs\n",
3535
"\n",
3636
"using Microsoft.SemanticKernel;\n",
37-
"using Microsoft.SemanticKernel.Connectors.AI.OpenAI;\n",
37+
"using Microsoft.SemanticKernel.Connectors.OpenAI;\n",
38+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
3839
"\n",
39-
"var builder = new KernelBuilder();\n",
40+
"var builder = Kernel.CreateBuilder();\n",
4041
"\n",
4142
"// Configure AI service credentials used by the kernel\n",
4243
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
4344
"\n",
4445
"if (useAzureOpenAI)\n",
45-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
46+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
4647
"else\n",
4748
" builder.AddOpenAIChatCompletion(model, apiKey, orgId);\n",
4849
"\n",
@@ -201,7 +202,7 @@
201202
},
202203
"outputs": [],
203204
"source": [
204-
"history += $\"\\nUser: {userInput}\\nMelody: {bot_answer}\\n\";\n",
205+
"history += $\"\\nUser: {userInput}\\nAI: {bot_answer}\\n\";\n",
205206
"arguments[\"history\"] = history;\n",
206207
"\n",
207208
"Console.WriteLine(history);"
@@ -239,7 +240,7 @@
239240
" var answer = await chatFunction.InvokeAsync(kernel, arguments);\n",
240241
"\n",
241242
" // Append the new interaction to the chat history\n",
242-
" var result = $\"\\nUser: {input}\\nMelody: {answer}\\n\";\n",
243+
" var result = $\"\\nUser: {input}\\nAI: {answer}\\n\";\n",
243244
" history += result;\n",
244245
"\n",
245246
" arguments[\"history\"] = history;\n",

dotnet/notebooks/05-using-the-planner.ipynb

+8-7
Original file line numberDiff line numberDiff line change
@@ -25,22 +25,23 @@
2525
},
2626
"outputs": [],
2727
"source": [
28-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\"\n",
29-
"#r \"nuget: Microsoft.SemanticKernel.Planners.Handlebars, 1.0.0-rc3\"\n",
28+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\"\n",
29+
"#r \"nuget: Microsoft.SemanticKernel.Planners.Handlebars, 1.0.0-rc4\"\n",
3030
"\n",
3131
"#!import config/Settings.cs\n",
3232
"#!import config/Utils.cs\n",
3333
"\n",
3434
"using Microsoft.SemanticKernel;\n",
35-
"using Microsoft.SemanticKernel.Connectors.AI.OpenAI;\n",
35+
"using Microsoft.SemanticKernel.Connectors.OpenAI;\n",
36+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
3637
"\n",
37-
"var builder = new KernelBuilder();\n",
38+
"var builder = Kernel.CreateBuilder();\n",
3839
"\n",
3940
"// Configure AI backend used by the kernel\n",
4041
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
4142
"\n",
4243
"if (useAzureOpenAI)\n",
43-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
44+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
4445
"else\n",
4546
" builder.AddOpenAIChatCompletion(model, apiKey, orgId);\n",
4647
"\n",
@@ -239,7 +240,7 @@
239240
"source": [
240241
"#pragma warning disable SKEXP0060\n",
241242
"\n",
242-
"var originalPlanResult = originalPlan.Invoke(kernel, new KernelArguments());\n",
243+
"var originalPlanResult = await originalPlan.InvokeAsync(kernel, new KernelArguments());\n",
243244
"\n",
244245
"Console.WriteLine(\"Original Plan results:\\n\");\n",
245246
"Console.WriteLine(Utils.WordWrap(originalPlanResult.ToString(), 100));"
@@ -268,7 +269,7 @@
268269
"source": [
269270
"#pragma warning disable SKEXP0060\n",
270271
"\n",
271-
"var newPlanResult = newPlan.Invoke(kernel, new KernelArguments());\n",
272+
"var newPlanResult = await newPlan.InvokeAsync(kernel, new KernelArguments());\n",
272273
"\n",
273274
"Console.WriteLine(\"New Plan results:\\n\");\n",
274275
"Console.WriteLine(newPlanResult);"

dotnet/notebooks/06-memory-and-embeddings.ipynb

+12-9
Original file line numberDiff line numberDiff line change
@@ -33,20 +33,21 @@
3333
},
3434
"outputs": [],
3535
"source": [
36-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\"\n",
36+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\"\n",
3737
"#r \"nuget: System.Linq.Async, 6.0.1\"\n",
3838
"\n",
3939
"#!import config/Settings.cs\n",
4040
"\n",
4141
"using Microsoft.SemanticKernel;\n",
42+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
4243
"\n",
43-
"var builder = new KernelBuilder();\n",
44+
"var builder = Kernel.CreateBuilder();\n",
4445
"\n",
4546
"// Configure AI service credentials used by the kernel\n",
4647
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
4748
"\n",
4849
"if (useAzureOpenAI)\n",
49-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
50+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
5051
"else\n",
5152
" builder.AddOpenAIChatCompletion(model, apiKey, orgId);\n",
5253
"\n",
@@ -82,8 +83,8 @@
8283
},
8384
"outputs": [],
8485
"source": [
85-
"using Microsoft.SemanticKernel.Plugins.Memory;\n",
86-
"using Microsoft.SemanticKernel.Connectors.AI.OpenAI;\n",
86+
"using Microsoft.SemanticKernel.Memory;\n",
87+
"using Microsoft.SemanticKernel.Connectors.OpenAI;\n",
8788
"\n",
8889
"// Memory functionality is experimental\n",
8990
"#pragma warning disable SKEXP0011, SKEXP0052\n",
@@ -96,9 +97,9 @@
9697
"{\n",
9798
" memoryBuilder.WithAzureOpenAITextEmbeddingGeneration(\n",
9899
" \"text-embedding-ada-002\",\n",
99-
" \"model-id\",\n",
100100
" azureEndpoint, \n",
101-
" apiKey);\n",
101+
" apiKey,\n",
102+
" \"model-id\");\n",
102103
"}\n",
103104
"else\n",
104105
"{\n",
@@ -229,6 +230,8 @@
229230
},
230231
"outputs": [],
231232
"source": [
233+
"using Microsoft.SemanticKernel.Plugins.Memory;\n",
234+
"\n",
232235
"#pragma warning disable SKEXP0052\n",
233236
"\n",
234237
"// TextMemoryPlugin provides the \"recall\" function\n",
@@ -464,9 +467,9 @@
464467
"{\n",
465468
" memoryBuilder.WithAzureOpenAITextEmbeddingGeneration(\n",
466469
" \"text-embedding-ada-002\",\n",
467-
" \"model-id\",\n",
468470
" azureEndpoint, \n",
469-
" apiKey);\n",
471+
" apiKey,\n",
472+
" \"model-id\");\n",
470473
"}\n",
471474
"else\n",
472475
"{\n",

dotnet/notebooks/07-DALL-E-2.ipynb

+12-10
Original file line numberDiff line numberDiff line change
@@ -33,17 +33,17 @@
3333
"source": [
3434
"// Usual setup: importing Semantic Kernel SDK and SkiaSharp, used to display images inline.\n",
3535
"\n",
36-
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc3\"\n",
36+
"#r \"nuget: Microsoft.SemanticKernel, 1.0.0-rc4\"\n",
3737
"#r \"nuget: SkiaSharp, 2.88.3\"\n",
3838
"\n",
3939
"#!import config/Settings.cs\n",
4040
"#!import config/Utils.cs\n",
4141
"#!import config/SkiaUtils.cs\n",
4242
"\n",
4343
"using Microsoft.SemanticKernel;\n",
44-
"using Microsoft.SemanticKernel.AI.TextToImage;\n",
45-
"using Microsoft.SemanticKernel.AI.Embeddings;\n",
46-
"using Microsoft.SemanticKernel.Connectors.AI.OpenAI;\n",
44+
"using Microsoft.SemanticKernel.TextToImage;\n",
45+
"using Microsoft.SemanticKernel.Embeddings;\n",
46+
"using Microsoft.SemanticKernel.Connectors.OpenAI;\n",
4747
"using System.Numerics.Tensors;"
4848
]
4949
},
@@ -78,19 +78,21 @@
7878
},
7979
"outputs": [],
8080
"source": [
81+
"using Kernel = Microsoft.SemanticKernel.Kernel;\n",
82+
"\n",
8183
"#pragma warning disable SKEXP0001, SKEXP0002, SKEXP0011, SKEXP0012\n",
8284
"\n",
8385
"// Load OpenAI credentials from config/settings.json\n",
8486
"var (useAzureOpenAI, model, azureEndpoint, apiKey, orgId) = Settings.LoadFromFile();\n",
8587
"\n",
8688
"// Configure the three AI features: text embedding (using Ada), text completion (using DaVinci 3), image generation (DALL-E 2)\n",
87-
"var builder = new KernelBuilder();\n",
89+
"var builder = Kernel.CreateBuilder();\n",
8890
"\n",
8991
"if(useAzureOpenAI)\n",
9092
"{\n",
91-
" builder.AddAzureOpenAITextEmbeddingGeneration(\"text-embedding-ada-002\", \"model-id\", azureEndpoint, apiKey);\n",
92-
" builder.AddAzureOpenAIChatCompletion(model, \"model-id\", azureEndpoint, apiKey);\n",
93-
" builder.AddAzureOpenAITextToImage(azureEndpoint, \"model-id\", apiKey);\n",
93+
" builder.AddAzureOpenAITextEmbeddingGeneration(\"text-embedding-ada-002\", azureEndpoint, apiKey);\n",
94+
" builder.AddAzureOpenAIChatCompletion(model, azureEndpoint, apiKey);\n",
95+
" builder.AddAzureOpenAITextToImage(azureEndpoint, apiKey);\n",
9496
"}\n",
9597
"else\n",
9698
"{\n",
@@ -105,7 +107,7 @@
105107
"var dallE = kernel.GetRequiredService<ITextToImageService>();\n",
106108
"\n",
107109
"// Get AI service instance used to extract embedding from a text\n",
108-
"var textEmbedding = kernel.GetRequiredService<ITextEmbeddingGeneration>();"
110+
"var textEmbedding = kernel.GetRequiredService<ITextEmbeddingGenerationService>();"
109111
]
110112
},
111113
{
@@ -154,7 +156,7 @@
154156
"var genImgDescription = kernel.CreateFunctionFromPrompt(prompt, executionSettings);\n",
155157
"\n",
156158
"var random = new Random().Next(0, 200);\n",
157-
"var imageDescriptionResult = await kernel.InvokeAsync(genImgDescription, new KernelArguments($\"{random}\"));\n",
159+
"var imageDescriptionResult = await kernel.InvokeAsync(genImgDescription, new() { [\"input\"] = random });\n",
158160
"var imageDescription = imageDescriptionResult.ToString();\n",
159161
"\n",
160162
"// Use DALL-E 2 to generate an image. OpenAI in this case returns a URL (though you can ask to return a base64 image)\n",

0 commit comments

Comments
 (0)