Microsoft Agent Framework
The latest news from the Microsoft Agent Framework team for developers
Latest posts
Introducing the v1.0.0 Beta1 for the .NET Semantic Kernel SDK
Semantic Kernel v1.0 has shipped and the contents of this blog entry is now out of date. As mentioned in the Skills to Plugins blog post, the Semantic Kernel team has been preparing the Semantic Kernel SDK for v1.0.0. Today, we're making our first big push by releasing the first release candidate: v1.0.0-beta1. This release has several breaking changes that are necessary for us to get the SDK into spot where we can lock the API down for v1.0.0. To help existing developers using Semantic Kernel today, we've prepared this blog post to outline all the changes and how to resolve them when you uptake the initial...
Skills to plugins: fully embracing the OpenAI plugin spec in Semantic Kernel
Over the past several weeks, the Semantic Kernel team has been hard at work preparing for the v1.0.0 release at the end of the calendar year. As part of this change, we wanted to complete any remaining breaking changes so developers could have a stable API moving forward. If you are interested in seeing what these changes are, you can preview them using our nightly builds. We will provide a blog post with all of the significant changes next week when we provide the first release candidate (RC), but before then, we wanted to provide clarity of the biggest change we're making: renaming "skills" to plugins. We'...
Supercharge Your Semantic Kernel Experience: Unleashing the Power of Pre and Post Hooks
Semantic Kernel is a powerful SDK that enables developers to build intelligent applications with ease. With the latest update to the .net SDK, the addition of pre and post hooks takes the functionality of Semantic Kernel to new heights. Benefits of Pre and Post Hooks Pre and post hooks provide developers with a way to intercept function executions using Kernel.RunAsync and perform additional actions before and after the execution. This opens a world of possibilities for customization and fine-tuning of application behavior. Here are some key benefits of using pre and post hooks in Semantic Kernel: ...
Save Time with Semantic Kernel’s Updated Error Handling
Error handling is an essential aspect of application development. It ensures that applications can gracefully handle unexpected situations and provide meaningful feedback to users. In this blog post, we will explore the recent improvements made by the team to the error handling mechanism in the Semantic Kernel (SK) .net library. SKException: Making Error Handling Easier One of the key changes introduced by the team is greater coverage and use of the SKException class. The exception hierarchy has been carefully flattened and 17 custom exception classes have been removed. SK now only has two, SKException and ...
Evaluate your plugins and planners with Prompt flow
As you build plugins and add them to planners, it's important to make sure they work as intended. This becomes more important as you add more and more plugins to your planners. With more functions, your planners have a greater chance of hallucinating and doing incorrect things. Until now, testing your plugins and planners was a manual process that required you to individually test different user asks. While tools like Chat Copilot can help, it is still a time consuming task. But what if you could automate testing and evaluation? With Prompt flow you can! With our updated docs, we show you how you can crea...
GUEST POST – EmbedElite Meets Semantic Kernel: A Game-changer for Context Retrieval
Introduction We are EmbedElite, proud winners of the recent Semantic Kernel Plugins Hackathon. A common challenge for enterprises is the extensive effort in gathering and preparing the necessary context which isn't inherent to LLMs. Recognizing this, we at EmbedElite, set out on a mission to democratize this process, making context retrieval a more streamlined experience for developers worldwide. The Challenge of Context Retrieval In niche areas like legal court decisions, patent databases, intricate financial regulations, or the latest EU VAT rules, building applications with domain-specific context is an uph...
Track Your Token Usage and Costs with Semantic Kernel
This is a follow up blog post to Unlock the Power of Telemetry in Semantic Kernel SDK. We are excited to share we have added logging and metering for prompt, completion, and total tokens for each request to Azure OpenAI/Open AI using Semantic Kernel. This feature will help you monitor and optimize your API usage and costs, as well as troubleshoot any issues that may arise. Example of logging in Azure Application Insights Example of metering in Azure Application Insights With this update, Microsoft.SemanticKernel.Connectors.AI.OpenAI package captures the metrics listed below. ...
Chat Copilot Performance improvements for chat and messaging loading
We are introducing enhancements to greatly improve performance, reduce cost and data throughput for customers of Chat Copilot. In the current design, partitions are defined by an ID. Overtime as the CosmosDB grows with increased storage we have seen scenarios with extended processing time when customers try to load the list of chats for a current user or load the list of messages for a selected user. As a result, we will implement new changes to update partitioning be userID and chatID instead of an ID for chat sessions and chat messages. We have seen improved experiences as a result of the new partitionin...
GUEST POST: Getting Started with Semantic Kernel for LangChain users
Large language models such as GPT4 and chatGPT have created a revolution in the way people build innovative new applications and experiences. I describe how I got started with building LLM applications and point to some resources I created in this process that I hope will help in your own exploration into this exciting area of software application development using powerful large language models. A personal learning journey into LLM Applications In my day job at Microsoft, I focus mostly on AI infrastructure and platforms. But I was also curious to learn how to build LLM applications, as I want to better unders...