Month: August 2024
Partner Blog | Building proficiency with Microsoft partner skilling
Microsoft partners understand that driving innovation and transformation requires current technical knowledge and expertise. They also understand how technology can help organizations enhance their competitive edge, maximize AI investments, encourage innovation, minimize risks, and handle data effectively.
At Microsoft, we are committed to providing our partner community with ongoing opportunities to enhance and expand their skills for building AI-enabled, customer-centric solutions across different modalities. Whether you are an engineer developing AI and cloud solutions, or you work directly with customers to sell these solutions, we have a course designed to improve your proficiency and overall knowledge, while also meeting Microsoft AI Cloud Partner Program skilling requirements.
In this blog, we will highlight some of the new skilling opportunities available to our partner community.
Continue reading here
Microsoft Tech Community – Latest Blogs –Read More
Binning matrix data (negative and positive decimals): mean of each 100 rows and create a new matrix
I have a A= 7382300X12 matrix. I want to reduce it by averaging every 1000 rows in all columns. So at the end I will have a B= 73823X12 matrix.
The matrix A have negative and positive decimals, so blockproc() didn’t work for me.
How can I do it?I have a A= 7382300X12 matrix. I want to reduce it by averaging every 1000 rows in all columns. So at the end I will have a B= 73823X12 matrix.
The matrix A have negative and positive decimals, so blockproc() didn’t work for me.
How can I do it? I have a A= 7382300X12 matrix. I want to reduce it by averaging every 1000 rows in all columns. So at the end I will have a B= 73823X12 matrix.
The matrix A have negative and positive decimals, so blockproc() didn’t work for me.
How can I do it? matrix manipulation MATLAB Answers — New Questions
Configuring 2×2 Antenna Setup with 2 CSI-RS Ports in MATLAB’s 5G Toolbox for CQI Reporting Test Compliance
I am working on implementing the table from TS138.101 Table 6.2.2.1.1.1-1: CQI reporting definition test using MATLAB’s 5G toolbox example, "NR PDSCH Throughput Using Channel State Information Feedback". The table specifies that the number of CSI-RS ports (X) should be 2, with an antenna configuration of 2×2.
In the MATLAB example, setting the panel dimensions to 2×2 results in NTxAnt becoming 8, which corresponds to the number of CSI-RS ports. However, according to the test table, to set the number of CSI-RS ports (X) to 2, the row number should be set to 3. When attempting to do this, MATLAB returns an error stating that the row number must be 6 or above. How can I correctly configure the antenna to 2×2 while ensuring the number of CSI-RS ports is set to 2, as required by the test table?I am working on implementing the table from TS138.101 Table 6.2.2.1.1.1-1: CQI reporting definition test using MATLAB’s 5G toolbox example, "NR PDSCH Throughput Using Channel State Information Feedback". The table specifies that the number of CSI-RS ports (X) should be 2, with an antenna configuration of 2×2.
In the MATLAB example, setting the panel dimensions to 2×2 results in NTxAnt becoming 8, which corresponds to the number of CSI-RS ports. However, according to the test table, to set the number of CSI-RS ports (X) to 2, the row number should be set to 3. When attempting to do this, MATLAB returns an error stating that the row number must be 6 or above. How can I correctly configure the antenna to 2×2 while ensuring the number of CSI-RS ports is set to 2, as required by the test table? I am working on implementing the table from TS138.101 Table 6.2.2.1.1.1-1: CQI reporting definition test using MATLAB’s 5G toolbox example, "NR PDSCH Throughput Using Channel State Information Feedback". The table specifies that the number of CSI-RS ports (X) should be 2, with an antenna configuration of 2×2.
In the MATLAB example, setting the panel dimensions to 2×2 results in NTxAnt becoming 8, which corresponds to the number of CSI-RS ports. However, according to the test table, to set the number of CSI-RS ports (X) to 2, the row number should be set to 3. When attempting to do this, MATLAB returns an error stating that the row number must be 6 or above. How can I correctly configure the antenna to 2×2 while ensuring the number of CSI-RS ports is set to 2, as required by the test table? 5g, cqi MATLAB Answers — New Questions
SELECT query is slow in AlwaysOn primary node than secondary node
Hi Experts, Could you please help me !!!
We have one database hosted on SQL Server 2019 AlwaysOn with database compatibility level 100 (SQL 2008 ). We are running one SQL View Select statement on primary node and it is taking around 9-10 seconds where as in secondary node taking 3-4 seconds. There is no much users or load on the primary node database.
For testing I have removed database from Alwayson and rerun the same query and it is taking 4 seconds on the primary node then I have added again database into Alwayson then the query time in primary node is again 9-10 seconds.
Could you please guide me how to improve the query performance on the primary node when database in Alwayson.
Thanks
Sreenivasa
Hi Experts, Could you please help me !!! We have one database hosted on SQL Server 2019 AlwaysOn with database compatibility level 100 (SQL 2008 ). We are running one SQL View Select statement on primary node and it is taking around 9-10 seconds where as in secondary node taking 3-4 seconds. There is no much users or load on the primary node database. For testing I have removed database from Alwayson and rerun the same query and it is taking 4 seconds on the primary node then I have added again database into Alwayson then the query time in primary node is again 9-10 seconds. Could you please guide me how to improve the query performance on the primary node when database in Alwayson. ThanksSreenivasa Read More
SharePoint Navigation Bar Moved to Side
Hello,
We have a communications page that normally has navigation across the top of the page, with options for a mega-menu/cascading. There was also a pane on the left side which allowed for audience targeting settings. I believe we may have inadvertently changed a setting which has relocated the navigation to the left side of the page and removed the audience targeting options.
The only options I am aware were changed were document sets and the content organizer. These were turned off but we still do not have the option to return the navigation bar to the top of the page.
Hello,We have a communications page that normally has navigation across the top of the page, with options for a mega-menu/cascading. There was also a pane on the left side which allowed for audience targeting settings. I believe we may have inadvertently changed a setting which has relocated the navigation to the left side of the page and removed the audience targeting options. The only options I am aware were changed were document sets and the content organizer. These were turned off but we still do not have the option to return the navigation bar to the top of the page. Read More
Power Query Doubling some fields after creating key and merging queries.
I have two queries in Power Query that I need to join together. I have created a key so each state has its own number. When I merge my Crop Report Query with my Harvested Query some states doubled up with different data coming from somewhere? My code below was filtered down to a single state that is showing the problem.
I have two queries in Power Query that I need to join together. I have created a key so each state has its own number. When I merge my Crop Report Query with my Harvested Query some states doubled up with different data coming from somewhere? My code below was filtered down to a single state that is showing the problem. Read More
Dualboot Linux/Windows no longer works Latest update has caused Linux to stop working
Hi all since the latest insider update Linux doesn’t seem to work on my Dualbooted W11/SteamOS SteamdeckOLED i am not sure what steps i can take on the Software side as Linux doesnt want to boot what so ever this has only happened since the latest version of Windows Security updates was installed?
Any help would be greatly appreciated
TIA
Hi all since the latest insider update Linux doesn’t seem to work on my Dualbooted W11/SteamOS SteamdeckOLED i am not sure what steps i can take on the Software side as Linux doesnt want to boot what so ever this has only happened since the latest version of Windows Security updates was installed? Any help would be greatly appreciatedTIA Read More
Query OU – Get Groups – Get Group Members – Export to CSV
The AI result did not work I am getting an error. The error is “Get-ADGroupMember: The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipeline input.”
Import-Module ActiveDirectory
# Specify the OU where your groups are located
$SearchBase = “CN=test,DC=test,DC=LOC”
# Get all groups within the specified OU
$Groups = Get-ADGroup -Filter * -Properties * -SearchBase $SearchBase
# Initialize an empty array to store group members
$GroupMembers = @()
foreach ($Group in $Groups) {
$Members = $Group | Get-ADGroupMember
foreach ($Member in $Members) {
$Info = New-Object psObject
$Info | Add-Member -MemberType NoteProperty -Name “GroupName” -Value $Group.Name
$Info | Add-Member -MemberType NoteProperty -Name “Description” -Value $Group.Description
$Info | Add-Member -MemberType NoteProperty -Name “Member” -Value $Member.Name
$GroupMembers += $Info
}
}
# Export the results to a CSV file
$GroupMembers | Sort-Object GroupName | Export-CSV C:tempgroup_members.csv -NoTypeInformation
The AI result did not work I am getting an error. The error is “Get-ADGroupMember: The input object cannot be bound to any parameters for the command either because the command does not take pipeline input or the input and its properties do not match any of the parameters that take pipeline input.” Import-Module ActiveDirectory# Specify the OU where your groups are located$SearchBase = “CN=test,DC=test,DC=LOC”# Get all groups within the specified OU$Groups = Get-ADGroup -Filter * -Properties * -SearchBase $SearchBase# Initialize an empty array to store group members$GroupMembers = @()foreach ($Group in $Groups) {$Members = $Group | Get-ADGroupMemberforeach ($Member in $Members) {$Info = New-Object psObject$Info | Add-Member -MemberType NoteProperty -Name “GroupName” -Value $Group.Name$Info | Add-Member -MemberType NoteProperty -Name “Description” -Value $Group.Description$Info | Add-Member -MemberType NoteProperty -Name “Member” -Value $Member.Name$GroupMembers += $Info}}# Export the results to a CSV file$GroupMembers | Sort-Object GroupName | Export-CSV C:tempgroup_members.csv -NoTypeInformation Read More
Partner Blog | Unlock the marketplace opportunity with certified software designations
Through the Microsoft AI Cloud Partner Program, we invest in key initiatives like Solutions Partner designations, which play a pivotal role in driving success in the marketplace for both partners and customers. This distinction helps partners showcase their validated skills, so customers can confidently choose the right partner for their needs.
When you become a Solutions Partner* with certified software**, customers can easily identify the quality, capability, reliability, and relevance of your software solution. That credibility is good for your business right now, but this designation also sets your organization up for long-term marketplace success by unlocking even more growth opportunities—like Azure IP co-sell top tier benefits and Azure partner-led offerings.
That is why we’re making it even easier for you to attain a certified software designation with a limited-time subsidy that covers 50% of the audit cost. The audit involves working with an independent auditing partner who will review submitted documentation to validate your solution’s technical interoperability and customer success.
Read on to learn more about certified software designations, their benefits, and how you can secure your subsidy to become a Solutions Partner with certified software.
Continue reading here
Microsoft Tech Community – Latest Blogs –Read More
Tackle Complex LLM Decision-Making with Language Agent Tree Search(LATS) & GPT-4O
Large Language Models (LLMs) have demonstrated exceptional abilities in performing natural language tasks that involve complex reasoning. As a result, these models have evolved to function as agents capable of planning, strategising, and solving complex problems. However, challenges persist when it comes to making decisions under uncertainty, where outcomes are not deterministic, or when adaptive decision-making is required in changing environments, especially in multi-step scenarios where each step influences the next. We need more advanced capabilities…
This is where GPT-4’s advanced reasoning capabilities and Language Agent Tree Search (LATS) come together to address these challenges. LATS incorporates a dynamic, tree-based search methodology that enhances the reasoning capabilities of GPT-4O. By integrating Monte Carlo Tree Search (MCTS) with LLMs, LATS unifies reasoning, acting, and planning, creating a more deliberate and adaptive problem-solving framework. This powerful combination allows for improved decision-making and more robust handling of complex tasks, setting a new standard in the deployment of language models as autonomous agents.
Is search the missing piece in GenAI problem solving?
Computational problem solving can be broadly defined as “search through a combinatorial problem space”, represented as a tree. Depth-First Search (DFS)and Breadth-First Search (BFS) are fundamental methods for exploring such solution spaces. A notable example of the power of deep search is AlphaGo’s “Move 37,” which showcased how innovative, human-surpassing solutions can emerge from extensive exploration.
Unlike traditional methods that follow predefined paths, LLMs can dynamically generate new branches within the solution space by predicting potential outcomes, strategies, or actions based on context. This capability allows LLMs to not only navigate but also expand the problem space, making them exceptionally powerful in situations where the problem structure is not fully known, is continuously evolving, or is highly complex.
Inference-time Reasoning with Meta Generation Algorithms (MGA)
midjourney — mayan puzzle needs to be resolved
Scaling compute during training is widely recognised for its ability to improve model performance. The benefits of scaling compute during inference remain under-explored. MGA’s offer a novel approach by amplifying computational resources during inference…
Unlike traditional token-level generation methods, meta-generation algorithms employ higher-order control structures such as planning, loops with multiple model calls, self-reflection, task decomposition, and dynamic conditioning. These mechanisms allow the model to execute tasks end-to-end, mimicking higher-level cognitive processes often referred to as Systems-2 thinking.
Therefore one-way meta generation algorithms may enhance LLM reasoning by integrating search into the generation process. During inference, MGA’s dynamically explore a broader solution space, allowing the model to reason through potential outcomes and adapt strategies in real-time. By generating multiple paths and evaluating their viability, meta generation algorithms enable LLMs to simulate deeper, more complex reasoning akin to traditional search methods. This approach not only expands the model’s ability to generate novel insights but also improves decision-making in scenarios with incomplete or evolving information.
Techniques like Tree of Thoughts (ToT), and Graph of Thought (GoT) are employed to navigate combinatorial solution spaces efficiently.
ToT (2*) enables hierarchical decision-making by structuring potential outcomes as tree branches, facilitating exploration of multiple paths.
GoT (6*)maps complex relationships between ideas, allowing the model to dynamically adjust and optimize its reasoning path.
CoT (5*) provides step-by-step reasoning that links sequential thoughts, improving the coherence and depth of the generation.
Why is LATS / MCTS better ?
LATS relies on MCTS
In the Tree of Thoughts (ToT) approach, a tree structure is used to represent different decision paths. Traditional methods like Depth-First Search (DFS) or Breadth-First Search (BFS) can navigate this tree, but they are computationally expensive because they explore each possible path systematically.
Monte Carlo Tree Search (MCTS) is an improvement on this by simulating different outcomes for actions and updating the tree based on these simulations. It uses a “selection” process where it picks decision nodes using a strategy that balances exploration (trying new paths) and exploitation (choosing known good paths). This is guided by a formula called Upper Confidence Bound (UCB).
The UCB formula has two key parts:
Exploration Term: This represents the potential reward of choosing a node and is calculated through simulations.
Exploitation Term: This decreases the deeper you go into a certain path, meaning that if a path is over-explored, the algorithm may shift to a less-explored path even if it seems less promising initially.
By selecting nodes using UCB, simulating outcomes with language models (LLMs), and backpropagating the rewards up the tree, MCTS effectively balances between exploring new strategies and exploiting known successful ones.
The second part of the UCB formula is the ‘exploitation term,’ which decreases as you explore deeper into a specific path. This decrease may lead the selection algorithm to switch to another path in the decision tree, even if that path has a lower immediate reward, because the exploitation term remains higher when that path is less explored.
Node selection with UCB, reward calculations with LLM simulations and backpropagation are the essence of MCTS.
An Implementation — Financial Decision Making…
Let’s say we want to use LLM’s for investment management. We feed the LLM the macro landscape and gives us three investment strategy options…
Iteration 1:
Selection: We start at the root, and since this is the first iteration, we select all initial strategies (A, B, and C) and simulate their outcomes.
Simulation & Backpropagation: Next LLM “simulates” each strategy based on the context it has and assigns the following “rewards” — investment returns — to each “node”.
Strategy A: $5,000
Strategy B: $7,000
Strategy C: $4,000
3. Expansion: Based on the selection, Strategy B has the highest UCB1 value (since all nodes are at the same depth), so we expand only Strategy B by simulating its child nodes.
First Expansion of the tree
Iteration 2:
Selection: Since B1 & B2 strategies are not simulated, there is a tie in terms of their UCB scores and both nodes will be simulated.
Simulate Both Nodes:
Simulate B1: LLM predicts a return of $8,500 for B1.
Simulate B2: LLM predicts a return of $7,500 for B2.
Expand node B
3. Backpropagation:
After each simulation results of the simulation are backpropagated up the tree, updating the values of the parent nodes. This step ensures that the impact of the new information is reflected throughout the tree.
Updating Strategy B’s Value: Strategy B now needs to reflect the outcomes of B1 and B2. One common approach is to average the rewards of B1 and B2 to update Strategy B’s value. Now, Strategy B has an updated value of $8,000based on the outcomes of its child nodes.
4. Recalculate UCB Scores:
After backpropagation, the UCB scores for all nodes in the tree are recalculated. This recalculation uses the updated values (average rewards) and visit counts, ensuring that each node’s UCB1 score accurately reflects both its potential reward and how much it has been explored.
UCB(s) = Reward of the node + (exploitation term)
5. Next Selection & simulation:
B1 is selected for further expansion (as it has a higher reward) into child nodes:
B1a: “Invest in AI companies”
B1b: “Invest in green tech”
6. Backpropagation
7.UCB1 Calculation
Next UCB values of all nodes are recalculated. Assume that due to the decaying exploration factor, B2 now has a higher UCB1 score than both B1aand B1b. This could occur if B1 has been extensively explored, reducing the exploration term for its children. Instead of continuing to expand B1’s children, the algorithm shifts back to explore B2, which has become more attractive due to its unexplored potential.
This example illustrates how MCTS can dynamically adjust its search path based on new information, ensuring that the algorithm remains efficient and focused on the most promising strategies as it progresses.
An Implementation with Azure OpenAI GPT4-O
Ok, next we will build a “financial advisor” using AzureOpenAI GPT4-o model, implementing LATS. (Refer to the Github repo here.)
(For an accurate analysis I am using the IMF World Economic Outlook report from July, 24 as my LLM context for simulations i.e. for generating child nodes and for assigning rewards to decision nodes …)
The code leverages the graphviz library to visually represent the decision tree generated during the execution of the investment strategy simulations. Below are snippets from parts of the resultant graph generated by a sample iteration.
Here is how the code runs – code execution video…
Decision tree is too wide and cannot be fit into a single picture hence I have added snippets as to how the tree looks below. You can find a sample decision tree in the github repo here…
Sample run of the MCTS code to find the best investment strategy in current macroeconomic climate
Below is the optimsal strategy inferred by LATS…
Optimal Strategy Summary: The optimal investment strategy is structured around several key steps influenced by the IMF report. Here’s a concise summary of each step and its significance:
1. **Diversification Across Geographies and Sectors:**
— **Geographic Diversification:** This involves spreading investments across regions to mitigate risk and tap into different growth potentials. Advanced economies like the U.S. remain essential due to their robust consumer spending and resilient labor market, but the portfolio should include cautious weighting to manage risks. Simultaneously, emerging markets in Asia, such as India and Vietnam, are highlighted for their higher growth potential, providing opportunities for higher returns.
— **Sector Diversification:** Incorporating investments in sectors like green energy and sustainability reflects the growing global emphasis on renewable energy and environmentally friendly technologies. This also aligns with regulatory changes and consumer preferences, creating future growth opportunities.
2. **Green Energy and Sustainability:**
— Investing in green energy demonstrates foresight into the global shift toward reducing carbon footprints and reliance on fossil fuels. This is significant due to increased governmental supports, such as subsidies and policy incentives, which are likely to propel growth within this sector.
3. **Fintech and E-Commerce:**
— Allocating capital towards fintech and e-commerce companies capitalizes on the digital transformation accelerated by the global shift towards digital platforms. This sector is expected to grow due to increased adoption of online services and digital payment systems, thus presenting promising investment opportunities.
Conclusion:
By integrating LATS, we harness the reasoning capabilities of LLMs to simulate and evaluate potential strategies dynamically. This combination allows for the construction of decision trees that not only represent the logical progression of decisions but also adapt to changing contexts and insights, provided by the LLM through simulations and reflections.
References:
Language Agent Tree Search: Unifying Reasoning, Acting, and Planning in Language Models by Zhou et al
Tree of Thoughts: Deliberate Problem Solving with Large Language Models by Yao et al
The Landscape of Emerging AI Agent Architectures for Reasoning, Planning, and Tool Calling: A Survey by Tula Masterman, Mason Sawtell, Sandi Besen, and Alex Chao
From Decoding to Meta-Generation: Inference-time Algorithms for Large Language Models” by Sean Welleck, Amanda Bertsch, Matthew Finlayson, Hailey Schoelkopf*, Alex Xie, Graham Neubig, Ilia Kulikov, and Zaid Harchaoui.
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models by Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma, Brian Ichter, Fei Xia, Ed H. Chi, Quoc V. Le, and Denny Zhou
Graph of Thoughts: Solving Elaborate Problems with Large Language Modelsby Maciej Besta, Nils Blach, Ales Kubicek, Robert Gerstenberger, Michał Podstawski, Lukas Gianinazzi, Joanna Gajda, Tomasz Lehmann, Hubert Niewiadomski, Piotr Nyczyk, and Torsten Hoefler.
From Decoding to Meta-Generation: Inference-time Algorithms for Large Language Models” by Sean Welleck, Amanda Bertsch, Matthew Finlayson, Hailey Schoelkopf, Alex Xie, Graham Neubig, Ilia Kulikov, and Zaid Harchaoui.
Hope you enjoyed the content. Let me know any comments and please promote the content if you found it useful…
Subscribe to my newsletter on linkedin to keep upto date in GenAI space…Use this link…
Microsoft Tech Community – Latest Blogs –Read More
Azure Communication Services August 2024 Feature Updates
The Azure Communication Services team is excited to share several new product and feature updates released in July 2024. (You can view previous blog articles.)
July updates:
Closed Captions (Native UI Library)
Rooms Roles and Capabilities (Native UI Library)
File sharing in Teams meetings
Support for Teams Breakout rooms
End of call survey (Native)
Transfer to voicemail
Closed Captions
Closed Captions are now generally available in the Native UI Library for Android and iOS. This feature applies to a range of scenarios in which closed captions are essential, enhancing the experience for users with hearing impairments and ensuring inclusivity.
Closed Captions in the Native UI library streamline the integration between Azure Communication Services and Microsoft Teams, making it easier for users to connect and collaborate seamlessly. It simplifies the process and enhances the user experience.
For example, a multinational law firm with a diverse workforce can use closed captions during video conferences to ensure that all employees, regardless of language ability or hearing ability, can fully take part. For example, in meetings involving complex legal discussions, closed captions can help non-native speakers follow along more easily. Additionally, the firm can use this feature during interop scenarios with Microsoft Teams, ensuring seamless communication with clients and partners.
For more information, see:
Enable Closed captions using the UI Library – An Azure Communication Services concept document | Microsoft Learn
Azure Communication Services Closed Captions overview – An Azure Communication Services concept document | Microsoft Learn
Rooms Roles and Capabilities
The Native UI Library for Android and iOS now includes Rooms Integration in general availability, offering enhanced roles and capabilities for call participants. This integration offers customers greater flexibility and control over their calls, keeping the management on the customer side.
Consider a corporation hosting a virtual town hall meeting with employees worldwide. With Rooms Integration, the company can assign roles such as presenter, attendees and, consumer, ensuring a structured and organized meeting environment. This setup is crucial for keeping order in large meetings, allowing for efficient information dissemination and productive Q&A sessions, enhancing organizational communication and engagement.
To understand how to configure a standard Rooms architecture for validating role assignments and creation, see the following diagram.
The Rooms API enables developers to create rooms, manage users, and adjust the lifetime of rooms. Note that the Rooms API is a back-end service separate from the UI Library.
For more information, see:
UI Library use cases – An Azure Communication Services concept document | Microsoft Learn
Azure Communication Services Rooms overview – An Azure Communication Services concept document | Microsoft Learn
File sharing in Teams Meetings
Now in general availability, share files during a Microsoft Teams meeting with Azure Communication Services Chat service. File sharing enables participants to share documents required for daily business needs such as product information, brochures, or follow-up care instructions.
Use this function to enhance the experience in Teams meetings. File sharing makes it easier for users to collaborate over documents and ask clarifying questions as needed to finish business processes. Business processes can include opening an account, going over results, providing prescriptions or follow up care instructions, and many other scenarios.
For more information:
Enable file sharing during a Teams meeting
Call with Chat composite – UI library
Chat Use Cases
Support for Teams Breakout rooms
The JavaScript Calling SDK now supports Microsoft Teams Breakout rooms in public preview. Azure Communication Services native participants and Microsoft 365 participants using the Calling SDK can participate in Teams meetings breakout rooms. Support for Teams Breakout rooms brings more flexibility and collaboration opportunities to your virtual meetings.
What Are Breakout Rooms
Teams Breakout rooms enable meeting facilitators to create separate, smaller sessions within a larger Teams meeting. This feature is particularly useful for various scenarios, such as:
Healthcare: During a group virtual visit with healthcare providers, the meeting organizer can assign patients to breakout rooms to discuss specific topics before reconvening in the larger group session. Healthcare providers can visit each breakout room to check in with patients individually.
Legal: In a virtual courtroom hearing, a defendant and their attorney can join a breakout room for a private side-bar conversation.
Conferences: During a virtual industry conference, the meeting organizer can place attendees into separate discussion groups with focused topics, before coming back to the larger meeting to share insights with the broader audience.
How Does It Work
Microsoft Teams users can create breakout rooms for scheduled meetings. Meeting organizers can assign Calling SDK participants to individual breakout rooms. Participants can seamlessly join and move between breakout rooms and the main meeting, just like any other Teams user.
Why Is This Important
The ability to include ACS users in Teams breakout rooms enhances the collaborative experience, making it more inclusive and versatile. Whether you’re conducting a training session, hosting a workshop, or facilitating a brainstorming session, breakout rooms provide the structure needed to foster meaningful interactions and productive discussions.
Get Started Today
To start using this feature, ensure that you have the latest version of the Calling SDK. For more information about implementing and using Teams Breakout rooms, see Tutorial – Integrate Microsoft Teams breakout rooms – An Azure Communication Services tutorial | Microsoft Learn.
End of Call Survey
The End of Call Survey enables developers to customize questions to collect feedback at the end of a call. This feature is in general availability. By gathering valuable insights directly from users, developers can make informed decisions to enhance their services effectively. This feature is now generally available for Android, iOS, and Windows platforms.
Imagine a healthcare provider using this feature to gather feedback after telemedicine consultations. By customizing questions to inquire about the clarity of communication, ease of access, and satisfaction with medical advice, the provider can quickly identify areas needing improvement. This immediate, specific feedback helps the provider enhance patient care quality, streamline operations, and increase patient satisfaction.
For more information, see:
End of Call Survey- conceptual documentation | Microsoft Learn.
Azure Communication Services End of Call Survey – An Azure Communication Services tutorial document | Microsoft Learn
Transfer to Voicemail
Now in general availability, Microsoft Teams organizers can configure call participants to transferred directly into a Teams user’s voicemail, bypassing ringing the Teams user. This is useful when the transferor knows the transferee is unavailable to take the call.
For more information, see Transfer calls.
You can learn more about these updates and Azure Communication Services Communication Platform as a Service (CPaaS) in the overview.
Microsoft Tech Community – Latest Blogs –Read More
How can I generate a 32-bit SO for a Simulink model on 64-bit Linux?
How can I generate a 32-bit SO file with a supported GCC compiler for a Simulink model on 64-bit Linux? I have followed this example to generate a 32-bit DLL on Windows, but I couldn’t find an example for Linux environment:
https://www.mathworks.com/help/coder/ug/build-32-bit-dll-on-64-bit-windows-platform-using-msvc-toolchain.htmlHow can I generate a 32-bit SO file with a supported GCC compiler for a Simulink model on 64-bit Linux? I have followed this example to generate a 32-bit DLL on Windows, but I couldn’t find an example for Linux environment:
https://www.mathworks.com/help/coder/ug/build-32-bit-dll-on-64-bit-windows-platform-using-msvc-toolchain.html How can I generate a 32-bit SO file with a supported GCC compiler for a Simulink model on 64-bit Linux? I have followed this example to generate a 32-bit DLL on Windows, but I couldn’t find an example for Linux environment:
https://www.mathworks.com/help/coder/ug/build-32-bit-dll-on-64-bit-windows-platform-using-msvc-toolchain.html 32-bit, so, shared, library, linux MATLAB Answers — New Questions
Why do I receive License Manager Error -101?
When trying to launch MATLAB or attempting to use a toolbox I receive the following license manager error message:
License Manager Error -101
All licenses are reserved for others.
How can I resolve this error so that I can use MATLAB?When trying to launch MATLAB or attempting to use a toolbox I receive the following license manager error message:
License Manager Error -101
All licenses are reserved for others.
How can I resolve this error so that I can use MATLAB? When trying to launch MATLAB or attempting to use a toolbox I receive the following license manager error message:
License Manager Error -101
All licenses are reserved for others.
How can I resolve this error so that I can use MATLAB? MATLAB Answers — New Questions
Why do I receive a License Manager Error -4 in Polyspace?
Why do I receive a License Manager Error -4 when running a job in Polyspace Bug Finder, either locally or on a remote Code Prover server?Why do I receive a License Manager Error -4 when running a job in Polyspace Bug Finder, either locally or on a remote Code Prover server? Why do I receive a License Manager Error -4 when running a job in Polyspace Bug Finder, either locally or on a remote Code Prover server? MATLAB Answers — New Questions
Targeted Value with Changing Mix
I have (2) dimensions with values in (2) years, which sum to a total value for each year. The mix of those values from year 1 to year 2 changes. I want to input a hypothetical value total and the formula to return the “should be” mix for each of the (2) dimensions.
Example:
Year 1
Consulting is 14,000 (30% of total)
Distribution is 33,000 (70% of total)
Total is 47,000
Year 2
Consulting is 15,710 (18% of total)
Distribution is 69,290 (82% of total)
Total is 85,000
Hypothetical
Consulting is XX,XXX (XX% of total)
Distribution is XX,XXX (XX% of total)
Total is 72,500 (I enter this value and the formulas provide the XX results above)
I have (2) dimensions with values in (2) years, which sum to a total value for each year. The mix of those values from year 1 to year 2 changes. I want to input a hypothetical value total and the formula to return the “should be” mix for each of the (2) dimensions. Example: Year 1Consulting is 14,000 (30% of total)Distribution is 33,000 (70% of total)Total is 47,000 Year 2Consulting is 15,710 (18% of total)Distribution is 69,290 (82% of total)Total is 85,000 HypotheticalConsulting is XX,XXX (XX% of total)Distribution is XX,XXX (XX% of total)Total is 72,500 (I enter this value and the formulas provide the XX results above) Read More
Tech Talks Presents: Power CAT Copilot Studio Kit
Join us on Thursday, August 29th at 8am PT as Henry Jammes, Principal Program Manager Lead, presents Power CAT Copilot Studio Kit.
The Power CAT Copilot Studio Kit is a comprehensive set of capabilities designed to augment Microsoft Copilot Studio. The kit helps makers automatically test copilots, use large language models to validate AI-generated content, and will soon help business users easily track aggregated key performance indicators and empower citizen developers with exciting capabilities. Come learn more about the new kit and provide your feedback.
Call to Action:
Click on the link to save the calendar invite: https://aka.ms/TechTalksInvite
View past recordings (sign in required): https://aka.ms/TechTalksRecording
Join us on Thursday, August 29th at 8am PT as Henry Jammes, Principal Program Manager Lead, presents Power CAT Copilot Studio Kit.
The Power CAT Copilot Studio Kit is a comprehensive set of capabilities designed to augment Microsoft Copilot Studio. The kit helps makers automatically test copilots, use large language models to validate AI-generated content, and will soon help business users easily track aggregated key performance indicators and empower citizen developers with exciting capabilities. Come learn more about the new kit and provide your feedback.
Call to Action:
Click on the link to save the calendar invite: https://aka.ms/TechTalksInvite
View past recordings (sign in required): https://aka.ms/TechTalksRecording Read More
Practical Guide to Azure Custom Neural Voice: Essential Tips for Success
Custom Neural Voice (CNV) is a feature of Azure Cognitive Services that allows you to create a personalized, synthetic voice for your applications. This text-to-speech capability enables you to develop a highly natural-sounding voice for your brand or characters by using human speech samples as training data.
Recently, I worked on a project involving the generation of a custom voice, and I encountered some features and hidden issues not covered in the official documentation. Therefore, I would like to share some tips and tricks in this article. Since the theoretical aspects are well-documented, the advice in this post is primarily based on my personal experience. I hope you find these insights useful. Let’s dive in!
Audio Recording
Firstly, you need to prepare a well-balanced script. It’s important to provide a proper mix of question, exclamation, and statement sentences, as this is more crucial than ensuring the training set closely matches the target domain. In summary, a good dataset should include:
Statement sentences : 70-80%
Questions: 10-20% and equal number of rising and falling tunes (we use rising intonation on yes/no questions whereas a falling tune is very common in wh-questions)
Exclamation sentences : 10-20%
Short word/phrase : 10%
Sound editing software
There are several possible solutions, such as Adobe Audition or Audacity. I recommend using Audacity, not just because it’s free while Adobe Audition is paid, but because Audacity’s limited functionality is ideal for our needs. We only need to select the utterance, export it, and cut it out. Minimalism is the key to success. Additionally, Audacity makes it easier to navigate the tracks and allows you to minimize unnecessary toolboxes.
The File Menu in Audacity provides commands for creating, opening, and saving projects, as well as importing and exporting audio files. For instance, the exporting function is unassigned by default, allowing you to easily create a shortcut for exporting your selection. This significantly speeds up the processing. Having worked with both Adobe Audition and Audacity, I found that I could complete the same amount of work in 2 days with Audacity, compared to 4 days with Adobe Audition.
Price
Model type : Neural V5.2022.05
Engine version : 2023.01.16.0
Training hours : 30.48
Data size : 440 utterances
Price: $1584.27
The price may vary depending on the engine version and the number of training hours, but at least you have a sample.
Intake form
You probably know that access is only granted after you fill in the Intake Form and decision is based on eligibility and usage criteria. Before providing all the project information, please refer to Microsoft’s Responsible AI Standards. This will help you adjust the description and the scenario accordingly.
Audio Preparation
The process is quite straightforward. Create a notepad with all the utterances and their IDs. Select the utterances one by one, export them, save them using the ID, and then delete them from the notepad. Define the optimal size beforehand, and avoid zooming in or out during the work, as you will get used to the timeline size and be able to add the required 100-200 milliseconds of silence more easily.
Microsoft Tech Community – Latest Blogs –Read More
How to properly read a csv saved cell array.
Hi,
I am new with Matlab and I would like to know why I am not reading a cell array as I saved it. i.e. I have a cell of arrays (3834×1) and I saved it as csv file.
writecell(X_train_past, …
strcat(train_data_path, ‘past_features.csv’), …
"Delimiter",";")
However, when reading the cell I got a cell of 926×864, totally different of the saved cell array. Is there any way to get the same shape when reading a cell as it was writen ?
opts = detectImportOptions(test_path);
opts.LineEnding = ‘n’;
C = readcell(test_path,opts);
Thanks a lot in advance,
RafaHi,
I am new with Matlab and I would like to know why I am not reading a cell array as I saved it. i.e. I have a cell of arrays (3834×1) and I saved it as csv file.
writecell(X_train_past, …
strcat(train_data_path, ‘past_features.csv’), …
"Delimiter",";")
However, when reading the cell I got a cell of 926×864, totally different of the saved cell array. Is there any way to get the same shape when reading a cell as it was writen ?
opts = detectImportOptions(test_path);
opts.LineEnding = ‘n’;
C = readcell(test_path,opts);
Thanks a lot in advance,
Rafa Hi,
I am new with Matlab and I would like to know why I am not reading a cell array as I saved it. i.e. I have a cell of arrays (3834×1) and I saved it as csv file.
writecell(X_train_past, …
strcat(train_data_path, ‘past_features.csv’), …
"Delimiter",";")
However, when reading the cell I got a cell of 926×864, totally different of the saved cell array. Is there any way to get the same shape when reading a cell as it was writen ?
opts = detectImportOptions(test_path);
opts.LineEnding = ‘n’;
C = readcell(test_path,opts);
Thanks a lot in advance,
Rafa cell arrays MATLAB Answers — New Questions
Do graphs work in Custom Components?
I built a custom component (first time I’ve tried this) containing two Axes objects as well as some text fields. Here’s a picture. I’ve been having some problems.
1. These graphs appear one size in the editor, and larger when an instance of my component is inserted into my app. (Compare the relative size of the graph to the text fields, in the picture above in the picture below.)
2. Some fraction of the time, when I run the app, the Axes objects don’t appear at all, although the other parts of the custom component do.
Is this a known bug? Is this usage of Axes objects a hopeless mess? Or is there some way I can tweak it to get around this problem.
Component embedded in app:
App running:I built a custom component (first time I’ve tried this) containing two Axes objects as well as some text fields. Here’s a picture. I’ve been having some problems.
1. These graphs appear one size in the editor, and larger when an instance of my component is inserted into my app. (Compare the relative size of the graph to the text fields, in the picture above in the picture below.)
2. Some fraction of the time, when I run the app, the Axes objects don’t appear at all, although the other parts of the custom component do.
Is this a known bug? Is this usage of Axes objects a hopeless mess? Or is there some way I can tweak it to get around this problem.
Component embedded in app:
App running: I built a custom component (first time I’ve tried this) containing two Axes objects as well as some text fields. Here’s a picture. I’ve been having some problems.
1. These graphs appear one size in the editor, and larger when an instance of my component is inserted into my app. (Compare the relative size of the graph to the text fields, in the picture above in the picture below.)
2. Some fraction of the time, when I run the app, the Axes objects don’t appear at all, although the other parts of the custom component do.
Is this a known bug? Is this usage of Axes objects a hopeless mess? Or is there some way I can tweak it to get around this problem.
Component embedded in app:
App running: appdesigner, customcomponent, axes MATLAB Answers — New Questions
How to increase the timeout of a Invoke-WebRequest call either globally or in web.config?
If your program uses the now legacy API `System.Net.HttpWebRequest` and that `HttpWebRequest` throws a `System.Net.WebException` that reads `The operation has timed out`
Is it possible to change the timeout property in the System.Net.WebException via a web.config file by adding the correct add element name and value attribute?
Or possibly change it globally using the registry or a GPO?
I have already been advised to fix this using netsh http retries and some other settings and truth be told the issue could be on the opposite end of the connection where it also could be timing out; but it is unclear how to find that out.
The error looks like this:
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.WebServices.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
….
I am running a web-services based .NET application; it like most .NET web-based applications has an XML configuration file in which you can specify <add key=”some-keyname” value=”some-valuename” />.
After the application reaches out to the enterprise server with a webservices request; eventually it times out; but the error message does not make it clear if we are talking about a timeout that comes from the enterprise server end or if the timeout is coming from the client end on the machines that I work on and can control.
It simply says in a dialog box that pops up with a title that reads Error
(again, it doesn’t specify if the time out came from my end or the enterprise end)…and it goes on…with the rest of the stack trace to tell us where the exception came from:
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at EGatewayClientCE.EGatewayService.BDSWse.ProcessDimeRequest()
…etc
If your program uses the now legacy API `System.Net.HttpWebRequest` and that `HttpWebRequest` throws a `System.Net.WebException` that reads `The operation has timed out`Is it possible to change the timeout property in the System.Net.WebException via a web.config file by adding the correct add element name and value attribute?Or possibly change it globally using the registry or a GPO?I have already been advised to fix this using netsh http retries and some other settings and truth be told the issue could be on the opposite end of the connection where it also could be timing out; but it is unclear how to find that out.The error looks like this: System.Net.WebException: The operation has timed out.
at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.WebServices.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
…. I am running a web-services based .NET application; it like most .NET web-based applications has an XML configuration file in which you can specify <add key=”some-keyname” value=”some-valuename” />.After the application reaches out to the enterprise server with a webservices request; eventually it times out; but the error message does not make it clear if we are talking about a timeout that comes from the enterprise server end or if the timeout is coming from the client end on the machines that I work on and can control.It simply says in a dialog box that pops up with a title that reads Error System.Net.WebException: The operation has timed out(again, it doesn’t specify if the time out came from my end or the enterprise end)…and it goes on…with the rest of the stack trace to tell us where the exception came from:at System.Net.HttpWebRequest.GetRequestStream(TransportContext& context)
at System.Net.HttpWebRequest.GetRequestStream()
at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
at EGatewayClientCE.EGatewayService.BDSWse.ProcessDimeRequest()
…etc Read More