Say hello to Semantic Kernel V1.0.1
The Semantic Kernel team is proud to announce that we have published V1.0.1 of Semantic Kernel for C#. With V1, C# developers now have a solid foundation to build AI agents for their AI powered applications.
We are extremely thankful to the many people who tested our release candidates over the past two weeks. The many bug reports and feature requests helped ensure that we landed a solid version of Semantic Kernel. We hope this is a perfectly holiday gift for anyone interested in building AI applications over the winter holidays.
If you need some inspiration, I’d recommend checking out the submissions to last week’s hackathon. Some of the most compelling include using events to securely send and receive requests to LLMs, flying a drone, and even building an entire quiz app using local models from Ollama. And with V1.0.1, you can rest assured knowing that you are building on top of stable APIs that won’t break moving forward.
To help the community get started building on top of V1.0.1, we’ve prepared all the information you need to get started in this blog post:
- Updated docs that walk through how to create your first agent
- The list of V1.0.1 packages
- Where to get help from the Semantic Kernel team
- And where the community can help the open-source project
Build your first agent with the new packages and docs
To help users get started with the new V1.0.1 interface for Semantic Kernel, we’ve updated our documentation on learn.microsoft.com. It still walks through the core concepts in Semantic Kernel, like prompts and the kernel, but it also includes the core components necessary to build AI agents: plugins, planners, and personas.
We are extremely excited about our updated docs because it’s never been easier to learn how to build agents for your AI applications. With Semantic Kernel, we make it incredibly easy to build an agent with a personalized persona that can automatically call plugins using planners or with automated function calling. Once you’ve gotten the basics down, you can then build anything from a simple chatbot, to a fully autonomous agent.
If you’re brand new to building AI applications, we’ve also added a great step-by-step guide on how you can write (and improve) your first prompt.
Installing the right V1.0.1 packages for your agents
To make it clear which packages are stable (i.e., no more breaking changes) and which ones may still change, we have bucketed our NuGet packages into three groups:
- V1.0.1 – these packages will be supported long term without future breaking changes.
- V1.0.1-preview – these packages are slated to land in V1.1; they are likely to only have minimal breaking changes in the future.
- V1.0.1-alpha – these packages may experience meaningful changes moving forward.
Both the V1.0.1-preview and V1.0.1-alpha packages are marked experimental. This means that if you use features from these packages, you will need to add
#pragma warning disable SKEXPXXXX to your application (don’t forget to replace
XXXX with the correct experiment number). To see the full list of current experiments, visit this doc article. There are also a handful of experiments still in the core V1.0.1 NuGets for interfaces that may update slightly in the future.
Please note, several of the previous packages have been unlisted because of package renames. They will continue to be available for use, but they will no longer be discoverable on NuGet’s website. You should be able to find the new package to use in the list below.
The following packages are now stable and will not have breaking changes (unless an API is marked experimental):
SemanticKernel – the meta package for Semantic Kernel
SemanticKernel. Abstractions – the main abstractions the power Semantic Kernel
SemanticKernel. Core – the core package for Semantic Kernel
SemanticKernel. Connectors. OpenAI – provides connections to OpenAI models
SemanticKernel. PromptTemplates. Handlebars – supports the Handlebars templating language in Semantic Kernel
SemanticKernel. Yaml – supports YAML serialization for prompts
The following packages are currently in preview. We expect that they will only have minor breaking changes (if any) by V1.1.
SemanticKernel. Connectors. HuggingFace – connectors to text generation models on Hugging Face
SemanticKernel. Planners. Handlebars – the Handlebars planner
SemanticKernel. Planners. OpenAI – the Function calling stepwise planner
The following packages are currently in alpha, so they may experience meaningful changes. All of the memory connectors and out-of-the-box plugins are currently marked experimental because we would like to make them even more generic in 2024 to support a wider breadth of scenarios. For example, we’ll be updating all of our memory connectors to use the exact same interface OpenAI’s ChatGPT retrieval plugin uses to afford more interoperability and greater memory support.
The most interesting alpha package is our experimental agents package. With it, you can build entire agents on top of OpenAI’s Assistant APIs. To learn more about it, read our launch post for it here.
SemanticKernel. Connectors. AzureAISearch
SemanticKernel. Connectors. Chroma
SemanticKernel. Connectors. DuckDB
SemanticKernel. Connectors. Kusto
SemanticKernel. Connectors. Milvus
SemanticKernel. Connectors. MongoDB
SemanticKernel. Connectors. Pinecone
SemanticKernel. Connectors. Postgres
SemanticKernel. Connectors. Qdrant
SemanticKernel. Connectors. Redis
SemanticKernel. Connectors. Sqlite
SemanticKernel. Connectors. Weaviate
SemanticKernel. Experimental. Agents
SemanticKernel. Plugins. Core
SemanticKernel. Plugins. Document
SemanticKernel. Plugins. Grpc
SemanticKernel. Plugins. Memory
SemanticKernel. Plugins. OpenApi
SemanticKernel. Plugins. Web
Getting help building your first agent
If you need help building your first agent, the best place to get it is on our Discord. I expect that many folks will be using Semantic Kernel over the holidays to build cool AI apps. If you need any help, drop a question in our Discord. I’ll personally be checking the channels once per day, so feel free to @’mention me using my handle @msftpowermatt.
Want to contribute?
Now that Semantic Kernel has reached V1.0.1, it’s never been easier to start contributing because the APIs are now finally stable. As part of our next push in January, the Semantic Kernel team will be focusing on three core themes:
- AI connectors – for example, Phi, Llama, Mistral, Gemini, and the long tail of Hugging face and local models.
- Memory connectors – updating the current memory connectors to leverage OpenAI’s ChatGPT retrieval plugin interface.
- And additional agent abstractions – e.g., provide abstractions that allow developers to build non-OpenAI based assistants.
Since the core team still needs to iron out the abstractions and interfaces for #2 and #3, we recommending that the community help us focus on #1. Our hope is to have AI connectors for all of the top models as quickly as we can in the new year.
Several PRs are already out by the community for some of these connectors, so we’ll be reviewing and merging them in as soon as we get back in January. Feel free to start a new PR for a connector over the holidays if you don’t see someone already doing it!