{"id":564,"date":"2023-06-22T07:46:37","date_gmt":"2023-06-22T14:46:37","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/semantic-kernel\/?p=564"},"modified":"2023-06-22T07:46:37","modified_gmt":"2023-06-22T14:46:37","slug":"semantic-kernel-at-microsoft-build-2023-highlights-from-the-qa-session","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/agent-framework\/semantic-kernel-at-microsoft-build-2023-highlights-from-the-qa-session\/","title":{"rendered":"Semantic Kernel at Microsoft BUILD 2023: Highlights from the Q&#038;A Session"},"content":{"rendered":"<p>We&#8217;ve got some exciting news to share with you about our latest AI solutions that were unveiled at <a href=\"https:\/\/build.microsoft.com\/en-US\/home\">Microsoft BUILD<\/a> 2023. In addition to our main keynote session &#8211; <a href=\"https:\/\/aka.ms\/sk-build23\">Building AI solutions with Semantic Kernel<\/a>, we also held a <a href=\"https:\/\/build.microsoft.com\/en-US\/sessions\/d7973468-7060-41d8-91a5-1b3a94fa69b1?source=sessions\">Q&amp;A session<\/a> where attendees had the opportunity to ask us all their top questions about how to use these new AI solutions in their businesses. Check out what we discussed and learn more about how you can get started with Semantic Kernel today.<\/p>\n<p>&nbsp;<\/p>\n<p>During the Q&amp;A session at BUILD, we received several stimulating questions from attendees. Here are some of the highlights:<\/p>\n<p>&nbsp;<\/p>\n<h3>Creating new documents based on historical examples<\/h3>\n<p><strong>Question<\/strong>: &#8220;I have a use case to fill in sections of new drafts of documents based on historical documents for our business. Can I use AI for this?&#8221;<\/p>\n<p><strong>Answer<\/strong>:\u00a0 This is a common use case that we hear from many customers.<\/p>\n<p style=\"padding-left: 40px;\">To get started with this you will need to:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\n<li>Select a vector memory storage solution \u2013 this allows the AI to find your documents and leverage those<\/li>\n<li>If they are large documents, you will likely need to select a chunking strategy \u2013 this is how the documents will be broken apart before they are sent to the vector memory storage solution<\/li>\n<li>Think about what UI you want to use for your end users<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p style=\"padding-left: 40px;\">Semantic Kernel supports several vector memory providers:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.AzureCognitiveSearch\">Azure Cognitive Search<\/a> (C#)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/python\/semantic_kernel\/connectors\/memory\/chroma\">Chroma<\/a> (Python)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.Pinecone\">Pinecone<\/a> (C#)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.Postgres\">Postgres<\/a> (C#)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.Qdrant\">Qdrant<\/a> (C#)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.Redis\">Redis<\/a> (C#)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.Sqlite\">SQLite<\/a> (C#)<\/li>\n<li><a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/dotnet\/src\/Connectors\/Connectors.Memory.Weaviate\">Weaviate<\/a> (C#) and for <a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/python\/semantic_kernel\/connectors\/memory\/weaviate\">Python<\/a><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px;\">You can use <a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/samples\/apps\/copilot-chat-app\">Copilot chat starter app<\/a> to see this solution in practice.\u00a0 Your end users can upload a file, it will be stored in the vector store confirmed in the config file.<\/p>\n<p>&nbsp;<\/p>\n<h3>Allowing employees to talk to their enterprise data<\/h3>\n<p><strong>Question<\/strong>: \u201cHow do I securely allow my employees to talk to their data which is in SQL and do it in a trusted manner so the users can&#8217;t do prompt injection?&#8221;<\/p>\n<p><strong>Answer<\/strong>: This is the other top use case that we hear from many customers.<\/p>\n<p style=\"padding-left: 40px;\">You will want to start by having your users auth into your app, so you know who they are.\u00a0 Use that authorization to pass over to your SQL database or other enterprise database.\u00a0 This will ensure the user has access to only the data that you gave them in the past, so you do not get data leakage.<\/p>\n<p style=\"padding-left: 40px;\">Using views and stored procedures is a great way to increase your security posture with users.\u00a0 Rather than having the LLMs create SQL statements to execute you can keep them on track using these methods.<\/p>\n<p>&nbsp;<\/p>\n<h3>Adding consistency with AI LLMs<\/h3>\n<p><strong>Question<\/strong>: &#8220;Are there any best practices for creating these new AI solutions so they are consistent?&#8221;<\/p>\n<p><strong>Answer<\/strong>:\u00a0 One way to add consistency for your end users is to create static plans.\u00a0 You can create plans in our VS Code Extension ( <a href=\"https:\/\/marketplace.visualstudio.com\/items?itemName=ms-semantic-kernel.semantic-kernel\">https:\/\/marketplace.visualstudio.com\/items?itemName=ms-semantic-kernel.semantic-kernel<\/a> ) and then use those static plans to run the same steps each time users ask for the same thing.<\/p>\n<p>&nbsp;<\/p>\n<h3>Multi-tenant solutions with LLM<\/h3>\n<p><strong>Question<\/strong>: &#8220;How should I think about multi-tenant solutions using AI?&#8221;<\/p>\n<p><strong>Answer<\/strong>:\u00a0 With Multi-tenant solutions, the same rules apply as for keeping SQL secure.\u00a0 You will want to segment out the users by tenant by having them auth into your solution.\u00a0 LLMs don\u2019t hold onto or cache any information on their own.\u00a0\u00a0 Any data cross-talk that happens in a multi-tenant AI solution will be based on permissions and\/or data systems not being configured correctly.<\/p>\n<p><strong>\u00a0<\/strong><\/p>\n<h3>Multi-user chat solutions<\/h3>\n<p><strong>Question<\/strong>: &#8220;How can I allow users to invite other employees into a chat and how would data sharing work in that use case?&#8221;<\/p>\n<p><strong>Answer<\/strong>: Our <a href=\"https:\/\/github.com\/microsoft\/semantic-kernel\/tree\/main\/samples\/apps\/copilot-chat-app\">Copilot chat starter app<\/a> is a good reference app to see how this can work.\u00a0 It allows you to invite others into a chat with a user and the LLM bot.\u00a0 Just like a Microsoft Word doc, when you share the document with another user, they can see what is in the document.\u00a0 The chat would work the same way.<\/p>\n<p>&nbsp;<\/p>\n<h3>What&#8217;s Next?<\/h3>\n<p>Stay tuned for more updates on Semantic Kernel as we continue to innovate. In the meantime, make sure to watch our BUILD 2023 Semantic Kernel keynote video (<a href=\"https:\/\/aka.ms\/sk-build23\">https:\/\/aka.ms\/sk-build23<\/a> ) and visit our learn site (<a href=\"https:\/\/aka.ms\/sk\/learn\">https:\/\/aka.ms\/sk\/learn<\/a> ) to get started.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>We&#8217;ve got some exciting news to share with you about our latest AI solutions that were unveiled at Microsoft BUILD 2023. In addition to our main keynote session &#8211; Building AI solutions with Semantic Kernel, we also held a Q&amp;A session where attendees had the opportunity to ask us all their top questions about how [&hellip;]<\/p>\n","protected":false},"author":111479,"featured_media":5137,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-564","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-semantic-kernel"],"acf":[],"blog_post_summary":"<p>We&#8217;ve got some exciting news to share with you about our latest AI solutions that were unveiled at Microsoft BUILD 2023. In addition to our main keynote session &#8211; Building AI solutions with Semantic Kernel, we also held a Q&amp;A session where attendees had the opportunity to ask us all their top questions about how [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/564","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/users\/111479"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/comments?post=564"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/564\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media\/5137"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media?parent=564"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/categories?post=564"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/tags?post=564"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}