Category: Microsoft
Category Archives: Microsoft
Skype for Business Server Roadmap Update
Today, we are providing an update on our product roadmap for Microsoft Skype for Business Server. Here’s what’s ahead:
We will release a Cumulative Update (CU)—CU8—for Skype for Business Server 2019 in H2 of 2024.
We will release Skype for Business Server Subscription Edition (SE) early in the third quarter of calendar year 2025.
Skype for Business Server SE, the next release of Microsoft Skype for Business Server, will be available for download from the Microsoft 365 admin center (previously the Microsoft Volume License Service Center) in early Q3 of 2025.
The licensing model for Skype for Business Server SE is the same as SharePoint Server Subscription Edition and Exchange Server Subscription Edition, which requires subscription licenses or licenses with active Software Assurance for server and user licenses.
The hardware, operating system, and other requirements for Skype for Business Server SE are the same as Skype for Business Server 2019.
Finally, Skype for Business Server SE will be supported under the modern lifecycle support policy.
Upcoming Changes in CU8
We’re adding Persistent Chat to Skype for Business Server 2019 in CU8 and completing our final phase of the Modern Admin Control Panel.
Persistent Chat
We are adding Persistent Chat (PChat) to Skype for Business Server 2019, which plays a pivotal role in promoting collaboration. PChat lets users create discussion rooms centered around specific topics, with those conversations persisted over time. Based on valuable feedback from our user community, we are providing an option to install PChat in our next CU.
Modern Admin Control Panel
We are also adding functionality to our new admin interface, the Modern Admin Control Panel (MACP), in our next CU.
This is the final phase for our updates to MACP. For information about previous phases, see Phase 1 (2019), Phase 2 (2020), and Phase 3 (2021).
This final phase includes:
IM & Presence: Dedicated tab for instant messaging and presence management.
Security: Centralizes security-related settings, allowing admins to configure access controls, authentication methods, and encryption protocols.
Monitoring & Archiving: Real-time monitoring and archiving capabilities to help admins keep track of system performance, user activity, and compliance requirements.
Network Configuration: Fine-tune network settings, optimize performance, troubleshoot issues, and ensure seamless connectivity.
Clients: Manage client applications, configure client policies, update versions, and address compatibility concerns.
Persistent Chat (PChat): Topic-based discussion rooms that persist over time.
Please start using the MACP today and share your feedback and questions using the ‘Give Feedback’ link.
Upgrading to Skype for Business Server SE from Previous Versions
To help accelerate the transition to Skype for Business Server SE, in addition to being code equivalent to Skype for Business Server 2019 CU8 (plus any subsequent Security Updates (SUs) or Hotfixes (HFs) to CU8), Skype for Business Server SE will support an in-place upgrade from Skype for Business Server 2019.
In-Place Upgrade
The fastest and easiest way to get to Skype for Business Server SE is to perform an in-place upgrade from Skype for Business Server 2019. The upgrade experience is identical to installing a CU. Once a server is running Skype for Business Server SE, it will be updated with our update cadence of periodic CUs and as-needed SUs and HFs.
Update Paths to Skype for Business Server SE
Below is a table that summarizes the available paths based on the version(s) you’re running:
Version in use
Upgrade Path
Skype for Business Server 2013
Upgrade to Skype for Business 2019 now, update to CU8 when available, and then upgrade in-place to Skype for Business Server SE when available.
Skype for Business Server 2015
Upgrade to Skype for Business 2019 now, update to CU8 when available, and upgrade in-place to Skype for Business Server SE when available.
Skype for Business Server 2019
Update to CU8 when available, and then upgrade in-place to Skype for Business Server SE when available.
Call to Action
Skype for Business Server SE will be available shortly before Skype for Business Server 2015 and Skype for Business Server 2019 both reach end of support on October 14, 2025. If you intend to continue to run Skype for Business Server on-premises, we recommend moving to Skype for Business Server 2019 with the latest update now, and upgrading to Skype for Business Server SE when it is available in 2025.
— Skype for Business Server Engineering Team
Microsoft Tech Community – Latest Blogs –Read More
June 2024: Azure Updates undergoing maintenance
Azure Updates website is undergoing maintenance. During this time, you may notice limited functionality affecting RSS feeds and search features. We apologize for any inconvenience this may cause. Thank you for your patience and understanding.
We are committed to bringing you weekly updates for Azure Updates, and will be posting them here, in the Tech Community every Thursday for the near term.
Critical updates and retirements will also be communicated via emails and service health alerts.
Microsoft Tech Community – Latest Blogs –Read More
Assigning tasks to multiple people
Hello Planner community, I’m trying to create a recurring Planner task that would be assigned to multiple people (ex. “Submit timesheet”). When assigning to more than one person, the task is “complete” when any one of the people completes it.
I can create a task for each person, but that becomes burdensome if the task is being assigned to a large number of people. I’m curious how others approach this problem and what workaround the community has come up with. Also curious, of course, what the Planner team has to say.
Hello Planner community, I’m trying to create a recurring Planner task that would be assigned to multiple people (ex. “Submit timesheet”). When assigning to more than one person, the task is “complete” when any one of the people completes it.I can create a task for each person, but that becomes burdensome if the task is being assigned to a large number of people. I’m curious how others approach this problem and what workaround the community has come up with. Also curious, of course, what the Planner team has to say. Read More
Pagination in Word
Please help me begin with page 1 on page 3 of document.
Thank you very much
markc12
Please help me begin with page 1 on page 3 of document. Thank you very much markc12 Read More
Export SharePoint Permissions
Hello Experts,
I am the site Owner for a Modern Teams SharePoint site (or Classic). The site permission is Private and I have several Permission Groups created with about 150 users assigned to a specific group (Region Read/Write, Region Read Only, Region Full Control, etc…).
I need to periodically review and reconcile the users assigned to this site’s permission groups with our Access Management tool to ensure that they match.
Does anyone have a solution for exporting a list of all site users with their assigned Permission Groups?
It seems that this is still a challenge without using PowerShell or having full company-level SharePoint Administration.
Is there a way a site Owner can do this?
Hello Experts, I am the site Owner for a Modern Teams SharePoint site (or Classic). The site permission is Private and I have several Permission Groups created with about 150 users assigned to a specific group (Region Read/Write, Region Read Only, Region Full Control, etc…). I need to periodically review and reconcile the users assigned to this site’s permission groups with our Access Management tool to ensure that they match. Does anyone have a solution for exporting a list of all site users with their assigned Permission Groups?It seems that this is still a challenge without using PowerShell or having full company-level SharePoint Administration. Is there a way a site Owner can do this? Read More
Exchange Online Best Practices
From an EMM / MDM perspective and on premise Exchange we would have a Secure Email Gateway (SEG) as a protection layer for email from devices. With O365 migrations is there an equivalent SEG to protect email access only from managed devices for example? And secondly, are gateways as relevant nowadays and should we instead look at 2fa, Purview and Conditional Access signal related stuff?
Any best practices and complete answers I am very grateful for. TIA.
From an EMM / MDM perspective and on premise Exchange we would have a Secure Email Gateway (SEG) as a protection layer for email from devices. With O365 migrations is there an equivalent SEG to protect email access only from managed devices for example? And secondly, are gateways as relevant nowadays and should we instead look at 2fa, Purview and Conditional Access signal related stuff?Any best practices and complete answers I am very grateful for. TIA. Read More
Formula to reveal the row number of where the duplicate value is located
Please help! Last week I found an excellent formula and now am kicking myself for not saving it.
I’m working on a large spreadsheet. On 2 columns, I have run the Conditional Formatting / Duplicate Values and highlighted the duplicates. I need the formula to add the Row Number where the duplicate is located.
Example: 2 columns referred to as A and B. In column C, I want to add the formula that shows the duplicate value is on B20001.
Please help! Last week I found an excellent formula and now am kicking myself for not saving it. I’m working on a large spreadsheet. On 2 columns, I have run the Conditional Formatting / Duplicate Values and highlighted the duplicates. I need the formula to add the Row Number where the duplicate is located. Example: 2 columns referred to as A and B. In column C, I want to add the formula that shows the duplicate value is on B20001. Read More
Microsoft Shared Bookings ignoring the bookings made by staff members
Hello,
I have tried using microsoft shared bookings and noticed the bookings created by staff members are not in sync with the bookings link.
For example If one of my staff members created a booking for 25th June 2024 10:00 AM. This time slot is still showing for our customers to book. It is supposed to block this particular time slot to avoid double booking. Can someone please help
Hello, I have tried using microsoft shared bookings and noticed the bookings created by staff members are not in sync with the bookings link. For example If one of my staff members created a booking for 25th June 2024 10:00 AM. This time slot is still showing for our customers to book. It is supposed to block this particular time slot to avoid double booking. Can someone please help Read More
Common items
Dear Experts,
I have an issue like this
So in Column A,B,C we have TEST sets TEST2/3/4 and have some items( rnti) in Column F/G we have the items( from another object say UE here) with TEST2/3/4 in column”F”,
I want to have the Common RNTI’s in both gNB/UE in Column K/K/L, example shown in J3/J4
Also , want to have the UE rnti’s in the same format as gNB(rnti’s) in column O/P/Q…, tried to do a failed attempt in Column “O”
Thanks in Advance,
Br,
Anupam
Dear Experts, I have an issue like thisSo in Column A,B,C we have TEST sets TEST2/3/4 and have some items( rnti) in Column F/G we have the items( from another object say UE here) with TEST2/3/4 in column”F”, I want to have the Common RNTI’s in both gNB/UE in Column K/K/L, example shown in J3/J4 Also , want to have the UE rnti’s in the same format as gNB(rnti’s) in column O/P/Q…, tried to do a failed attempt in Column “O”Thanks in Advance,Br,Anupam Read More
Unable to create logic app
Hi,
I am new to Azure I am learning the concepts
I am using free subscription and trying to create a logic app it is showing me the below message and not allowing me to create a logic app.
can someone help me with the issue? how to overcome
Thanks
Hi, I am new to Azure I am learning the concepts I am using free subscription and trying to create a logic app it is showing me the below message and not allowing me to create a logic app. can someone help me with the issue? how to overcome Thanks Read More
Simplifying Cloud Security with Azure Firewall Manager and Illumio
Introduction
In today’s dynamic and ever-evolving cloud environment, ensuring strong security measures is essential. This involves not only implementing the right tools, but also having effective processes in place to oversee and maintain these security measures. With Azure Firewall Manager, Microsoft offers a comprehensive and centralized platform to simplify the management of multiple firewalls at scale, addressing the challenges of managing security in a dynamic cloud landscape.
Illumio for Microsoft Azure Firewall helps Azure Firewall customers enforce Zero Trust Segmentation and go beyond network and application filtering. It helps the firewall operations teams understand rules with rich context of the resources they are protecting. With rich context, administrators can easily determine which resource is secured by the rule, who owns it, and perform rule lifecycle management more confidently.
By combining the robust features of Azure Firewall and Azure Firewall Manager with Illumio’s expertise in Zero Trust Segmentation, we aim to provide our customers with a powerful solution to navigate the complexities of modern cloud security effectively.
Illumio support in Azure Firewall Manager
Azure Firewall Manager is a centralized platform for managing firewalls, along with other core network security services, at scale. Illumio for Microsoft Azure Firewall is now directly accessible within Azure Firewall Manager.
Customers can seamlessly enable Illumio for Microsoft Azure Firewall by navigating to the “What’s New” section within Azure Firewall Manager.
This integrated approach enables users to more easily implement Illumio for Microsoft Azure Firewall and enable a comprehensive set of features and tools that seamlessly complement Azure Firewall, streamlining firewall management and bolstering overall network security measures.
Spotlight features
The Illumio platform boasts several standout features designed to streamline network security management and empower administrators of all skill levels. With its intuitive interface and robust capabilities, Illumio simplifies complex tasks and enhances visibility across the network. Let’s delve into some key features and walkthroughs for leveraging the platform effectively:
Comprehensive Network Overview:
Begin your day with a comprehensive view of your Azure network components and their status. Illumio offers a state-of-the art topology dashboard that provides real-time traffic flow data and visualizations. This dashboard enables administrators to visualize all network zones and their interconnections. By identifying which components are communicating with each other, administrators can quickly assess network health and pinpoint any potential security issues or anomalies requiring attention.
Adaptive Zero Trust Segmentation:
Zero Trust Segmentation or micro-segmentation is a critical strategy for reducing the attack surface and containing lateral movement within the network. Illumio micro-segmentation capabilities allows administrators to create logical segmentation policies based on workload attributes and communication patterns.
As an example, Illumio offers a robust labeling system, which adds a layer of contextual understanding and simplicity to the segmentation process. Labels serve as an intuitive way to categorize and identify different components within the network environment. Administrators can assign custom labels to workloads based on various criteria such as function, department, sensitivity, or compliance requirements. These labels, which can be in the form of text descriptors like “Dev workload,” “HR workload,” or “Sales workload,” offer a clear and contextual representation of the resources they represent.
As a result, administrators can create rules that explicitly permit or restrict traffic based on these labeled workloads, instead of relying on a set of IP addresses that are dynamic or more prone to errors. This enhances visibility and situational awareness across the networks, enhancing security posture and streamlining policy management.
Simulating and testing changes of the firewall policies.
Once Azure Firewall rules and policies have been configured, it’s important to validate these changes to ensure your organization’s network security standards are complying. Illumio offers features that streamline the process of simulating and testing firewall policy modifications.
Policy simulation: Illumio provides a policy simulation environment that enables administrators to forecast the impact of proposed firewall policy changes before implementation. By simulating different scenarios, one can assess potential security risks and validate the effectiveness of their policy adjustments without disrupting live production. This proactive approach helps prevent misconfigurations, reducing the likelihood of security breaches or service interruptions.
Traffic analysis: In addition, Illumio offers advanced traffic analysis that allows administrators to inspect network traffic patterns through Azure Firewall in real-time. This visibility enables administrators to adjust firewall policies to ensure that only authorized traffic is permitted, enhancing overall network security posture.
Conclusion
Whether an organization has a handful of firewalls or a vast network with numerous instances, Azure Firewall Manager addresses the common challenges security teams face when scaling Azure Firewall. Illumio helps to fill these gaps by making the deployment process of Illumio for Microsoft Azure Firewall more accessible, faster, and efficient for security teams of any size.
Read a step-by-step tutorial on getting started with Illumio for Microsoft Azure Firewall from the Azure Network Security Blog.
Microsoft Tech Community – Latest Blogs –Read More
Copilot for Microsoft 365 – Support Tips, Part 2
The Microsoft 365 Commercial Support Team resolves customer support cases and provides support to help you be successful and realize the full potential and value of your purchase. Our support services extend across the entire lifecycle and include pre-sales, onboarding and deployment, usage and management, accounts and billing, and break-fix support. We also spend a considerable amount of time working to improve the supportability of Microsoft 365 services to reduce the number of issues you experience as well as minimize the effort and time it takes to resolve your issues if they do occur.
Today, we’re excited to share more about some of our supportability work with Microsoft Copilot for Microsoft 365.
In November 2023, we posted our first article on Copilot for Microsoft 365 sharing some initial insights and guidance from the customer support team’s perspective. Even though it seems like yesterday much has happened since then and we’ve continued to learn from all customers as they rapidly adopt and use Microsoft Copilot to increase their productivity, collaboration, and creativity every day.
Our published guidance and resources have continued to grow and expand too, and today we’ll share answers to some of the top questions we hear from customers along with some of our favorite resources to help you better prepare and learn more.
Plan & Deploy
Q: What are the prerequisites for my organization to use Copilot for Microsoft 365?
A: Copilot has specific licensing prerequisites and deployment requirements and most of these parallel the requirements to use Microsoft 365 Apps. Note that Copilot for Microsoft 365 is a user-based license and requires that Microsoft 365 Apps on a Windows desktop are deployed using a user-based license. More information on prerequisites here > Get started with Microsoft Copilot for Microsoft 365 | Microsoft Learn
Q: What model does Copilot for Microsoft 365 use and are there any limits on number and length of conversations or file uploads?
A: Some important updates that apply to this were recently shared on April 2. All licensed commercial customers will have priority access to GPT-4 Turbo in Copilot for Microsoft 365. Limits on the number of chats per day and the number of turns per conversation have been removed. File uploads are unlimited up to 2 GB uploads per day. More information on the recent announcements here > Bringing the latest capabilities to Copilot for Microsoft 365 customers | Microsoft 365 Blog
Q: Are there any special considerations when using Microsoft Purview information protection capabilities with Copilot for Microsoft 365?
A: Yes. Before deploying Copilot, take time to get familiar with information protection considerations and ways to strengthen your data protection solutions when using Microsoft Purview. More information on deploying with Microsoft Purview here > Considerations for deploying Microsoft Purview data security and compliance protections for Microsoft Copilot | Microsoft Learn
Q: How does semantic index work with Copilot and what are the supported content types? Is there anything I can do as an administrator to prepare and manage the sematic index?
A: The semantic index enhances Microsoft Copilot and search results in the Microsoft 365 applications, SharePoint Online, and Microsoft Teams by creating two indexes, one for user-level content and data, and one for tenant-level content and data. Each supports different file types with the latest illustrated here:
There are optional steps that administrators can take if they wish. More information on semantic index here > https://learn.microsoft.com/en-us/microsoftsearch/semantic-index-for-copilot
Q: Is there anything special I need to think about with network planning and endpoints?
A: Copilot services connect to endpoints within the Microsoft 365 Endpoint taxonomy. As with other Microsoft 365 services, it’s recommended to align networks with the Microsoft 365 Network Connectivity Principles for optimal performance and security.
Q: Where can I learn more about Copilot for Microsoft 365 privacy and security and how our data is handled when my users interact with Copilot?
A: In early March, additional data residency capabilities were announced here. Full details on data, privacy, and security for Microsoft Copilot for Microsoft 365 can be found here > Data, Privacy, and Security for Microsoft Copilot for Microsoft 365 | Microsoft Learn
Q: Does Microsoft have a playbook or set of resources to help me plan and implement Copilot for Microsoft 365 for my organization and drive successful adoption?
A: Comprehensive resources are available to assist in discovering, planning, and implementing Copilot for organizations of all sizes. This includes guidance for working across leadership, IT, and end users. A full set of adoption resources can be found here > Copilot for Microsoft 365 – Microsoft Adoption
Manage & Use
Q: What level of controls are available to IT Admins for Copilot for Microsoft 365?
A: By using the Copilot page in the Microsoft 365 admin center, IT Admins can manage how users in their organization interact with Copilot for Microsoft 365. More information on Copilot management capabilities here > Manage Microsoft Copilot for Microsoft 365 with the Copilot page | Microsoft Learn
Q: What languages does Copilot for Microsoft 365 support?
A: Support for an additional 16 languages was recently announced. Details on Copilot supported languages here > Supported languages for Microsoft Copilot – Microsoft Support
Q: I assigned a Copilot license to a user but it’s not showing up for them. What should I do?
A: After assigning a Copilot license to a user, it can take up to 72 hours for the background refresh of the license to take effect and for Copilot to show up in applications. Administrators can force a refresh by applying the File > Account > Update license button (located directly under the Microsoft 365 Apps for Enterprise logo).
More information here > How to find and enable missing Copilot button in Microsoft 365 apps – Microsoft Support
Q: Ok, so Copilot still doesn’t show up in Excel, OneNote, PowerPoint, and Word… what now?
A: This will happen if Connected Experiences have been turned off in your organization (which enables analyzing of content for Microsoft 365 apps) including when users are using Windows Information Protection or Microsoft Defender Application Guard. To enable Copilot in this scenario, policy settings for connected experiences will need to be turned on. The following are indications that Connected Experiences are disabled:
Office Cloud policy for “Allow the use of connected experiences in Office that analyze content” is disabled.
Office ULS log shows “Data.IsPrivacyEnabled”:false” in the Office.AugLoop.Client.Liblet.StartRuntimeAttempt event.
Either of these registry keys are enabled:
HKEY_CURRENT_USERSoftwarePoliciesMicrosoftoffice16.0commonPrivacyusercontentdisabled
HKEY_CURRENT_USERSoftwarePoliciesMicrosoftoffice16.0commonPrivacydisconnectedstate
More information on connected experience settings here > Data, Privacy, and Security for Microsoft Copilot for Microsoft 365 | Microsoft Learn
Q: My users are getting mixed results when working with large documents and Copilot in Word. Any tips?
A: When referencing documents with Copilot in Word, try to limit your document size to 20 pages and 15,000 words or less. This is the sweet spot for Copilot to work effectively. More information on working with Copilot in Word here > Keeping it short and sweet: a guide on the length of documents that you provide to Copilot – Microsoft Support
Q: My users are really excited about the email summarization, drafting, and coaching capabilities with Copilot in Outlook but are running into occasional issues. Any limitations to be aware of?
A: Copilot scenarios in Outlook are only available on a user’s primary mailbox and not with shared, archived, group, or delegated mailboxes. With Coaching by Copilot, a user’s email draft needs to be at least 100 characters to use the Coaching capability. There’s no limit on prompt length when using Draft with Copilot. More information on working with Outlook here > Frequently asked questions about Copilot in Outlook – Microsoft Support
Q: Users are bumping into some latency issues when working with Copilot in Excel. Any suggestions?
A: Copilot in Excel works for Excel tables of up to 2 million cells. Skills like formula column suggestions, highlight, sort, and filter do not have data limits. Keep in mind that it can take some time to get a response when working with large tables. Note that Copilot in Excel only works with files that are hosted in OneDrive or Microsoft 365 SharePoint locations and have Autosave turned on. More information on working with Excel here > Frequently asked questions about Copilot in Excel – Microsoft Support
Q: What are some things my users can do to get better performance when using Copilot in Microsoft Teams?
A: Limit questions to topics covered in the chat or meeting. When conducting meetings and calls, speak or chat in supported languages. With chat scenarios, keep in mind that Copilot can only process as far back as 30 days from the last message sent. This may be further limited by retention policies that are set within your organization. More information on working with Microsoft Teams here > Frequently asked questions about Copilot in Microsoft Teams – Microsoft Support
Q: Some of my users are seeing issues or missing results when retrieving files to reference in Copilot with Word Online, PowerPoint Online, and Excel Online. What’s causing this?
A: For Copilot to work with Office web applications like Word Online, PowerPoint Online, and Excel Online, third-party cookies must be enabled. Blocking third-party cookies will result in a failure when retrieving files to reference. More information on requirements here > https://learn.microsoft.com/en-us/microsoft-365-copilot/microsoft-365-copilot-requirements
Q: I have users that aren’t seeing relevant documents or information, including personalized content (fx. suggested meeting hours) when using Copilot. Is there a way to fix this?
A: This may be related to semantic index. Check and make sure Enterprise Search is enabled in the Microsoft 365 Admin Center. And then make sure Item insights are enabled. Having Item or People insights turned off will reduce the Microsoft Search and semantic index experience. More information here > https://learn.microsoft.com/en-us/microsoftsearch/semantic-index-for-copilot
Copilot, Your Support Assistant
Finally, keep in mind that you can always use Copilot as your support and troubleshooting assistant and even ask it to provide suggested prompts to use for ways it can help with different scenarios. Below is a quick example using Copilot in the browser. There’s a great mobile app (powered by GPT-4!) too.
As with any scenario, make sure to use good prompting techniques to help Copilot provide the responses and results that you want. This includes:
Providing complete details and sufficient context about the scenario or issue.
Instructing on any specific information sources that Copilot should use when responding.
Guiding how Copilot responds by telling it to act like a certain role or expert (e.g. “act like a technical expert on Exchange Online” or “act like a solution architect specializing in Teams meeting rooms and calling”).
Consider the sequence and order of the context, example, and instruction details in your prompts. Experimenting with the order and when specific sources are referenced can have an impact on the quality of responses.
Focusing on positive instructions and telling Copilot what to do (versus what not to do) often generates the best results.
There’s a ton of great learning and resource material out there on prompt engineering. If you need a starting point, take a look at these resources > Learn about Copilot prompts – Microsoft Support and Copilot Lab (cloud.microsoft).
Hope you found this helpful, and we’ll continue to share updates from our Copilot journey here in Microsoft 365 commercial support!
Brian Stoner is a Director in the CSS Modern Work Supportability Team where he leads a team of technical and business program managers.
The CSS Modern Work Supportability Team delivers innovative self-help solutions and diagnostics, in-service enhancements, and support programs to help customers get maximum value from their Microsoft 365 commercial subscriptions and create an easy-to-use, connected support experience.
Microsoft Tech Community – Latest Blogs –Read More
Announcing enhanced multicloud integration enabled by Azure Arc
We are thrilled to announce a new set of capabilities for multicloud customers, making it easier than ever to manage cloud resources from a centralized platform. With the adaptive cloud approach enabled by Azure Arc, customers can quickly and easily access and manage their workloads across Azure and AWS through the multicloud connector, which is free to use!
Microsoft understands and supports customers who run workloads in multiple public clouds. Our goal is to make it easier for you to gain visibility and insights into all your workloads and to have a common set of management tools that you can leverage, saving you time and operational costs. Some customers are already taking advantage of Azure management services for multicloud resources via Azure Arc. With this new multicloud connector, we are making it easier to connect to other public clouds and support new multicloud capabilities in a lightweight manner.
What are the new multicloud capabilities?
With the multicloud connector, customers can benefit from the following features:
Inventory: Get an up-to-date, comprehensive view of your cloud assets across different cloud providers. Starting with a wide range of AWS services (EC2, S3, Lambda, and more), you can now gain insights into your Azure & AWS environments in a single pane of glass. The agentless inventory solution will periodically scan your AWS environment, project the discovered resources in AWS as Azure resources, including all of the AWS metadata like AWS tags. Now, you can easily view, query, and tag these resources from a centralized location.
Azure Arc onboarding: Automatically Arc-enable your existing and future EC2 instances so you can leverage Azure and Microsoft services, like Azure Monitor and Microsoft Defender. Through the multicloud connector, the Azure Arc agent will be automatically installed for machines that meet the pre-requisites.
How do I get started?
You can easily set up the multicloud connector by following our getting started guide which provides step by step instructions on creating the connector and setting up the permissions on the AWS console.
What can I do after my connector is set up?
With the inventory offering, you can see and query for all of you AWS and Azure resources via Azure Resource Graph. Check out some example queries here.
For Azure Arc onboarding, you can apply the Azure management services on your EC2 instances that are Arc-enabled. Learn more here.
We are very excited about the new capabilities. Set up your multicloud connector now for free! Please let us know if you have any questions by posting on the Azure Arc forum or via Microsoft support. Here is the mutlicloud capabilities technical documentation and check out this deep dive video for a demo:
Microsoft Tech Community – Latest Blogs –Read More
upgrade to windows 11 with my permission
I’m so f’in mad!!! I have a desktop that I use occasionally. Since the last time I used it several days ago an update occurred. When I opened it up this morning it was upgraded WITHOUT MY PERMISSION from Windows 10 to Windows 11. I did not see any upgrade notices when I used it last and did not (knowingly) grant permission for an upgrade to Windows 11 to occur!! How/Why did this happen??? A restore to 10 isn’t possible from the control panel (grayed out). I DID NOT WANT& DID NOT ASK FOR THIS UPGRADE OCCUR!!! I’d like to know why and how this happened. I have to go thru and refind/reinstall apps now that weren’t carried thru. WHY WHY WHY?????
(apologies for the rant)
I’m so f’in mad!!! I have a desktop that I use occasionally. Since the last time I used it several days ago an update occurred. When I opened it up this morning it was upgraded WITHOUT MY PERMISSION from Windows 10 to Windows 11. I did not see any upgrade notices when I used it last and did not (knowingly) grant permission for an upgrade to Windows 11 to occur!! How/Why did this happen??? A restore to 10 isn’t possible from the control panel (grayed out). I DID NOT WANT& DID NOT ASK FOR THIS UPGRADE OCCUR!!! I’d like to know why and how this happened. I have to go thru and refind/reinstall apps now that weren’t carried thru. WHY WHY WHY?????(apologies for the rant) Read More
Setting up new AVD pool with custom apps installed in Win11
Hi all, I currently have an AVD environment setup with Win10 machines and originally when I set it up, I had created a Win10 VM, installed all the apps on it and then took an image of it. So when I spin up new AVD’s, the users have all of their software needed. I am needing to setup new Win11 AVDs now and want to go about the image a little different. One problem with the Win10 AVDs is that the software doesn’t get updated automatically. I am unsure of an easy way to update them. So I guess I have 2 questions.
1. How can I easily update all the apps on all of my Win10 AVDs that are currently deployed?
2. I am deploying Win11 AVDs and want to make them easier to manage as far as 3rd party software installs/updates. What is the easiest way to do this? I will need VS Code, VS Community edition, Notepadd++, R and R Studio, and several other apps installed.
Right now, I have the Host Pool Type set to Personal on the Win10 environment. With the Win11 environment, I am planning on doing Pooled, so I can cut down the number/cost of the machines that we currently have. I’m roughly at 150 AVDs right now.
Any help would be greatly appreciated! Thanks!!
Hi all, I currently have an AVD environment setup with Win10 machines and originally when I set it up, I had created a Win10 VM, installed all the apps on it and then took an image of it. So when I spin up new AVD’s, the users have all of their software needed. I am needing to setup new Win11 AVDs now and want to go about the image a little different. One problem with the Win10 AVDs is that the software doesn’t get updated automatically. I am unsure of an easy way to update them. So I guess I have 2 questions. 1. How can I easily update all the apps on all of my Win10 AVDs that are currently deployed?2. I am deploying Win11 AVDs and want to make them easier to manage as far as 3rd party software installs/updates. What is the easiest way to do this? I will need VS Code, VS Community edition, Notepadd++, R and R Studio, and several other apps installed.Right now, I have the Host Pool Type set to Personal on the Win10 environment. With the Win11 environment, I am planning on doing Pooled, so I can cut down the number/cost of the machines that we currently have. I’m roughly at 150 AVDs right now. Any help would be greatly appreciated! Thanks!! Read More
Do we have APIs for SharePoint eSignature services?
Hi All,
I have gone through the below YouTube link and documentation. I want to integrate the e-Signature in my system through APIs and I’m not using the SharePoint user interface.
1. Can you confirm if there are any APIs currently available for use?
2. In the video link below, it is only possible to type the name for signature, are there provisions to sign by mouse scribbling?
Securely digitize document workflows with eSignature in Microsoft 365 | OD17 (youtube.com)
Set up SharePoint eSignature – Microsoft Syntex | Microsoft Learn
Regards,
Pandi.
Hi All,I have gone through the below YouTube link and documentation. I want to integrate the e-Signature in my system through APIs and I’m not using the SharePoint user interface. 1. Can you confirm if there are any APIs currently available for use?2. In the video link below, it is only possible to type the name for signature, are there provisions to sign by mouse scribbling? Securely digitize document workflows with eSignature in Microsoft 365 | OD17 (youtube.com)Set up SharePoint eSignature – Microsoft Syntex | Microsoft Learn Regards,Pandi. Read More
From pixels to presence: new features coming to Microsoft Mesh
In January, we announced the general availability of Mesh in Teams. We launched with the promise of unlocking deeper engagement for hybrid and remote teams across the world. Today, we’re thrilled to unveil our latest advancements designed to optimize the avatar creation process with the help of AI and enrich your virtual collaboration.
AI-Enabled Avatar Creation
Our journey of reimagining virtual interactions began with digital avatars. Since the private preview of avatars in October 2022, we’ve added more lifelike skin, increased options for facial and body customization, and expanded hair style and skin tone options. However, with hundreds of combinations available, some users have expressed feeling a little overwhelmed when creating their avatar. We’re excited to announce that we’ve devised an AI-powered solution that makes avatar creation more efficient and more accurate. AI algorithms will analyze the visual features in your submitted photo to predict the best possible matches for your face shape, hair, eyewear, and facial hair. These best matches are combined to create three avatar options for you to choose from.
In public preview this month, simply take or upload a photo of yourself and let our AI-enabled technology¹ craft an avatar that represents you. Find more information about creating your avatar with a photo here. To manage avatars in Microsoft Teams, learn more here.
Show up the way you want
Avatars ensure everyone has a presence in the meeting room, even those who might not feel comfortable on camera. To accomplish this, it is important for your avatar to look and interact like you would. Beginning May 17th, explore the new wardrobe options, more professional attire, and improved texture, fit, and color of the clothes available in the Avatar Builder.
In July, we will add emotes as another way to express yourself in the 3D immersive spaces built into every Teams meeting. While you’re in an immersive space, select the “reactions” button in the menu bar at the bottom center of the immersive space view. Find the new emotes below the original Teams reactions and begin expressing yourself during meetings.
Tailored to your needs
We launched Mesh in Teams with two ready-made 3D immersive spaces, Lakehouse and Oasis, built into your Microsoft Teams meeting². Each space was specifically built for different meeting scenarios. Lakehouse was created for social scenarios and is equipped with various interactive activities to encourage conversation and connection. Oasis offers different seating arrangements and room sizes to accommodate presentations and roundtable discussions. Beginning in June in public preview, we are releasing a new space tailored for workshops, brainstorming sessions, and employee orientations. Let these curated 3D spaces elevate whatever moment you’re planning— whether it’s a networking event in Lakehouse, presenting a PowerPoint in Oasis, or hosting a breakout discussion in our new space.
This is a conceptual visualization of the upcoming event editing feature.
Access these immersive spaces from the View menu³ in any Teams meeting via PC or Meta Quest VR Headset⁴ . . Mesh in Teams will continue to reach more users as Mac access begins rolling out to general availability later this month.
Watch this video to learn more about how to join immersive spaces in Teams.
Enhance collaboration and interaction
In August in public preview, we will release content sharing improvements, including enhanced readability, to ensure ease of comprehension and enable productive discussions. Content refers to anything you can screenshare, whether that’s a PowerPoint presentation, Loop component, or website. With regards to engaging with other teammates in an immersive space, we will also release several avatar interaction improvements. This month, we’ve added different camera perspectives to view your avatar from (i.e., first person, third person, third-person wide view) and, in July, we’ll include improvements to avatar personal boundaries.
This is a conceptual visualization of the improved customization experience.
Expanded connection with custom experiences
For those looking to deliver more customized or larger-scale events, we’re excited to announce several features coming to the Mesh app⁵ in early July.
First, we’ll release an improved customization experience with a more streamlined process for event setup, an easier way to place objects in the space, and turnkey event templates. We’ve also invested in new ways to enable presenters to connect more meaningfully with their audiences. Larger events require multiple rooms to accommodate more attendees. To support this experience, we will enable presenters to visualize reactions of every attendee across all rooms while they present to help capture important real-time audience feedback. If presenters prefer to make more intimate connections with smaller groups of participants, we are also releasing room hopping to allow presenters to move from room to room.
We’re excited that our new features improve one-time event experiences and are equally aware that one-time events are just one of the scenarios custom immersive experiences are built for. Imagine a learning-focused space with a multitude of organization specific resources or a collaboration-focused space crafted to imitate a control room with 3D models, product images, and screens of data. It may not be possible for an attendee to take in all of that useful information during one scheduled time block. In early July, attendees will be enabled to revisit event links whenever they want to revisit content and reconnect with their team.
These enhancements are just the beginning. We’re committed to continuously evolving Mesh to provide you with the best virtual collaboration tools.
Learn more about getting started with Mesh in Teams and creating custom immersive spaces in our Mesh app here.
¹ Your photo is not retained or used for any other purpose. The create avatars from photo feature doesn’t make any other predictions outside of your facial features. Learn more here.
² Find licensing information here.
³ Learn more about how to access Mesh in Teams from any Teams meeting here.
⁴ On the Meta Quest VR headset, Mesh in Teams is only accessible via the Mesh app. Learn more here.
⁵ Find licensing information here.
Microsoft Tech Community – Latest Blogs –Read More
How Copilot for Microsoft 365 Works
Knowing how technology works eases your mind, minimizes confusion, and deepens your understanding as you incorporate it into your daily work routine.
Copilot for Microsoft 365 leverages large language models (LLMs) that interact with your data using the Microsoft Graph and optionally the Internet to generate personalized experiences with related context as you work. Copilot for Microsoft 365 provides a powerful orchestration engine and combines the power of Large Language Models, your universe of data via Microsoft Graph, the Internet, and your Microsoft 365 apps. Importantly, Copilot for Microsoft 365 only uses information that you explicitly have access to. It only remembers your conversation while it’s in that conversation and we don’t use your information to train the Large Language model. The chat history is wiped clean with each new conversation.
OK, let’s go behind the scenes to further understand the architecture and dataflows behind Copilot for Microsoft 365, including retrieval augmented generation techniques, app commanding, and options to securely connect to external data. You’ll see the potential within chat and how it can save you time with examples of specific use cases.
Watch | “How Copilot for Microsoft 365 Works” presented by A.J. Brush and Mary David Pasch at the recent Microsoft 365 Community Conference #M365Con:
More on demand | Recent long-form Copilot and AI videos from Microsoft
“General Session: Reshaping productivity with Copilot for Microsoft 365” with Bobby Kishore and Dan Parish
“Delivering Business Value & User Satisfaction in the Era of AI” with Karuana Gatimu
“Harnessing Copilot and AI for Teams meeting effectiveness” with Shiraz Cupala
“Prepare your content for Microsoft Copilot with SharePoint content governance” with Dave Minasyan, Sanjoyan Mustafi, and Chris Bortlik
“Real World Lessons Managing Copilot for Microsoft 365” with Chris Bortlik and Manfred Koch
“Driving User Satisfaction w/ AI for Microsoft employees” with Claire Sisson
“Create an AI-Ready Organization – Technical & User Enablement Best Practices for Copilot for Microsoft 365” with Karuana Gatimu, Olga Gordon, and Cynthia Johnson
“Understanding Microsoft 365 Copilot Extensibility via Microsoft Graph connectors” with Gladys Alvarez Jimenez, and Brian T. Jackett
Review all Microsoft 365 Community Conference session videos (links to our main playlist of all]
Additional, important Copilot and AI resources from Microsoft
Copilot hub on adoption.microsroft.com
Insight into how Microsoft operates its AI services. #ResponsibleAI
Download the Copilot for Microsoft 365 Success Kit
Read “The Art and Science of Working with AI” (on Worklab)
Microsoft Copilot for Microsoft 365 overview article on Microsoft Learn
Learn more about expanding Copilot with Microsoft Graph connectors
Thanks for your time discovering more about Copilot for Microsoft 365, Karuana Gatimu and Mark Kashman
Microsoft Tech Community – Latest Blogs –Read More
Upcoming changes for creating and managing Teams Phone resource accounts
Microsoft Teams Phone is a cloud-based phone system that enables smart communication and effortless collaboration for Teams users. To enable Teams Phone features such as auto attendants and call queues, resource accounts are required. Resource Accounts These specific accounts are associated with these features and are not intended for actual users.
We are committed to providing secure and compliant services to our customers and users. As part of this commitment, we continuously identify areas of improvement for our security privileges for administrative roles in Microsoft 365.
Currently, Teams administrators can create and manage resource accounts without requiring any user management permissions in Microsoft 365. As part of our commitment to deliver secure solutions that meet the highest standards, we are implementing changes to the management of resource accounts. Going forward, Teams administrators will need to have user management permissions in Microsoft 365 to create and manage resource accounts. This change will take effect 3rd quarter of 2024.
This change will impact the Teams administrative experiences and workflows, as well as the Teams end-user features that depend on resource accounts. To prepare for this change, we have created the guidance below for Teams administrators:
Ensure you have the appropriate user management permissions in Microsoft 365 to create and manage resource accounts. These permissions include User Administrator, Global Administrator, or custom roles that include the User Management permission. To assign these permissions, use the Microsoft 365 admin center or the Azure Active Directory PowerShell for Graph.
Review the existing resource accounts in your tenant and make sure that they are configured correctly and assigned to the relevant Teams Phone features. Resource accounts can be viewed and managed in the Teams Admin Center or using PowerShell cmdlets.
Update your processes and documentation to reflect the new requirements and best practices for creating and managing resource accounts. Resource accounts should have a clear naming convention and description that indicate their purpose and association with the Teams Phone features. Resource accounts should also have a valid license assigned to them, such as Microsoft Teams Phone Resource Account
Communicate the change and its implications to the relevant stakeholders and end-users in your organization. End-users may experience service disruptions or feature unavailability if the resource accounts are not created or managed properly by the Teams Phone administrators. For example, if a resource account is deleted or disabled, the associated auto attendant or call queue will stop working. If a resource account is not licensed or assigned to a phone number, the associated voicemail or conference bridge will not function.
Possible paths forward
To streamline the creation and management of resource accounts, Teams Phone administrators can consider the following options:
Use split provisioning to divide the tasks of creating and configuring resource between user administrators and Teams administrators. Split provisioning is a process that allows user administrators to create resource accounts using the Microsoft 365 Admin Center or PowerShell, and then assign them to Teams administrators who can configure them using the Teams Admin Center or PowerShell.
Use staged resource accounts to pre-create a set of resource accounts in bulk and then assign them to the Teams Phone features as needed. Staged resource accounts are resource accounts that are assigned a license and a phone number
Use Privileged Access Management (PAM) to delegate the permissions and roles needed to create and manage resource accounts. PAM is a feature of Microsoft 365 that allows you to control who can perform certain administrative actions and when. With PAM, you can create policies that grant access to specific tasks or cmdlets for a limited time period and require approval from designated approvers. For example, you can create a policy that allows a Teams administrator to run the New-CsOnlineApplicationInstance cmdlet to create a resource account, but only after getting approval from a global administrator. To learn more about PAM and how to use it, see Privileged Access Management in Microsoft 365.
Use Power Platform to create a custom solution that automates the creation and management of resource accounts. Power Platform allows you to build low-code apps that connect to various data sources and services. With Power Apps or Microsoft Forms, you can create a user interface that collects the required information for creating a resource account, such as the name, description, phone number, and license. Then, you can use Power Automate to trigger a workflow that validates the input, creates the resource account using Entra ID Connectors or Graph API, and sends a notification to the Teams Phone administrator. The created resource account will appear in the Teams Admin Center and can be managed from there. To learn more about Power Apps and how to use it, see What is Power Apps? and Create an app from scratch.
Organizations may also decide to add Teams administrators to the User Administrator group.
We appreciate your understanding and cooperation as we work to enhance the security and compliance of Microsoft 365 services. For more information and guidance on this change, please refer to the Teams documentation.
Microsoft Tech Community – Latest Blogs –Read More
Generative AI, from your local machine to Azure with LangChain.js
The generative AI landscape moves at a fast pace, and it can be challenging to keep up with the latest developments, even for seasoned developers. There are in particular two questions that often come up when starting a new AI project:
How can I quickly validate an AI app idea, without investing too much time and resources?
If I have a working prototype, how fast can I scale it to production?
You don’t want to be outpaced by competitors or newer technologies, and you want to be able to quickly iterate on your ideas or pivot to new ones. This is where LangChain.js comes in. It’s a framework that allows you to build AI applications very little adherence to the underlying AI technologies and tools. It abstracts some of the complexity of AI development, allowing you to focus on the business logic of your application.
In this article, we’ll take you through the development journey, starting from an idea and progressing towards production. We’ll explore how LangChain framework together with Azure AI building blocks allows you to quickly build complex AI applications at the various stages of development.
Note: If you prefer to watch a video version of this article, you can find it on YouTube here.
TL;DR key takeaways
AI is not only reserved to Python developers: JavaScript developers also have everything they need to build AI applications.
LangChain.js provides useful abstraction over AI models and APIs, allowing you to switch between them easily. This is particularly useful when you’re experimenting with different models or when you want to scale your application, moving from a local SLM model to a cloud-based LLM.
Ollama is allow you to experiment with AI models and embeddings locally, at no cost (if you have a powerful enough machine).
Azure provides many AI building blocks and services that you can use to scale your application to production.
Here’s the source code on GitHub of the project we use as an example in this article.
If you like the project, don’t forget to give it a star :star:️!
Working locally with Ollama
Ollama is a command-line tool that allows you to run AI models locally on your machine, making it great for prototyping. Running 7B/8B models on your machine requires at least 8GB of RAM, but works best with 16GB or more. You can install Ollama on Windows, macOS, and Linux from the official website: https://ollama.com/download.
Once you have Ollama installed, let’s first download some models. You can find a list of available models on the Ollama website. For this example, we’ll use the Phi-3 Mini model. Open a terminal and run the following command:
ollama pull phi3
Note: This will download a few gigabytes of data, so make sure you have enough space on your machine and a good internet connection.
Once the model is downloaded, you can start interacting with the Ollama server. For example, you can use the ollama run command to generate text based on a prompt:
ollama run phi3 “What is artificial intelligence? Explain it to a 5 years old child.“
You can also have a minimal ChatGPT-like experience right from you terminal by just running:
ollama run phi3
You can then chat with the model interactively. Once you’re done, you can stop the server by pressing Ctrl+D. Ollama also provides a REST API that you can use to interact with the model. The API provides many options, like streaming, JSON mode, and more. Here’s an example of how you can use the API:
curl http://localhost:11434/api/generate -d ‘{
“model”: “phi3”,
“prompt”: “What is artificial intelligence? Explain it to a 5 years old child.”,
“stream”: false
}‘
After running this command you should see a JSON response from the model Ollama even provides an OpenAI compatible API, so you can use it as drop-in replacement for OpenAI models in your applications. And as Ollama runs entirely on your machine, it means you don’t even need a network connection to use it.
While Ollama is great for experimentation and prototyping, keep in mind that smaller models are not as powerful as the larger models available in the cloud. While it might be enough to validate your idea, you’ll probably want to switch to cloud-based models for production to get better results.
Prototyping with LangChain.js
Now that we know how to run AI models locally, let’s see how we can use LangChain.js to quickly prototype an AI application. LangChain.js is a JavaScript framework that provides a high-level API to interact with AI models and APIs with many built-in tools to make complex AI applications easier to build.
Let’s start with a simple example project from scratch. Open a terminal and run the following commands:
# Creates a new folder and initializes a new Node.js project
mkdir langchain-demo
cd langchain-demo
npm init es6 -y
npm i langchain @langchain/core @langchain/community pdf-parse faiss-node
touch index.js
Now open the index.js file in your favorite code editor and add the following code:
import { HumanMessage, SystemMessage } from “@langchain/core/messages”;
import { ChatOllama } from “@langchain/community/chat_models/ollama”;
const model = new ChatOllama({ model: “phi3” });
const response = await model.invoke([
new SystemMessage(“You’re a helpful assistant”),
new HumanMessage(“Say hello”),
]);
console.log(response.content);
Run the code with node index.js. You should see the response from the model in the console. Congrats, you’ve just built the hello world of AI chatbots!
A more complex example
What if I want to use RAG (Retrieval-Augmented Generation) to ground the answers using documents? Let’s update our index.js file with the following code:
import { RecursiveCharacterTextSplitter } from “langchain/text_splitter”;
import { createStuffDocumentsChain } from “langchain/chains/combine_documents”;
import { createRetrievalChain } from “langchain/chains/retrieval”;
import { ChatPromptTemplate } from “@langchain/core/prompts”;
import { ChatOllama } from “@langchain/community/chat_models/ollama”;
import { OllamaEmbeddings } from “@langchain/community/embeddings/ollama”;
import { FaissStore } from “@langchain/community/vectorstores/faiss”;
import { PDFLoader } from “@langchain/community/document_loaders/fs/pdf”;
// 1. Initialize the models
const model = new ChatOllama({ model: “phi3” });
const embeddings = new OllamaEmbeddings({ model: “all-minilm:l6-v2” });
// 2. Load PDF document and split it into smaller chunks
const loader = new PDFLoader(“terms-of-service.pdf”, { splitPages: false });
const pdfDocument = await loader.load();
const splitter = new RecursiveCharacterTextSplitter({ chunkSize: 1000, chunkOverlap: 100 });
const documents = await splitter.splitDocuments(pdfDocument);
// 3. Put the documents into a vector store and convert them to vectors
const store = await FaissStore.fromDocuments(documents, embeddings, {});
// 4. Create the RAG chain that retrieves and combines the prompt with the documents
const combineDocsChain = await createStuffDocumentsChain({
llm: model,
prompt: ChatPromptTemplate.fromMessages([
[“system”, “You’re a helpful assistant”],
[“human”, “Answer the question: {input}nusing the following documents:nn{context}”],
]),
});
const chain = await createRetrievalChain({
retriever: store.asRetriever(),
combineDocsChain,
});
// 5. Generate the result
const response = await chain.invoke({ input: “What’s our mission?” });
console.log(response);
This code will load a PDF document, split it into smaller chunks, convert them to vectors, and then use them in a multi-step workflow (chain) to perform a vector search and generate a response using the best results. Pheeew! This one is a more complex example, but it shows how LangChain.js can help you build more advanced AI scenarios in a few lines of code.
Before running this code, you first need to download this PDF document and put it in the langchain-demo folder.
We also need to download the embeddings model. You can do this by running the following command:
ollama pull all-minilm:l6-v2
This one is very small (~50MB), and helps converting text to vectors. Now you can run your code with:
node index.js
The resulting answer directly comes from the PDF document, you can open it and look at the original mission statement at the beginning of the document to see how the model used it in its response.
Using the same principles as this example, we’ve prototyped a chatbot for the Contoso Real Estate company: we’ve built an experience that allows customers to ask support questions about the usage of its products. You can find the full source code of the project on GitHub. The final results, with an added chat UI, look like this:
Now that we have a working prototype, let’s see how we can deploy it to production using Azure.
Migrating to Azure
Azure provides many AI services that you can use for your applications, in our case we’ll use Azure OpenAI for the models and Azure AI Search as our vector database. Thanks to LangChain.js abstraction, migrating your prototype to Azure for production is relatively straightforward, as you can swap the models and vector database without changing anything else in your code.
If you look at the chat API code, this is what we use to run the code locally with Ollama:
embeddings = new OllamaEmbeddings({ model: ollamaEmbeddingsModel });
model = new ChatOllama({
temperature: 0.7,
model: ollamaChatModel,
});
store = await FaissStore.load(faissStoreFolder, embeddings);
Switching to Azure OpenAI and Azure AI Search is as simple as changing the model and store initialization:
const credentials = getCredentials();
embeddings = new AzureOpenAIEmbeddings({ credentials });
model = new AzureChatOpenAI({
temperature: 0.7,
credentials,
});
store = new AzureAISearchVectorStore(embeddings, { credentials });
We use passworless authentication for increased security, so we don’t need to store any secrets in our code. The implementation of the getCredentials was omitted for simplicity, but you can find it here.
And that’s it for the migration, at least for the code part, as to make it work you still have to create the necessary resources in Azure. We’ll cover this in the next section.
Azure Developer CLI
As developers, we know infrastructure is no fun, but it’s a necessary part of deploying applications to the cloud. Azure provides a tool called Azure Developer CLI that makes it easier to create and manage resources in Azure. It allows you to use Infrastructure as Code to define your resources in a declarative way, and then deploy them with a single command.
We won’t cover in details how to build the infrastructure templates, if you’re curious though you can have a look at the infra folder and the azure.yaml file used to configure and deploy the resources.
The good news is that we have many samples that you can use as a starting point for your own project infrastructure. Once the configuration is done, you can create the resources and deploy the application with a few commands:
# Authenticate to Azure
azd auth login
# Provision and deploy the resources
azd up
You can try it with our Serverless AI Chat project we used as an example in this article.
Azure building blocks
We skipped a bit over the implementation details of our example project, but to build it quickly we used some of the already existing Azure AI building blocks. Here’s a list of some components we used, that you can reuse in your own projects:
OpenAI Node.js SDK: we announced at Build a new integration of Azure OpenAI with the official OpenAI Node.js SDK, meaning it’s now easier than ever to switch between OpenAI and Azure OpenAI models. The LangChain.js Azure OpenAI integration has also been updated to use this new SDK.
Azure integrations in LangChain.js: we’ve contributed support for many Azure services in LangChain.js, to make it easier to build your AI applications on top of Azure. This includes Azure OpenAI, Azure AI Search, Azure CosmosDB, and more. You can find more information in the LangChain.js documentation.
AI Chat protocol: we’ve defined an API schema for AI chat applications, to make the frontend and backend components communicate. This schema is implemented in many of our AI samples, making them interoperable and easy to extend. We also provide an NPM package that includes the TypeScript types for the data objects and a client library to interact with the API.
AI Chat UI components: if you want to focus on the backend part of your AI chat application, we provide a set of web components that implements the AI Chat protocol. You can use them to quickly build a chat UI for your application. And since most of our AI samples also implement the protocol, you can also reuse any of their frontend component if you prefer, like the one we used in our example project.
Conclusion
We’ve covered a lot of ground in this article, starting from running AI models locally with Ollama, to prototyping a chatbot with LangChain.js, and finally deploying it to production on Azure. In a fast-paced environment like AI development, using JavaScript with existing high-level frameworks like LangChain.js and building on top of off-the-shelf building blocks can help you iterate quickly on your ideas and eventually bring them to production. you can quickly iterate on your ideas and bring them to production with the right tools and services.
Reference links
Here are some useful links to get you started with the tools and services we’ve mentioned in this article:
LangChain.js
Ollama
Azure Developer CLI
Azure OpenAI Node.js SDK
AI Chat protocol
AI Chat UI components
Serverless AI Chat sample
Microsoft Tech Community – Latest Blogs –Read More