Semantic Kernel
Semantic Kernel
Unveiling the Power of Semantic Kernel: A Must-Have SDK for Microsoft Partners
In today’s fast-paced technological landscape, delivering cutting-edge applications is crucial for maintaining competitive advantage. Microsoft Partners, in particular, stand to gain significantly from integrating advanced AI functionalities into their applications. Here, we delve into the possibilities unlocked by Semantic Kernel, a powerful tool that Microsoft endorses for building generative AI applications. Whether you’re looking to enhance customer interaction through AI or streamline operations, understanding Semantic Kernel is paramount.
Introduction to Semantic Kernel
Semantic Kernel is not just another SDK; it’s a robust framework designed to simplify the integration of advanced AI capabilities into applications. Developed with app developers in mind, this tool contrasts sharply with others like Lang Chain, which primarily cater to data scientists. Semantic Kernel is especially tailored for those familiar with Microsoft’s ecosystem, providing seamless compatibility with .NET, Microsoft Graph, and Azure AI.
Why Microsoft Partners Should Embrace Semantic Kernel
Simplified Access to AI Services
At its core, Semantic Kernel enables applications to easily connect with various AI services. Whether it’s generating text, supporting chat conversations, or creating images, the SDK integrates with AI platforms including Open AI, Azure’s rendition of Open AI, Hugging Face models, and other custom models. This flexibility is crucial for developing applications that need to operate under versatile and demanding scenarios.
Utility and Extensibility in Applications
Semantic Kernel comes pre-loaded with numerous utilities that assist in tasks such as making HTTP requests, performing complex math calculations, and accessing local date and time. Its extensible nature means you can plug in additional functionalities as needed. For example, you can leverage plugins for accessing Microsoft Graph, loading documents, or implementing web searches. This modularity ensures that as a developer, you have all the tools necessary for crafting bespoke AI-driven solutions.
Efficient Data Handling and Searches
The SDK supports a variety of database types, including Azure AI Search, Postgres, and vector databases like Cant. This capability enables developers to add sophisticated data handling and semantic search functionalities into their AI apps effortlessly. Managing data effectively is key to the performance of AI applications, particularly when dealing with large volumes or complex data structures.
Intelligent Automation with Planners
One of the most standout features of Semantic Kernel is its planning capability. The planners within the SDK can analyze user requests and intelligently determine the most efficient way to utilize available utilities, plugins, and connectors to fulfill these requests. This feature not only enhances the app’s responsiveness but also reduces the need for manual interventions in process workflows.
Practical Applications and Demonstration
To clearly illustrate the practicality of Semantic Kernel, consider a scenario where an application needs to load and query documents efficiently. The SDK enables easy integration with in-memory vector databases, allowing for rapid querying of loaded documents. This functionality shines in legal or corporate settings where document handling and retrieval are frequently required but typically time-consuming.
Moreover, a recent demonstration by a software engineer showcased how seamlessly Semantic Kernel integrates into real-world projects. Using Visual Studio Code, configurations for model deployments, such as names, keys, and endpoints, were effortlessly set up, illustrating the SDK’s ease of adaptation.
Conclusion: Driving Innovation with Semantic Kernel
For Microsoft Partners, leveraging Semantic Kernel offers a clear pathway to enhancing application functionalities and delivering superior value to customers. Its comprehensive support for Microsoft’s ecosystem, combined with its robust AI and data handling capabilities, makes it an essential toolkit for any developer aiming to pioneer in AI application development.
Learn More and Stay Engaged
To dive deeper into Semantic Kernel and explore its extensive capabilities, Microsoft provides numerous resources. You can visit the official Semantic Kernel documentation, participate in community office hours, and engage with ongoing discussions on GitHub. Each platform offers valuable insights and support, helping you maximize your applications’ potential using Semantic Kernel.
In embracing Semantic Kernel, Microsoft Partners are not just adopting a tool; they are investing in the future of app development. With its far-reaching benefits and strong backing by Microsoft, Semantic Kernel is indeed a game-changer in the realm of generative AI applications.
[h3]Watch this video for the full details:[/h3]
What can Semantic Kernel do for you? Join Mike Richter for an in-depth walkthrough of this amazing tool for your Generative AI applications. Concept demystify and hands-on live demos are included.
This video complements our Microsoft AI & ML Academy content, which can be found here: https://aka.ms/AIMLAcademy
For more Microsoft AI resources and events, please visit the Microsoft AI & ML Partner Prep page at https://aka.ms/AIMLPartnerPrep!
[h3]Transcript[/h3]
all right good morning good evening or good afternoon depending on when and where you are watching this video my name is Mike RoR and I’m going to talk to you for a few minutes about Samantha kernel and what Microsoft Partners need to know about it so let me quickly introduce myself I am a Cloud solution architect in Microsoft’s Global partner Solutions organization in the Americas I am based in New York and it’s been my privilege to work with Microsoft partners for the past nine years helping them build monitored and Innovative applications on Azure you can find my LinkedIn at this link and I encourage you to add me to your network and reach out to me with any questions that you have all right so why do you need to know about semantic kernel well suppose you’re going to build a generative AI app for your customers um or if you build your own apps suppose you’re going to add some new generative AI functionality to it what are you going to need well first you’re going to need to connect to some AI Services right you’ll need this at a minimum right you’re going to need to generate text um support chat conversations with your customers and use and users uh you may need to access embedding model so you can semantically search text in documents or in a database you may also want to generate images so you’re going to need some AI capabilities but then which AI services are you going to use are you going to use those from open AI or azure’s version of open AI maybe there are other um open source models that you’ll want to use um like those from hugging face um or some custom models um that you like to use you may want to build apps that talk to certain models in certain situations right like your Enterprise customers get Azure open Ai and your free or Community toer customers get hugging face models be great to have uh that kind of flexibility for your generative AI app right there’s going to be some utilities that your AI app is going to use like making HTP requests or do doing some complex math or even some simple stuff like accessing the users’s local date and time your AI app will probably need to connect to databases to retrieve content or to do a semantic search over vectorized content uh think about databases like Azure AI search or reddis or vector database like cant there’s probably more advanced functionality you want your generative a app to do like load PDFs or word docs or search the web using Google or Bing um if your customers are using M365 you may want your generative AI app to access the Microsoft graph um or to get insights from um the customer Enterprise data so uh wouldn’t it be great if you had a plug-in framework for this type of extensibility that your AI app could leverage um finally you’re going to learn that customers are going to use this app in a way uh that you never anticipated and you won’t have time or resources to manually Implement so you’re going to want your AI app to actually be intelligent and figure out what the user is trying to do and that’s where a planner comes in to analyze what the user is asking for and um route the request to the right set of utilities and plugins and connectors to make it all happen and give them what they’re looking for uh you could build a framework to deliver these capabilities yourself but there are a lot of components here and wouldn’t you want to adopt an SDK that has been well tested is open source uh with a ton of community support and is backed by the largest software company in the world who also happens to be Microsoft your favorite technology partner well that’s where semantic kernel comes in and you can see how semantic kernel provides solutions for all the AI components in your generative AI app starting with the AI capabilities right with semantha kernel you can generate text images and also build chat experiences semantic kernel supports various AI services like open Ai and Azure open AI it works with hugging face and custom models as well it comes pre-loaded with several utilities making it easy for the generative AI to call HTTP access to local file system as well as do uh math and daytime functions semantic kernel also comes preloaded with support for many different kinds of databases like um Azure AI search uh postgres cant so adding data to your generative AI app becomes easy semantic kernel is extensible and there are many plugins out there uh you see some examples here um like Microsoft graph and document loading and web searching and you can build your own plugins obviously symthic comes with several kinds of planners that your app can take advantage of so that it can um see what utilities connections and plugins the kernel has available to it it and then comes up with a plan to respond to a user’s complicated request and we’ll see that in just a minute in the demo all right so uh Samantha kernel is an SDK uh it comes in C Python and Java flavors now you may be asking yourself what about Lang chain um and to me the difference is that Lang chain was really built for data scientist to chain different data pipelines together semantic kernel was buil Bu from the ground up for app developers um and also as a Microsoft partner you may be familiar withn net and Microsoft graph and Azure Ai and you’ll find First Class support for the entire Microsoft ecosystem inside of semantic kernel all right let’s look at a demo let me bring up visual studio code here here now this is a great demo project built by m haot who is a software engineer at Microsoft he’s not on the semantic kernel team but he’s the semantic colel Enthusiast uh and a create engineer so the program. Cs class sets up our configuration you can see I’m providing the names uh for my model deployments uh the keys and the endpoints and when I run the demo I’m going going to pass in uh the name of a particular demo class you can see all these demo classes here um I passed the name of the demo class um and that’s what get will get loaded right so if you look at this utils file you’ll see that the name of the class gets uh passed in and through reflection um it’s going to be loaded okay and all of these demo classes are based on base demo um uh and um like I said all all of these models uh implement this Bas demo um and has specific functionality that uh we want to see so I’m only going to show one of these the planner o basic o1 right here uh and what this is going to do it’s going to load documents from our memories folder there’s just one document in there right now this s sample corporate bylaws PDF it’s going to load it into an inmemory Vector database and they’re going to be able to ask it questions well also um it’s going to this this particular demo is going to show us the plan that gets generated so that it knows how to respond to our questions so in this case it’s just going to have um the inmemory uh document loader plugin available to it so it’s going to be a very simple plan but I think you’ll get the idea and this is a sample Cor corporate bylaws right when you start a company you’re going to create bylaws about the uh officers and directors of the company and notes and stock and all that stuff uh so we’re going to be able to ask it some questions all right let’s run the demo so I’m I’m calling net run you just need netet 8 for this to work butet run I’m planning I’m passing in the name of the class and through a reflection uh the class gets loaded and now it’s asking me what do I want to know and and for this I was just going to ask it to summarize all the required officer roles uh and only share their main duties so let me pass that in so here we see directors if you look at the document where the officers here are the officers so you see there’s uh um chairman and uh president and secretary Chief Financial Officer so here you see it’s created a plan um it’s going to use a dynamic memory loader plug-in um it’s figured that that’s where it might be able to answer this question and then it’s going to Output document which should contain the summary of required officer roles and their main duties so let’s see what it returns and there we are there are the officers and bullets of their main duties awesome let’s return to our presentation and um let’s uh wrap this up by telling you where you can learn more so go to this aka. mssk links and you’ll find all of the links below and I will quickly kind of go through all those with you so the first link is a link to a a long a much longer demo of U from moid on his um semantic kernel demo project that I’ve been uh that I just demoed for you so he’ll go through all the different uh demo classes you can kind of see all the functionality he does a really great job uh here you can find his um his uh his repo um for this demo and then you [Music] can here oops trying to here are the supported languages uh for semantic kernel and all the different features that are ready for those languages so depending on what you’re going to be using for your application you may want to check this to make sure that the specific feature you’re looking for is available this is a great blog post that gives you way to stay engag with semantic Colonel team including invitations to community office hours here is a uh samanth the kernel discussion um area on GitHub and then here is the semantic kernel blog which gets updated pretty regularly so that’s it from me from Smith Kel I hope you uh learned a lot and I am really excited to see what you build thanks bye