Releases: microsoft/semantic-kernel
python-0.5.1.dev
What's Changed
- Python: Make the Kernel class Pydantic. by @moonbox3 in #4850
- Python: Pydantic-ify the KernelFunction class. Fix code paths related to tool_calls. by @moonbox3 in #4863
- Python: Bump fastapi from 0.105.0 to 0.109.1 in /python by @dependabot in #4874
- Python: Set the default plugins on the semantic function. Add a unit test. by @moonbox3 in #4897
- Python: Bump cryptography from 41.0.7 to 42.0.0 in /python by @dependabot in #4890
- Python: Bump torch from 2.0.0 to 2.2.0 in /python by @dependabot in #4901
- Python: Bump pillow from 10.1.0 to 10.2.0 in /python by @dependabot in #4701
- Python: Bump aiohttp from 3.9.1 to 3.9.3 in /python by @dependabot in #4882
- Python: Bump pycryptodome from 3.19.0 to 3.19.1 in /python by @dependabot in #4494
- Fix broken links by @moonbox3 in #4930
- Python: Remove cross lingual sample for AOAI OYD by @sarah-widder in #4915
- Python: streaming fix for Python: SK 0.5.0 breaks streaming #4925 by @eavanvalkenburg in #4928
- Python: Support for cases where "logprobs" does not exist by @yuichiromukaiyama in #4924
- Python: .Net: Remove legacy samples/skills as plugins are now only used. by @moonbox3 in #4880
- Python: Fix 06 memory notebook missing plugin name. by @moonbox3 in #4906
- Revert "Failed links are temporarily excluded from the link-checking action" by @SergeyMenshykh in #4939
- Python: fixes for hugging face and working integration tests by @eavanvalkenburg in #4927
- Python: Add CMK support to create Index by @charotAmine in #4949
- Python: Bump python project version for release. Update notebooks. by @moonbox3 in #4951
New Contributors
- @yuichiromukaiyama made their first contribution in #4924
- @charotAmine made their first contribution in #4949
Full Changelog: python-0.5.0.dev...python-0.5.1.dev
dotnet-1.3.0
Changes:
- d34bef7 .Net: Bump to version 1.3.0 (#4798)
- a535568 .Net: Bump Roslynator.Analyzers from 4.3.0 to 4.10.0 in /dotnet (#4779)
- ce32378 .Net: Bump Microsoft.Extensions.Http.Resilience, Microsoft.Bcl.TimeProvider and System.Text.Json in /dotnet (#4778)
- 6f5741a .Net: Articles grammar correction (#4749)
- 216d6c9 Update COMMUNITY.md (#4738)
- 4317f27 .Net: update link to .NET8.0 download (#4756)
- ea4ec54 .Net: Reverted example with filters (#4737)
- 91297d9 ADR Connector Community Support (#4619)
- a3954e2 .Net: Pass user field in SK C# (#4736)
- f959256 .Net: Upgraded baseline version for package compatibility (#4726)
This list of changes was auto generated.
python-0.5.0.dev
Notable Changes
We're progressing towards the v1.0 release of our SDK, featuring significant enhancements and modifications:
- Unified response objects for Chat, Text, and Embedding completions under the
KernelContent
class. This change offers multiple advantages, including consistency with our dotnet implementation and a more streamlined handling of responses. TheKernelContent
base class provides an efficient way to access response metadata and inner content. - Updated the terminology from
AIRequestSettings
toPromptExecutionSettings
, to better align with dotnet terminology. - Overhauled the plugin and function architecture to utilize the
KernelPluginCollection
class. This update involves removing outdated code and base classes associated with PluginCollection and ReadOnlyPluginCollection. - Discontinued support for synchronous function execution, which previously relied on asyncio and led to complications.
What's Changed
- Python: implement KernelContent and all related classes by @eavanvalkenburg in #4491
- Python: Add astra memory by @david-polo in #4374
- Python: Renames request settings to prompt execution settings by @juliomenendez in #4782
- Python: Remove sync function invoke. Update other code to use async invoke. by @moonbox3 in #4796
- Python: Add kernel plugin collection and remove old plugin collection classes by @moonbox3 in #4764
- Python: Bump python version to 0.5.0 for release. Update notebooks. by @moonbox3 in #4849
New Contributors
- @david-polo made their first contribution in #4374
Full Changelog: python-0.4.7.dev...python-0.5.0.dev
python-0.4.7.dev
Notable Changes
- In order to maintain consistency with the .Net SDK, we have eliminated the "SK" prefix from our class and file names. For example, "SKContext" has been renamed to "KernelContext," and "SKFunction" is now "KernelFunction."
- To enhance the Pythonic nature of our SDK, we've decided to remove the _async suffix from methods that lack a synchronous counterpart. This change aligns better with Python naming conventions and follows the naming practices seen in the Azure Python SDK.
What's Changed
- Python: Sets a valid default content filter code to ResponsibleAIPolicyViolation by @juliomenendez in #4715
- Python: Renames SK prefix to Kernel by @juliomenendez in #4716
- Python: updates to chat_prompt and related by @eavanvalkenburg in #4720
- Python: Removes the _async suffix where is not needed by @juliomenendez in #4735
- Python: bump pyproject version for release. Update notebook package versions. by @moonbox3 in #4760
Full Changelog: python-0.4.6.dev...python-0.4.7.dev
dotnet-1.2.0
Changes:
- 84e1a77 .Net: Upgraded package version to 1.2.0 (#4723)
- afa187d .Net: Update FlowOrchestrator to use yaml plugins and reliability improvement (#4665)
- 80f598c .Net: Marked Kernel events as deprecated in favor of filters (#4714)
- 79119f1 .Net: Implementation of FunctionResultExtended with kernel example (#3380)
- de9b8d8 .Net: OpenApi operation name sanitization (#4708)
- 6a6e170 .Net: Bump DocumentFormat.OpenXml from 3.0.0 to 3.0.1 in /dotnet (#4700)
- 3537ff4 .Net: Bump Microsoft.OpenApi from 1.6.11 to 1.6.12 in /dotnet (#4699)
See More
- 1fa3f53 .Net: Function and Prompt Filters (#4437)
- e4874bb .Net: Extend chat message parsing and add relevant unit tests (#4602) [ #4536 ]
- 3fadf9a .Net: Add an example showing how to use the OpenAI response format property (#4678)
- 59b384f .Net: Add planner integration test configuration to README (#4512)
- f2fb71d .Net: Converted examples 52 and others to tests (#4649) [ #4526 ]
- 7fb6af2 .Net: Remove use of the samples/skills folder (#4684)
- a919536 .Net: CancelKernelEventArgs is marked with SKEXP0003 Experimental Attribute instead of SKEXP0004 (#4657) [ #4650 ]
- a5bc63d .Net: DefaultValue for OpenAPI payload properties (#4612)
- b2bbd41 .Net: Update PackageValidationBaselineVersion (#4663)
- fe23d41 .Net: Fix issue #4608 (#4609)
- 1c07c2f .Net: Remove the NCalc Plugin (#4625)
- da51b70 .Net: Catch InvalidOperationException in RedirectOutput.Log (#4651)
- 4205cd3 .Net: Increase code coverage and add threshold to build pipeline (#4610)
- 4ec03be .Net: Remove Polly as a dependency (#4617)
- 7d47e90 .Net: Simplify example 52 to showcase using a custom OpenAIClient in genera… (#4502) [ #3844 ]
- b9c1adc .Net: Aligning the SK agent HTTP stack behavior with the SK one (#4569)
- b99b780 .Net Kernel Examples as tests (#4526)
This list of changes was auto generated.
python-0.4.6.dev
Notable Changes
- As we advance towards our objective of bringing SK Python to version 1.0, we are implementing several significant modifications. These updates are aimed at ensuring consistency with SK .NET and adhering to industry norms. In the current release, we have updated all occurrences of
Skills
toPlugins
. This modification impacts class names, variable names, as well as filenames and directory names. completion
settings were updated toexecution_settings
. This change is related to thePromptTemplateConfig
andAIRequestSettings
and brings the Python code in better alignment with how it is done in .NET.
What's Changed
- Python: Bump jinja2 from 3.1.2 to 3.1.3 in /python by @dependabot in #4583
- Python: Fix OYD tool message parsing by @sarah-widder in #4599
- Python: Fixes
Plan
using an empty function in describe and incorrectly setting context variables for next steps. by @juliomenendez in #4673 - Python: Rename skills to plugins. Update prompt template config to use execution settings to align with dotnet. by @moonbox3 in #4595
- Python: Bump pyproject version to 0.4.6. Bump notebook sk versions to 0.4.6. by @moonbox3 in #4712
Full Changelog: python-0.4.5.dev...python-0.4.6.dev
dotnet-1.1.0
Changes:
- bd7c94c .Net: Add missing CancellationToken to InvokePromptAsync. (#4573) (#4584)
- 38dc3cb FAQ explaining how to access nightly builds (#3061)
- 93bdce8 .Net: [Fix] .Net: FunctionCallingStepwisePlannerTests.DoesNotThrowWhenPluginFunctionThrowsNonCriticalExceptionAsync is failing (#4542) [ #4534 ]
- ee544f3 .Net: Allow Add{Azure}OpenAI methods to resolve OpenAIClient from DI (#4555)
See More
- aed2624 .Net: Add previous plan and error to retry the handdlebars planning. (#3973) [ #4144 ]
- 293bfd9 .Net: Bump Grpc.Net.Client from 2.59.0 to 2.60.0 in /dotnet (#4523) [ grpc/grpc-dotnet#2321, grpc/grpc-dotnet#2315, grpc/grpc-dotnet#2324, grpc/grpc-dotnet#2326, #2348, #2336, #2339, #2338, #2326, #2324, #2315, #2321, #2322 ]
- 0772d01 .Net: Add missing XxFromFunctions members (#4549)
- b7defcf .Net: Bug fixes for Handlebars Prompt Template and Planner (#4528)
- 019dc1a .Net - Add support for agent tools: code-interpreter and retrieval tool (#4546)
- abc900e .Net: Fix to ensure OpenAIPromptExecutionSettings ChatSystemPrompt is not ignored (#4530) [ #4510 ]
- a843f47 .Net: Invariant culture for OpenApiSchema conversion (#4540)
- f337261 .Net Remove redundant not existed solution items (#4397)
unit tests (#4519) [ #4515 ] - d3586dc .Net: Enable package compatibility validation (#4438)
- ec5be3e .Net: Skip failing stepwise planner integration test (#4535)
- 7c3a01c .Net: Fix handling of required calls with OpenAI (#4474)
- 184255a .Net: Fixed KeyNotFoundExeption in Example09. (#4388)
- 0b3e542 .Net - Add support for instruction templating on Agents (#4486)
- f5ec4b7 .Net - Unblock main / Fix dotnet-format workflow (#4520)
- 9db47e5 .Net: Bump xunit from 2.6.3 to 2.6.4 in /dotnet (#4425) [ #2850, xunit/issues#396 ]
- 86cb05f .Net: Bump xunit.analyzers from 1.7.0 to 1.8.0 in /dotnet (#4426) [ xunit/xunit#2849, xunit/xunit#2846 ]
- 1c2d0fe .Net: Avoid causing first-chance exceptions in CodeTokenizer (#4471) [ #4418 ]
AIRequestSettings. (#4478)
[ #4197 ] - aa62b14 .Net: Function Calling Planner: Catch exceptions and output error messages to chat history (#4455) [ #3224 ]
- f070396 .Net: Correct file names in comments (#4459)
- 6ed61a3 .Net: Change OpenAI function calling examples to use latest models (#4461) [ #4132 ]
- 79908b0 .Net: Bump xunit.runner.visualstudio from 2.5.5 to 2.5.6 in /dotnet (#4427)
- 05334dd .Net: Add OpenAIPromptExecutionSettings.ResponseFormat (#4391)
- 1714b0a .Net: Use cached JsonSerializerOptions in handlebars planner (#4412)
- ca4e7da .Net: Update KernelFunctionAttribute's XML comment to be accurate and more descriptive (#4404)
- 8086bfe .Net: Updated dotnet README for SK v1.0 (#4417)
- 240a2cb .Net: Fix and add back FlowOrchestrator (#4307)
- 6f0a283 .Net: Fix for #2820 Avoid unnecessary conversion of strings to Unicode encoding (#4327)
- 21038a2 .Net: Updated dotnet notebooks to use SK v1.0.1 (#4373)
- d6a88a6 .Net: Bump Markdig from 0.33.0 to 0.34.0 in /dotnet (#4363) [ #759, #760, #749, #751, #753 ]
- b918618 .Net Fixed example10 printing plugin name and example in comment (#4357)
- f419e5e .Net: Bump DocumentFormat.OpenXml from 2.20.0 to 3.0.0 in /dotnet (#4178) [ #1307, #1476, #1452, #1488, #1429, #1403, #1471, #1463, #1444, #1316, #1282, #1373, #1376, #1585, #1583, #1582, #1575, #1574, #1572, #1555, #1543, #1536, #1531 ]
- 6a77cd0 .Net: Bump MongoDB.Driver from 2.22.0 to 2.23.1 in /dotnet (#4362) [ #1235, #1234, #1232, #1206, #1223, #1228 ]
- 187042f .Net: Bump Handlebars.Net.Helpers from 2.4.1 to 2.4.1.3 in /dotnet (#4364) [ #86, #85, #84 ]
This list of changes was auto generated.
python-0.4.5.dev
What's Changed
- Python: constr removed and replaced by annotated stringconstraints by @eavanvalkenburg in #4509
- Python: moved cspell to own settings, small fixes in typing by @eavanvalkenburg in #4507
- Python: Add sample for rag self critique with AI Search by @eavanvalkenburg in #4513
- Python: Debug logging for StepwisePlanner's next step thought by @KanchiShimono in #4333
- Python: Fix positional argument mismatch for invoking native functions. by @moonbox3 in #4495
- Python: Remove code coverage def in pyproject.toml which doesn't allow one to debug unit tests by @moonbox3 in #4519
- Python: Fix notebooks 10 and 11 by @john0isaac in #3557
- Python: Fix issues with chat OYD, update samples and tests by @sarah-widder in #4570
- Python: added ollama connector by @eavanvalkenburg in #4477
- Python: Bump pyproject to 0.4.5 for release. Update notebooks to use this version by @moonbox3 in #4581
New Contributors
- @KanchiShimono made their first contribution in #4333
- @john0isaac made their first contribution in #3557
Full Changelog: python-0.4.4.dev...python-0.4.5.dev
python-0.4.4.dev
Notable Updates
AIRequestSettings
We're excited to introduce AIRequestSettings
, a versatile and efficient way to configure request settings in our Semantic Kernel platform. This new feature offers three methods to cater to different use cases and preferences:
-
Base Class Method: Utilize the
AIRequestSettings
base class for a generic approach. This method is ideal for storing settings for various services within the same extension_data field. However, be aware that it dynamically creates a specific request setting class for each call, which might introduce overhead if using only a single service. Additionally, this approach lacks type checking, meaning errors may surface during the dynamic creation process. -
Direct Service Method: Create request settings specifically tailored to the service you're using, like
AzureOpenAIChatRequestSettings
. This approach provides type checking and is recommended when working with a single service or multiple instances of a similar service (e.g., gpt-3.5-turbo and gpt-4 in OpenAI for chat). -
Kernel-Based Method: Generate request settings via the kernel, based on the registered service class. This method is highly specific, returning a request settings class that's pre-configured for your service, including pre-filled fields such as
service_id
andai_model_id
.
Each method has been designed to streamline your interaction with our services, ensuring a more efficient and error-resistant setup. Choose the one that best suits your project's needs!
Visit the following kernel example to see the configuration in action.
What's Changed
- Python: added code coverage and vscode tasks def for python by @eavanvalkenburg in #4193
- Python: remove unnecessary class attributes from SKFunctionBase. by @moonbox3 in #4283
- Python: Uses Python standard logging by @juliomenendez in #4115
- Python: Prevents LLMs from stripping complex function names by @juliomenendez in #4366
- Python: update ruff and black so they are compatible again by @eavanvalkenburg in #4352
- Python: Mark flaky test with xfail until we can fix it. by @moonbox3 in #4467
- Python: Implement AI request settings by @eavanvalkenburg in #4097
- Python: set line-length for black in sync with Ruff, run black. by @eavanvalkenburg in #4396
- Python: Supports better exceptions when Azure OpenAI content filtering is triggered by @juliomenendez in #4428
- Python: response format fix by @eavanvalkenburg in #4479
- Python: Handle errors if no event loop running in current thread. by @moonbox3 in #4485
- Python: Bump Python Package version for release. Update notebook refs to use AIRequestSettings. by @moonbox3 in #4478
Full Changelog: python-0.4.3.dev...python-0.4.4.dev
dotnet-1.0.1
Changes:
- e560c3c .Net: Upgrade to v1.0.1 (#4311)
- 95a621a .Net: BugFix Serializing and Deserializing ChatHistory with ToolCalling details Update OpenAI Connector to use FunctionToolCallsProperty and add ChatHistoryTests (#4358) [ #4336 ]
- 48a6223 .Net: [Handlebars] Complex Type Support for OpenAPI plugins (#4343)
- 783908e .Net: Decoupling form OpenApi (#4356)
- af64b02 .Net: Removed Connectors.OpenAI dependency from PromptTemplates.Handlebars project (#4355)
- d0bfeb2 .Net: Fixing issue that causes a stack overflow in handlebars planner. (#4344)
- 06c6315 .Net: Fix a few issues found via compiler warnings (#4332)
- 3bb9630 .Net: Small fixes for examples (#4354)
- 3eaa507 .Net InputVariable.Default type is changed from string to object? (#4345)
- 7bf8e8e .Net: Update to Azure.AI.OpenAI beta 12 (#4329) [ #4336 ]
See More
- f5b3f50 .Net Packages Updates, Warning Fixes, Small improvements + Azure AI Search Update (to support latest GA package) (#4320)
- ac55892 .Net: Clean up some prompt-related APIs (#4323)
- 7ec9914 .Net: Propagate metadata to StreamingMethodContent (#4337)
- 4c98238 .Net: Add OpenAI tools integration test for streaming / multiple function calls (#4330)
- 11fdda4 .Net: Enable KernelFunctionFromMethod streaming passthrough (#4346)
- ec4c739 .Net: Update memory connector READMEs (#4317)
- 1596934 .Net: Log complex objects as Jsons (#4247)
- 0ef7cf4 .Net Better repeatability for Agent KernelExample #72 (Example72_AgentCollaboration) (#4314)
- 65e20a6 .Net: planner tests openai (#4318)
- fb9a43e .Net: Polishing KernelSyntaxExample comments (#4285)
- 70eddb5 .Net: Integration tests for OpenAI Tools (#4309)
- b52c40d .Net: Add generic Prompt APIs Helpers (#4312) [ #4310 ]
- 520b747 .Net: Assitant to agent (#4291)
- 20b5b8a .Net: Public API improvements (#4306)
- 08e2e03 .Net: Add CancellationToken parameters to to a few methods (#4298)
- 51b6cee .Net: Add getting started sample showing how to observe the Kernel (#4305)
- d07d099 .Net: Overhaul how JSON Schema is handled (#4256)
- b619e84 .Net: Fix a bunch of function calling issues (#4258)
- 1b5aaed .Net: Quick fix for Azure DallE2 + 3 (#3932)
- f98a57c .Net Bugbash Fixes Issues 3788 + 3817 (#4288) [ #3788, #3817 ]
- 762a2d0 .Net: Example 58 - remove chatModelId requirement (#4287) [ #4277 ]
- f7239b2 .Net: Small fixes and improvements (#4284)
- 4dbf241 .Net: Some random minor cleanup (#4161)
- 563e180 .Net: Update notebooks to use RC4 (#4274)
- db251dd .Net: Add getting started showing how to use hooks for responsible AI (#4273)
- 73a3323 .Net: Function calling stepwise planner integration tests in pipeline (#4219) [ #4249 ]
- 1226b62 .Net: Minor Documentation Corrections in MathPlugin: (#3657)
- b6f1938 .Net: Update the sample to also demonstrate loading yaml resources (#4270)
- 2584d42 .Net: OrderedAIServiceSelector logic should change as specified in issue 4234 (#4265) [ #4234 ]
- 2321dd5 .Net: Use IReadOnlyDictionary for metadata dictionaries (#4260)
- f356cd8 .Net: Web search examples fixed to pass
query
argument instead ofinput
. (#4254) - d3773b2 .Net: Fix unit test failing due to time zone expectations (#4255)
- 8f9eaeb .Net: OpenApi functionality cleanup (#4225)
This list of changes was auto generated.