{"id":1094,"date":"2023-08-28T13:49:19","date_gmt":"2023-08-28T20:49:19","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/semantic-kernel\/?p=1094"},"modified":"2023-08-28T13:49:19","modified_gmt":"2023-08-28T20:49:19","slug":"chat-copilot-performance-improvements-for-chat-and-messaging-loading","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/agent-framework\/chat-copilot-performance-improvements-for-chat-and-messaging-loading\/","title":{"rendered":"Chat Copilot Performance improvements for chat and messaging loading"},"content":{"rendered":"<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-89\" src=\"https:\/\/devblogs.microsoft.com\/semantic-kernel\/wp-content\/uploads\/sites\/78\/2023\/03\/skpatternlarge.png\" alt=\"Image skpatternlarge\" width=\"1638\" height=\"136\" srcset=\"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2023\/03\/skpatternlarge.png 1638w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2023\/03\/skpatternlarge-300x25.png 300w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2023\/03\/skpatternlarge-1024x85.png 1024w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2023\/03\/skpatternlarge-768x64.png 768w, https:\/\/devblogs.microsoft.com\/agent-framework\/wp-content\/uploads\/sites\/78\/2023\/03\/skpatternlarge-1536x128.png 1536w\" sizes=\"(max-width: 1638px) 100vw, 1638px\" \/><\/p>\n<p>We are introducing enhancements to greatly improve performance, reduce cost and data throughput for customers of <a href=\"http:\/\/aka.ms\/sk-chat-copilot\">Chat Copilot.<\/a> 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.<\/p>\n<p>As a result, we will implement <a href=\"https:\/\/github.com\/microsoft\/chat-copilot\/pull\/240\">new changes <\/a>to update <span style=\"font-size: 1rem; text-align: var(--bs-body-text-align);\">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 partitioning method.<\/span><\/p>\n<p><span style=\"text-align: var(--bs-body-text-align);\"><span style=\"font-size: 1rem;\">For new deployments of Chat Copilot, <\/span><span style=\"font-size: 1rem;\">no changes are required to <\/span>yield<span style=\"font-size: 1rem;\"> this performance improvement. For existing customers our recommendation is to <\/span><\/span>remove the existing Cosmos DB containers and redeploy to realize the performance update related to the partition schema. To preserve existing chats, containers can be migrated as described <a href=\"https:\/\/learn.microsoft.com\/en-us\/azure\/cosmos-db\/intra-account-container-copy\">here<\/a>.<\/p>\n<h2><strong>Next Steps:<\/strong><\/h2>\n<ul>\n<li>Read more about <a href=\"http:\/\/aka.ms\/sk-chat-copilot\">Chat Copilot<\/a><\/li>\n<li>Learn more about the changes in the pull request <a href=\"https:\/\/github.com\/microsoft\/chat-copilot\/pull\/240\">here<\/a>.<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>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 [&hellip;]<\/p>\n","protected":false},"author":116113,"featured_media":948,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[17,1],"tags":[],"class_list":["post-1094","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-announcements","category-semantic-kernel"],"acf":[],"blog_post_summary":"<p>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 [&hellip;]<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/1094","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\/116113"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/comments?post=1094"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/posts\/1094\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media\/948"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/media?parent=1094"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/categories?post=1094"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/agent-framework\/wp-json\/wp\/v2\/tags?post=1094"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}