Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

@rliberoff/update semantic kernel ~1.0.1~ 1.1.0 #43

Merged
merged 19 commits into from
Jan 18, 2024

Conversation

rliberoff
Copy link
Member

[8.1.0]

Important

This version updates the Semantic Kernel library from version 1.0.0-beta8 to 1.1.0, which introduces a lot of breaking changes in the code.

Sadly, some features from Semantic Kernel that we might have been using, are marked as experimental and produce warnings that do not allow the compilation of the code. To use these features, these warnings must be ignored explicitly per project. The following is a list of these warnings and the affected projects:

  • SKEXP0001:
    • Encamina.Enmarcha.SemanticKernel
  • SKEXP0003:
    • Encamina.Enmarcha.SemanticKernel
    • Encamina.Enmarcha.SemanticKernel.Abstractions
    • Encamina.Enmarcha.SemanticKernel.Connectors.Memory
    • Encamina.Enmarcha.SemanticKernel.Plugins.Memory
    • Encamina.Enmarcha.SemanticKernel.Plugins.QuestionAnswering
  • SKEXP0011:
    • Encamina.Enmarcha.SemanticKernel.Connectors.Memory
  • SKEXP0026:
    • Encamina.Enmarcha.SemanticKernel.Connectors.Memory
  • SKEXP0051:
    • Encamina.Enmarcha.SemanticKernel.Connectors.Document

More information about these warnings is available here: https://github.com/microsoft/semantic-kernel/blob/main/dotnet/docs/EXPERIMENTS.md

Braking Changes

  • Replaced class Completition for Completion in Encamina.Enmarcha.AI.OpenAI.Abstractions. It was misspelled.
  • Class SemanticKernelOptions does not exists anymore. It has been replaced by AzureOpenAIOptions from Encamina.Enmarcha.AI.OpenAI.Abstractions.
  • The following references were updated due to changes in Semantic Kernel version 1.0.1:
  • Changed IKernel for Kernel.
  • Changed ISKFunction for KernelFunction or KernelPlugin.
  • Changed SKFunction for KernelFunction.
  • Changed ContextVariables for KernelArguments.
  • Changed kernel.Functions.GetFunction(...) for kernel.Plugins[<name of plugin>][<name of function>].
  • Changed OpenAIRequestSettings for OpenAIPromptExecutionSettings.
  • Removed extension methods for SKContext because that class does not exists anymore in Semantic Kernel.
  • Due to the breaking nature of the new version of Semantic Kernel, the following extension methods are not available any more and have been replace by new methods, and it was not possible to marked it as Obsolete:
    • GetSemanticFunctionPromptAsync is replaced by GetKernelFunctionPromptAsync.
    • GetSemanticFunctionUsedTokensAsync is replaced by GetKernelFunctionUsedTokensAsync.
    • ImportSemanticPluginsFromAssembly is replaced by ImportPromptFunctionsFromAssembly.
  • Extension method GetSemanticFunctionPromptAsync is no longer available. It is replaced by GetKernelFunctionPromptAsync.
  • Extension method ImportQuestionAnsweringPlugin has different signature.
  • Extension method ImportQuestionAnsweringPluginWithMemory has different signature.
  • Extension method ImportChatWithHistoryPluginUsingCosmosDb has different signature.
  • The format of prompt function configuration files config.json has been modified.

Major Changes

  • Updated Semantic Kernel from 1.0.0-beta8 to 1.0.1 (first final version of Semantic Kernel).
  • Updated Azure.Core from version 1.36.0 to 1.37.0.
  • Updated Azure.AI.OpenAI from version 1.0.0-beta.6 to 1.0.0-beta.12.
  • Updated Bogus from version 34.0.2 to 35.4.0.
  • Updated Microsoft.AspNetCore.Authentication.JwtBearer from version 8.0.0 to 8.0.1.
  • Updated Microsoft.AspNetCore.Authentication.OpenIdConnect from version 8.0.0 to 8.0.1.
  • Updated Microsoft.Azure.Cosmos from version 3.37.0 to 3.37.1.
  • Updated Microsoft.EntityFrameworkCore from version 8.0.0 to 8.0.1.
  • Updated Microsoft.Extensions.Options from version 8.0.0 to 8.0.1.
  • Updated SharpToken from version 1.2.12 to 1.2.14.
  • Updated xunit from version 2.6.2 to 2.6.6.
  • Updated xunit.analyzers from version 1.6.0 to 1.10.0.
  • Updated xunit.extensibility.core from version 2.6.2 to 2.6.6.
  • Updated xunit.runner.visualstudio from version 2.5.4 to 2.5.6.
  • Updated StyleCop.Analyzers from version 1.2.0-beta.507 to 1.2.0-beta.556.
  • Updated System.Text.Json from version 8.0.0 to 8.0.1.
  • Updated version from 8.0.3 to 8.1.0 due to all the major and breaking changes.
  • Updated some README.md files changing IKernel for Kernel.
  • Updated and added new unit tests to cover the main "happy path" of implementations that use Semnantic Kernel.

Minor Changes

  • Updated prompt function configuration files (config.json) to new format.
  • Renamed files IKernelExtensions to KernelExtensions.cs.
  • Fixed token counting in ChatWithHistoryPlugin.cs.
  • Updated sample projects.
  • Fixed some typos and grammatical errors.

rliberoff and others added 15 commits December 19, 2023 17:33
…ernel` version `1.0.1`:

 - Changed `IKernel` for `Kernel`.
 - Changed `ISKFunction` for `KernelFunction` or `KernelPlugin`.
 - Changed `SKFunction` for `KernelFunction`.
 - Changed `ContextVariables` for `KernelArguments`.
 - Changed `kernel.Functions.GetFunction(...)` for `kernel.Plugins[<name of plugin>][<name of function>]`.
 - Changed `OpenAIRequestSettings` for `OpenAIPromptExecutionSettings`.
- Removed extension methods for `SKContext` because that class does not exists anymore in `Semantic Kernel`.
- Renamed files `IKernelExtensions` to `KernelExtensions.cs`.
- Due to the breaking nature of the new version of `Semantic Kernel`, the following extension methods are not available any more and have been replace by new methods, and it was not possible to marked it as `Obsolete`:
  - `GetSemanticFunctionPromptAsync` is replaced by `GetKernelFunctionPromptAsync`.
  - `GetSemanticFunctionUsedTokensAsync` is replaced by `GetKernelFunctionUsedTokensAsync`.
  - `ImportSemanticPluginsFromAssembly` is replaced by `ImportPromptFunctionsFromAssembly`.
- Extension method `GetSemanticFunctionPromptAsync` is no longer available. It is replaced by `GetKernelFunctionPromptAsync`.
- Updated `Semantic Kernel` from `1.0.0-beta8` to `1.0.1` (first final version of `Semantic Kernel`).
- Updated `Azure.AI.OpenAI` from version `1.0.0-beta.6` to `1.0.0-beta.12`.
- Updated `Bogus` from version `34.0.2` to `35.3.0`.
- Updated `Microsoft.Azure.Cosmos` from version `3.37.0` to `3.37.1`.
- Updated `SharpToken` from version `1.2.12` to `1.2.14`.
- Updated `xunit` from version `2.6.2` to `2.6.5`.
- Updated `xunit.analyzers` from version `1.6.0` to `1.9.0`.
- Updated `xunit.extensibility.core` from version `2.6.2` to `2.6.5`.
- Updated `xunit.runner.visualstudio` from version `2.5.4` to `2.5.6`.
- Updated `StyleCop.Analyzers` from version `1.2.0-beta.507` to `1.2.0-beta.556`.
- Updated version from `8.0.3` to `8.1.0` due to all the major and breaking changes.
- Updated some `README.md` files changing `IKernel` for `Kernel`.
- Updated `CHANGELOG.md`.
…rom an assembly when a plugin with the same name already exists. Tests added and improved.
@rliberoff rliberoff added bug Something isn't working enhancement New feature or request labels Jan 17, 2024
…(version `5.1.0`) for `Asp.Versioning.Mvc.ApiExplorer` (version `8.0.0`) which is the new name and implementation of the ASP.NET versioning libraries.
@rliberoff rliberoff changed the title @rliberoff/update semantic kernel 1.0.1 @rliberoff/update semantic kernel ~1.0.1~ 1.1.0 Jan 17, 2024
Hiunkeru
Hiunkeru previously approved these changes Jan 17, 2024
MarioRamosEs
MarioRamosEs previously approved these changes Jan 17, 2024
CHANGELOG.md Outdated Show resolved Hide resolved
@rliberoff rliberoff dismissed stale reviews from MarioRamosEs and Hiunkeru via 19e086a January 17, 2024 17:27
@rliberoff rliberoff merged commit b885080 into main Jan 18, 2024
4 checks passed
@rliberoff rliberoff deleted the @rliberoff/update_semantic_kernel_1.0.1 branch January 18, 2024 10:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment