Category: News
New Blog | New developments in Microsoft Entra ID Protection
By Alex Weinert
In the Microsoft Digital Defense Report 2023 (MDDR), we shared that on average, there are 11 token replay detections per 100,000 active users in Microsoft Entra ID each month. In addition, there are approximately 18,000 multifactor authentication (MFA) fatigue attempts observed per month.
The latest developments in Entra ID Protection help you reduce the risks of these attacks by making it easier to deploy risk policies, understand their impact, and protect your organization from emerging threats.
Here are the highlights:
Deploying Entra ID Protection just became easier with Microsoft-managed policies in your environment and an impact analysis workbook.
You can now investigate and remediate compromised users faster with help from Copilot and expansion of self-remediation to hybrid users.
You can also fine-tune the Machine Learning (ML) algorithm by providing feedback and identify and block token theft and suspicious actions taken by an attacker within Entra ID with new detections.
Keep reading to learn more!
Read the full post here: New developments in Microsoft Entra ID Protection
By Alex Weinert
In the Microsoft Digital Defense Report 2023 (MDDR), we shared that on average, there are 11 token replay detections per 100,000 active users in Microsoft Entra ID each month. In addition, there are approximately 18,000 multifactor authentication (MFA) fatigue attempts observed per month.
The latest developments in Entra ID Protection help you reduce the risks of these attacks by making it easier to deploy risk policies, understand their impact, and protect your organization from emerging threats.
Here are the highlights:
Deploying Entra ID Protection just became easier with Microsoft-managed policies in your environment and an impact analysis workbook.
You can now investigate and remediate compromised users faster with help from Copilot and expansion of self-remediation to hybrid users.
You can also fine-tune the Machine Learning (ML) algorithm by providing feedback and identify and block token theft and suspicious actions taken by an attacker within Entra ID with new detections.
Keep reading to learn more!
Read the full post here: New developments in Microsoft Entra ID Protection
New Blog | Using the Microsoft Purview Audit Search Graph API
We recently shared the news about the upcoming release of the Microsoft Purview Audit Search Graph API, a new feature that is currently in Public Preview and will be Generally Available by June 2024.
The new API available through Microsoft Graph would allow to programmatically search and get relevant audit logs with improvements in search completeness, reliability, and performance This API is an improved option compared to the existing PowerShell cmdlet, Search-UnifiedAuditLog.
In this blog, we will demonstrate how we can use the API to get the DLP Rule Matches across all the workloads.
Read the full post here: Using the Microsoft Purview Audit Search Graph API
By Priyanka Agarwal
We recently shared the news about the upcoming release of the Microsoft Purview Audit Search Graph API, a new feature that is currently in Public Preview and will be Generally Available by June 2024.
The new API available through Microsoft Graph would allow to programmatically search and get relevant audit logs with improvements in search completeness, reliability, and performance This API is an improved option compared to the existing PowerShell cmdlet, Search-UnifiedAuditLog.
In this blog, we will demonstrate how we can use the API to get the DLP Rule Matches across all the workloads.
Read the full post here: Using the Microsoft Purview Audit Search Graph API
Issue with Importing Custom App into Developer Portal
The app in question is the same package that I previously submitted for validation and which was successfully published to the Microsoft Teams store. However, I have noticed that the app has been deleted from my developer portal.
When attempting to import the app package again, I am encountering the following error message:
Failed to upload App (Tracking info: 4a6d5384-2ef7-4d64-82c6-02a6c248ba36_265 Thu, 09 May 2024 23:06:14 GMT | Status code: 422)
How can I upload the app to my developer portal?
The app in question is the same package that I previously submitted for validation and which was successfully published to the Microsoft Teams store. However, I have noticed that the app has been deleted from my developer portal. When attempting to import the app package again, I am encountering the following error message:Failed to upload App (Tracking info: 4a6d5384-2ef7-4d64-82c6-02a6c248ba36_265 Thu, 09 May 2024 23:06:14 GMT | Status code: 422) How can I upload the app to my developer portal? Read More
Access team meeting chat before the meeting starts when created using API
Hi, I am creating an event using Event API – https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http and creating a teams meeting using online meeting API – https://learn.microsoft.com/en-us/graph/api/resources/onlinemeeting?view=graph-rest-1.0#onlinemeetingpresenters-values. But the participants are unable to start the chat in teams before the meeting is started. Participants can start the chat if I manually create a meeting from the team’s calendar. Please guide me on how I can enable the participants to start the chat before the meeting is started. I have the following flags set when create the online meeting –
shareMeetingChatHistoryDefault: “all”,
allowedPresenters: “everyone”,
Participants are seeing this error –
Hi, I am creating an event using Event API – https://learn.microsoft.com/en-us/graph/api/user-post-events?view=graph-rest-1.0&tabs=http and creating a teams meeting using online meeting API – https://learn.microsoft.com/en-us/graph/api/resources/onlinemeeting?view=graph-rest-1.0#onlinemeetingpresenters-values. But the participants are unable to start the chat in teams before the meeting is started. Participants can start the chat if I manually create a meeting from the team’s calendar. Please guide me on how I can enable the participants to start the chat before the meeting is started. I have the following flags set when create the online meeting – allowMeetingChat: “enabled”,shareMeetingChatHistoryDefault: “all”,allowedPresenters: “everyone”, Participants are seeing this error – Read More
Why is this dot notation used?
While going over Mathworks’ 2D solution to a seven-body probelm (found here https://www.mathworks.com/help/matlab/math/solve-celestial-mechanics-problem-with-high-order-ode-solvers.html# ) the following is used, xDist = (x – x.’); where x is a row vector. My question is why the dot? I get the same result without it. That is (x – x’) = (x – x.’). I have a lot of respect for the Mathworks folks so I’m wondering if I’m missing a subtlety here.While going over Mathworks’ 2D solution to a seven-body probelm (found here https://www.mathworks.com/help/matlab/math/solve-celestial-mechanics-problem-with-high-order-ode-solvers.html# ) the following is used, xDist = (x – x.’); where x is a row vector. My question is why the dot? I get the same result without it. That is (x – x’) = (x – x.’). I have a lot of respect for the Mathworks folks so I’m wondering if I’m missing a subtlety here. While going over Mathworks’ 2D solution to a seven-body probelm (found here https://www.mathworks.com/help/matlab/math/solve-celestial-mechanics-problem-with-high-order-ode-solvers.html# ) the following is used, xDist = (x – x.’); where x is a row vector. My question is why the dot? I get the same result without it. That is (x – x’) = (x – x.’). I have a lot of respect for the Mathworks folks so I’m wondering if I’m missing a subtlety here. dot notation MATLAB Answers — New Questions
Add a hyperlink in excell through matlab
Dear Matlabians!!!
I have build a script that adds a lot of data from multiple excels to one general excel. There is a huge amount of data that are being organize thus it is very important for me and the other users of the final excel to know from which files the data came from. Thus I have include the name of the initial excels on my final excel.
Is it possible now to put through matlab a hyperlink in my final excel that will link each name of the initial excels to there files in there separated folders? I don’t want to do that manually as it will take years. To be able to extract the data in the first place I have to include there paths so I have there names and there path in the hard-drive.
i found a line of code that could do that but i really don’t get how it could be of use. <http://www.mathworks.com/matlabcentral/newsreader/view_thread/244494>
Add = handle Add(handle, handle, string, Variant(Optional))
Thank you very much
AlexDear Matlabians!!!
I have build a script that adds a lot of data from multiple excels to one general excel. There is a huge amount of data that are being organize thus it is very important for me and the other users of the final excel to know from which files the data came from. Thus I have include the name of the initial excels on my final excel.
Is it possible now to put through matlab a hyperlink in my final excel that will link each name of the initial excels to there files in there separated folders? I don’t want to do that manually as it will take years. To be able to extract the data in the first place I have to include there paths so I have there names and there path in the hard-drive.
i found a line of code that could do that but i really don’t get how it could be of use. <http://www.mathworks.com/matlabcentral/newsreader/view_thread/244494>
Add = handle Add(handle, handle, string, Variant(Optional))
Thank you very much
Alex Dear Matlabians!!!
I have build a script that adds a lot of data from multiple excels to one general excel. There is a huge amount of data that are being organize thus it is very important for me and the other users of the final excel to know from which files the data came from. Thus I have include the name of the initial excels on my final excel.
Is it possible now to put through matlab a hyperlink in my final excel that will link each name of the initial excels to there files in there separated folders? I don’t want to do that manually as it will take years. To be able to extract the data in the first place I have to include there paths so I have there names and there path in the hard-drive.
i found a line of code that could do that but i really don’t get how it could be of use. <http://www.mathworks.com/matlabcentral/newsreader/view_thread/244494>
Add = handle Add(handle, handle, string, Variant(Optional))
Thank you very much
Alex excel MATLAB Answers — New Questions
Formula help please
I have a sheet with a year of (365) dates in Row 1 starting in cell B1
Under that is a list types of incidents in column A
The requirement is to look through each day per incident type to find the Max number of incidents and the date of that ‘peak’. I can find the maximum number in the row with a formula. But what do I need to add to give me the (Vector?) of the corresponding date that will be above in Row 1?
I have a sheet with a year of (365) dates in Row 1 starting in cell B1Under that is a list types of incidents in column AThe requirement is to look through each day per incident type to find the Max number of incidents and the date of that ‘peak’. I can find the maximum number in the row with a formula. But what do I need to add to give me the (Vector?) of the corresponding date that will be above in Row 1? Read More
Tracking changes Options in Excel
I would like to know how can I block the Tracking changes option for nobody can deactivate it? because I activated it, but I don’t want anyone to be able to deactivate it. Is it possible?
I would like to know how can I block the Tracking changes option for nobody can deactivate it? because I activated it, but I don’t want anyone to be able to deactivate it. Is it possible? Read More
Finding the best combination of values using solver
Question: How do I use Excel built in solver to get the correct combination?
Objective: To purchase parts at lowest cost.
Constraints: Divvy up among 3 suppliers/out of 5 suppliers ; a total of 19 parts in some combination.
A solution could look like this:
Sup1–>P1,P4,P7,P19,P16Sup2–>P2,P5,P8,P15,P13,P17,P18Sup3–>P3,P6,P9,P10,P11,P12,P14
Input data as follows:
SupplierPart numberCostSup1P1$10.00Sup1P2$9.00Sup1P3$5.00Sup1P4$6.00Sup1P5$6.00Sup1P6$15.00Sup1P7$11.00Sup1P8$8.00Sup1P9$71.00Sup1P10$11.00Sup1P11$12.00Sup1P12$21.00Sup1P13$22.00Sup1P14$6.00Sup1P15$31.00Sup1P16$6.00Sup1P17$4.00Sup1P18$17.00Sup1P19$8.00Sup2P1$6.00Sup2P2$8.00Sup2P3$11.00Sup2P4$4.00Sup2P5$8.00Sup2P6$34.00Sup2P7$12.00Sup2P8$8.00Sup2P9$55.00Sup2P10$77.00Sup2P11$13.00Sup2P12$25.00Sup2P13$23.00Sup2P14$2.00Sup2P15$34.00Sup2P16$12.00Sup2P17$3.00Sup2P18$13.00Sup2P19$7.00Sup3P1$9.00Sup3P2$11.00Sup3P3$4.00Sup3P4$3.00Sup3P5$2.00Sup3P6$23.00Sup3P7$13.00Sup3P8$8.00Sup3P9$45.00Sup3P10$29.00Sup3P11$14.00Sup3P12$23.00Sup3P13$24.00Sup3P14$3.00Sup3P15$49.00Sup3P16$16.00Sup3P17$1.00Sup3P18$12.00Sup3P19$6.00Sup4P1$8.00Sup4P2$13.00Sup4P3$2.00Sup4P4$7.00Sup4P5$8.00Sup4P6$55.00Sup4P7$14.00Sup4P8$8.00Sup4P9$48.00Sup4P10$34.00Sup4P11$15.00Sup4P12$22.00Sup4P13$25.00Sup4P14$8.00Sup4P15$32.00Sup4P16$13.00Sup4P17$2.00Sup4P18$11.00Sup4P19$5.00Sup5P1$9.00Sup5P2$12.00Sup5P3$1.00Sup5P4$16.00Sup5P5$1.00Sup5P6$41.00Sup5P7$15.00Sup5P8$8.00Sup5P9$26.00Sup5P10$67.00Sup5P11$16.00Sup5P12$17.00Sup5P13$26.00Sup5P14$7.00Sup5P15$22.00Sup5P16$12.00Sup5P17$5.00Sup5P18$19.00Sup5P19$4.00
Question: How do I use Excel built in solver to get the correct combination?Objective: To purchase parts at lowest cost.Constraints: Divvy up among 3 suppliers/out of 5 suppliers ; a total of 19 parts in some combination.A solution could look like this:Sup1–>P1,P4,P7,P19,P16Sup2–>P2,P5,P8,P15,P13,P17,P18Sup3–>P3,P6,P9,P10,P11,P12,P14 Input data as follows:SupplierPart numberCostSup1P1$10.00Sup1P2$9.00Sup1P3$5.00Sup1P4$6.00Sup1P5$6.00Sup1P6$15.00Sup1P7$11.00Sup1P8$8.00Sup1P9$71.00Sup1P10$11.00Sup1P11$12.00Sup1P12$21.00Sup1P13$22.00Sup1P14$6.00Sup1P15$31.00Sup1P16$6.00Sup1P17$4.00Sup1P18$17.00Sup1P19$8.00Sup2P1$6.00Sup2P2$8.00Sup2P3$11.00Sup2P4$4.00Sup2P5$8.00Sup2P6$34.00Sup2P7$12.00Sup2P8$8.00Sup2P9$55.00Sup2P10$77.00Sup2P11$13.00Sup2P12$25.00Sup2P13$23.00Sup2P14$2.00Sup2P15$34.00Sup2P16$12.00Sup2P17$3.00Sup2P18$13.00Sup2P19$7.00Sup3P1$9.00Sup3P2$11.00Sup3P3$4.00Sup3P4$3.00Sup3P5$2.00Sup3P6$23.00Sup3P7$13.00Sup3P8$8.00Sup3P9$45.00Sup3P10$29.00Sup3P11$14.00Sup3P12$23.00Sup3P13$24.00Sup3P14$3.00Sup3P15$49.00Sup3P16$16.00Sup3P17$1.00Sup3P18$12.00Sup3P19$6.00Sup4P1$8.00Sup4P2$13.00Sup4P3$2.00Sup4P4$7.00Sup4P5$8.00Sup4P6$55.00Sup4P7$14.00Sup4P8$8.00Sup4P9$48.00Sup4P10$34.00Sup4P11$15.00Sup4P12$22.00Sup4P13$25.00Sup4P14$8.00Sup4P15$32.00Sup4P16$13.00Sup4P17$2.00Sup4P18$11.00Sup4P19$5.00Sup5P1$9.00Sup5P2$12.00Sup5P3$1.00Sup5P4$16.00Sup5P5$1.00Sup5P6$41.00Sup5P7$15.00Sup5P8$8.00Sup5P9$26.00Sup5P10$67.00Sup5P11$16.00Sup5P12$17.00Sup5P13$26.00Sup5P14$7.00Sup5P15$22.00Sup5P16$12.00Sup5P17$5.00Sup5P18$19.00Sup5P19$4.00 Read More
NL to SQL Architecture Alternatives
Table of Contents
Architecture 1: Few Shot SQL Generation. 3
Architecture 2: Few Shot SQL Generation with RAG.. 4
Architecture 3: Fine Tuning SQL Generation with GPT 3.5T. 5
Introduction
The recent advances in LLMs have created opportunities for businesses to gain leverage and insight into their unstructured text data. A classic example of this has been using the popular Retrieval Augmented Generation (RAG) pattern in which company documents are used as context to answer user questions. These implementations are reducing the time spent reading through lengthy documentation by offloading this task to the LLMs.
But what about using LLMs to extract insights from structured relational data such as SQL databases? Many enterprises possess enormous quantities of SQL data that currently require technical users to query or build business dashboards to make this data accessible to end users. However, it is costly to build these dashboards, and they are limited in their scope.
With LLMs, there is a new potential to enable non-technical users to extract information from SQL databases by using an LLM to generate SQL queries dynamically to answer their Natural Language Questions. This use case has potential to enhance understanding of business data and reduce time and money spent on extracting data from SQL databases.
Overview
This guide will show multiple approaches to building a chat application that leverages SQL data as context. We will start with the simplest architecture and work progressively with more sophisticated methods to address limitations.
Note: Truncated prompts will be provided in the examples below, but more complete and comprehensive prompts will be included in the final section.
Architecture 1: Few Shot SQL Generation
In this first implementation of an NL to SQL chat app, the LLM builds a SQL query based on the user’s question and a fixed SQL schema that is included in the system prompt.
Figure 1 – Few Shot SQL Generation
User asks a question: for example, “What was the product line with the highest revenue in 2022?”
App makes a request to the LLM: prompt might look like the following,
“You are an expert at providing facts from a SQL Database. Given the user question, produce a PostgresSQL query which, when executed provides the correct answer to the question. Only use the tables and schema given below to answer the question. SQL Schema: {Schema}
User Question: {Question}”
LLM responds with a SQL query: response might look like, “SELECT p.product_line, SUM(s.revenue) AS total_revenue … “. This string gets stored as a variable, to be used in the next step.
SQL Query string is executed, result is saved: the previous string that was generated is sent to the SQL query to be executed. (Note: this poses a potential risk of SQL injection, ensure you are limiting permissions, and see final section regarding Security and Safety). The result of the SQL query will be saved as a text string (e.g. “Home Appliances, $12,500,000”)
Final LLM call performed: Another request is made to the LLM, this time with the user’s original question, and the result of SQL Query. The prompt might look like:
“Given the original question, the corresponding PostgreSQL query, and the execution results, produce a truthful and accurate natural language response to the original question.
Question: {question}”
Final Response: The LLM responds with the answer to the user’s question.
Benefits / Limitations: This architecture is quite simple and benefits in terms of latency by having only two LLM calls. However, this setup is limited because the LLM does not have any examples of valid SQL queries to reference.
Architecture 2: Few Shot SQL Generation with RAG
This implementation is similar to the previous architecture, but rather than having a fixed set of few-shot examples, we create a data preparation step in which we embed examples into a vector database, and then retrieve the examples that are most relevant to the user’s question.
Figure 2 – Few Shot SQL Generation with RAG
Below, we discuss the new steps that differentiate Architecture 2 from Architecture 1:
Offline Data Prep: In order to best leverage the few shot examples framework, a set of NL SQL Questions and corresponding SQL Queries (50-100 samples) should be collected and stored in JSON or CSV format. Then, each of these pairs should be embedded in a vector database such as Azure AI Search (Search over JSON blobs – Azure AI Search | Microsoft Learn).
e.g. {
“question”: “Which product line had the highest profit margin in 2020?”,
“sql_query”: “SELECT value FROM table_1…”,
}
Embed user’s question: Make a request to a text embeddings model, such as text-ada-002, to convert the user’s question to a vector.
Retrieve few shot examples: Then retrieve the top 5 examples with the closest similarity (using Azure AI Search cosine similarity algorithm) and include them in the SQL Generation request to GPT-4.
Benefits / Limitations: This architecture is quite simple and benefits in terms of latency by having only two LLM calls. However, this setup is limited because the LLM does not have any examples of valid SQL queries to reference.
Architecture 3: Fine Tuning SQL Generation with GPT 3.5T
One of the central challenges in building an NL to SQL based chat application is handling latency. One method to reduce latency is by opting to fine tune a smaller model, such as GPT 3.5T for the SQL generation step.
Figure 3 – Fine Tuning SQL Generation with GPT 3.5T
This architecture follows roughly the same pattern as architecture 1, but with a preparatory fine tuning step.
Offline Fine Tuning – Collect 50-100 NL questions and corresponding SQL Queries. Use Azure OpenAI’s fine tuning capability to fine tune your GPT 3.5 deployment (Customize a model with Azure OpenAI Service – Azure OpenAI | Microsoft Learn)
Steps 2-7 – Same as architecture 1, but directed toward the fine tuned instance of GPT 3.5T.
Note: If sufficient NL / SQL samples are available, fine tuning could be used with RAG to include few shot examples in addition to the fine tuning. Customers should experiment with the exact number of samples to include to get best results and ensure to test with unseen samples.
Evaluation
In order to evaluate an NL to SQL project you will need to evaluate the accuracy of the generated SQL query, the final response, and latency for each step. Below, we outline some of the key metrics to capture during the evaluation stage.
Manual Metrics:
The simplest way of evaluating the application is to have a human evaluator look at the final response and determine if it answer’s the user’s original question correctly. An example of this is End to End Accuracy.
End to End Accuracy – does the final response correctly answer the user’s question?
How to implement: Output all question and answers to a spreadsheet, and have a human validator enter 1 or 0 in each row to indicate whether the answer was correct or incorrect. Correct Answers / Total Answers = Accuracy.
The limitations with this method is that it requires a person to look at each response which can be a lengthy process. Additionally, if the answer is marked incorrect, it may not be clear which part of the process failed. For this reason, we also introduce a set of automated metrics to evaluate each step of the process.
Automated Metrics:
Validity of SQL Query – Is the generated SQL query valid?
How to Implement: This can be scored using a python library like sqlvalidator, or by implementing logic into the code to log each instance in which the SQL query fails.
SQL Critic Score – Does the SQL Query and result correctly translate the original question?
How to implement: Use the LLM to evaluate itself by sending a prompt with instructions to validate the accuracy of the SQL Query and include the original question, SQL query, and result in the request (see Appendix B Example 5)
End to End Relevance – Is the generated NL response relevant to the user’s initial question?
How to implement: Send a prompt to the LLM with instructions to compare the NL response to the user’s initial question and evaluate its relevance (see Appendix B Example 6)
End to End Groundedness – Does the generated NL response logically follow from the context provided to it (i.e. the SQL Query)?
How to implement: Send a prompt to the LLM with instructions to compare the NL response to the SQL query and results and determine if the response logically follows (see Appendix B Example 7)
Figure 4 – NL to SQL Evaluation Metrics
Safety / Security
LLMs introduce new risks to a web application. In this case, the LLM is generating SQL code that will be executed. This introduces a attack surface, and the appropriate boundaries should be introduced prior to releasing to public.
NL to SQL systems require various safety precautions to ensure accurate, secure, and unbiased results. Here are some key aspects to consider.
SQL Injection
Handling ambiguity and vagueness
Mitigating bias
Unintentionally writing to database
Granular permissions and proper authorization – refine access based on roles and groups.
Ensure access to known users.
Implement parameterized queries that separate data from the query itself.
Ensure read-only and only execute permissions.
Implement strict input validation and sanitization procedures with whitelisting, regular expressions, data type checks, escaping.
Implement logging and monitoring.
Explainability and transparency
Additional resources
How to use Semantic Kernel to execute natural language to SQL queries
Dataherald: An open-source project to query your structured data in natural language.
https://techcommunity.microsoft.com/t5/security-compliance-and-identity/best-practices-to-architect-secure-generative-ai-applications/ba-p/4116661
https://learn.microsoft.com/en-us/sql/relational-databases/security/sql-server-security-best-practices?view=sql-server-ver16
Appendix A: Prompt Examples
Example 1: NL to SQL System Prompt
“You are an expert in providing facts from an SQL database. Given the user question, produce a PostgreSQL query which, when executed, provides the correct answer to the question. Only use the tables and schema given below to answer the questions. Learn query patterns from the similar question-answer pairs provided as examples below. Directly start your response with the executable query. Do not start with ”’sql. Do not make up new table and column names. Only use the ones available in the schema below.
SQL Schema:
{schema}
Examples:
{examples}”
Example 2: SQL to NL System Prompt
“Given the original question, the corresponding PostgreSQL query, and the execution results, produce a truthful and accurate natural language response to the original question, that is only based on the execution results. Your answer should be detailed and accurate, for numerical responses make sure you infer the appropriate units. If the question is complex, you can provide a multi-sentence response. Make sure that you provide a response that is easy to understand.”
Example 3: NL to SQL User Prompt
“Your response should be an executable query, do not start with ”’sql Provide detailed reasoning behind the PostgreSQL query, please provide it as a comment using — at the beginning of the line. Formatting example:
SELECT some_name, val FROM some_table WHERE a = number AND b = another_number — This query selects some_name and val from some_table where a = number and b = another_number. Queries should return a minimal amount of rows, and should not return more rows than necessary.
User question: {query}
PostgreSQL query:”
Example 4: SQL to NL User Prompt
“Question: {question} SQL Query: {sql_query} SQL Query Results: {sql_query_results}”
Appendix B: Evaluation Prompt Examples
Example 5: SQL Critic Score Prompt
“Your job is to evaluate the nl-to-sql engine of the USA-Facts app.
The app goes through several steps:
The user question is sent to a Natural Language to SQL converter along with information about the database schema.
The generated SQL query is executed and the output is logged.
Your job is to determine if the generated SQL correctly translates the original question.
User question: {question}
Generated PostgreSQL: {generated_query}
Executed PostgreSQL result: {query_execution_result}
Given the information above, give a numeric score of 0 to the Generated SQL if it doesn’t correctly handle the User question, and give a numeric score of 1 if the Generated SQL query correctly handles the User question.
If the SQL query yields an error, give a numeric score of 0.
If the SQL query doesn’t error out, but doesn’t correctly handle the User question, give a numeric score of 0.
If the SQL execution results are empty, most likely it didn’t handle the User’s question. Think hard if you want to give it a 1 or a 0.
Score: “
Example 6: End to End Relevance
“You are an AI assistant. You will be given the definition of an evaluation metric for assessing the quality of an answer in a government stats question-answering task. Your job is to compute an accurate evaluation score using the provided evaluation metric.
You will be presented with a CONTEXT and an ANSWER about that CONTEXT. You need to decide whether the ANSWER is entailed by the CONTEXT by choosing one of the following rating:
10: The ANSWER follows logically from the information contained in the CONTEXT.
0: The ANSWER is logically false from the information contained in the CONTEXT.
an integer score between 0 and 10 and if such integer score does not exists, use 0: It is not possible to determine whether the ANSWER is true or false without further information.
Read the passage of information thoroughly and select the correct answer from the three answer labels. Read the CONTEXT thoroughly to ensure you know what the CONTEXT entails.
Note the ANSWER is generated by a computer system, it can contain certain symbols, which should not be a negative factor in the evaluation.
Independent Examples:
Example Task #1 Input:
“CONTEXT”:
Query: {Sample SQL Query}
Query results: {Sample SQL Query Result}
“ANSWER”: “{Valid Answer}”
Example Task #1 Output:
10
Example Task #2 Input:
“CONTEXT”:
Query: “SELECT area_name, MAX(value) – MIN(value) as increase_in_unemployment_rate
FROM bls_local_area_unemployment_statistics
WHERE year >= 2010 AND measure = ‘unemployment rate’ AND area_type = ‘cities and towns above 25,000 population’
GROUP BY area_name
ORDER BY increase_in_unemployment_rate DESC
LIMIT 5″;
Query results: San Luis City, AZ; Atlantic City city, NJ; Flint city, MI; Mount Morris township, MI; and Detroit city, MI
“ANSWER”: “The 5 cities where the unemployment rate has increased the most since 2010 are San Luis city, AZ; Atlantic City city, NJ; Flint city, MI; Mount Morris township, MI; and Detroit city, MI.”
Example Task #2 Output:
10
Example Task #3 Input:
“CONTEXT”:
Query: SELECT SUM(value) AS total_job_openings
FROM bls_job_turnover
WHERE state = ‘Washington’ AND year = 2020
LIMIT 10;
Query results: 15773441, 18150000
“ANSWER”: “The GDP of Washington state in 2020 was approximately $9,773,441,000,000.0 and the number of job openings was approximately 18,150,000.”
Example Task #3 Output:
0
“””
Example 7: End to End groundedness
“Is the answer relevant and related to the question?
If the answer is yes, output 1.
Respond 0 otherwise.
Question: {question}
Answer: {answer}
Score:”
Microsoft Tech Community – Latest Blogs –Read More
How can I swap states in a simulink “for each” system?
I am trying to simulate multiple state-space models running in parrallel using a "for each" subsystem. At a given time or when a condition is met, I would like to "swap" the states during this simulation, e.g. reset the integrators so that the states from system 1 are assigned as the initial conditions for system 2 and the states of system 2 are assigned as the initial conditions to system 1. I can get this to happen if I trigger the reset based on time, i.e. with a step function. However, if I try to trigger the reset based on the states themselves there is a gap and the destination states get set to where the origin states were one timestep ago. Is there a way that I can fix this? See attachment.I am trying to simulate multiple state-space models running in parrallel using a "for each" subsystem. At a given time or when a condition is met, I would like to "swap" the states during this simulation, e.g. reset the integrators so that the states from system 1 are assigned as the initial conditions for system 2 and the states of system 2 are assigned as the initial conditions to system 1. I can get this to happen if I trigger the reset based on time, i.e. with a step function. However, if I try to trigger the reset based on the states themselves there is a gap and the destination states get set to where the origin states were one timestep ago. Is there a way that I can fix this? See attachment. I am trying to simulate multiple state-space models running in parrallel using a "for each" subsystem. At a given time or when a condition is met, I would like to "swap" the states during this simulation, e.g. reset the integrators so that the states from system 1 are assigned as the initial conditions for system 2 and the states of system 2 are assigned as the initial conditions to system 1. I can get this to happen if I trigger the reset based on time, i.e. with a step function. However, if I try to trigger the reset based on the states themselves there is a gap and the destination states get set to where the origin states were one timestep ago. Is there a way that I can fix this? See attachment. simulink, for each, solver, reset, integrator MATLAB Answers — New Questions
Locate and syncronize timestamp
I have a raspberry without a real time clock which is creating minutelly files. To calculate the estimated time i have as indication the time that i pluged it off. I created a script like this:
last_record=’08_05_10_57′; % Correct time and date
last_record_raspberry=’13_03_14_33′; % Not correct time and date
tmp_last_record = str2double(split(last_record(1:length(last_record)),’_’));
tmp_last_record_raspberry = str2double(split(last_record_raspberry(1:length(last_record_raspberry)),’_’));
month = tmp_last_record_raspberry(2)-tmp_last_record(2);
day = tmp_last_record_raspberry(1)-tmp_last_record(1);
hour = tmp_last_record_raspberry(3)-tmp_last_record(3);
minutes = tmp_last_record_raspberry(4)-tmp_last_record(4);
earthquake_record=’07_05_19_45′; %I want to fix/locate this time with the corresponding file
earthquake_record= str2double(split(earthquake_record(1:length(earthquake_record)),’_’));
earthquake_record_raspberry=earthquake_record;
earthquake_record_raspberry_day=earthquake_record_raspberry(1)+day;
earthquake_record_raspberry_month=earthquake_record_raspberry(2)+month;
earthquake_record_raspberry_hour=earthquake_record_raspberry(1)+hour;
earthquake_record_raspberry_minutes=earthquake_record_raspberry(2)+minutes;
earthquake_record_raspberry=[earthquake_record_raspberry_day;earthquake_record_raspberry_month;earthquake_record_raspberry_hour;earthquake_record_raspberry_minutes]
which corrects/locates the day and month of the raspberry with the real, but for minutes and seconds i have some problems e.g. 11:-19 instead of 10:41..
Can anyone help me?I have a raspberry without a real time clock which is creating minutelly files. To calculate the estimated time i have as indication the time that i pluged it off. I created a script like this:
last_record=’08_05_10_57′; % Correct time and date
last_record_raspberry=’13_03_14_33′; % Not correct time and date
tmp_last_record = str2double(split(last_record(1:length(last_record)),’_’));
tmp_last_record_raspberry = str2double(split(last_record_raspberry(1:length(last_record_raspberry)),’_’));
month = tmp_last_record_raspberry(2)-tmp_last_record(2);
day = tmp_last_record_raspberry(1)-tmp_last_record(1);
hour = tmp_last_record_raspberry(3)-tmp_last_record(3);
minutes = tmp_last_record_raspberry(4)-tmp_last_record(4);
earthquake_record=’07_05_19_45′; %I want to fix/locate this time with the corresponding file
earthquake_record= str2double(split(earthquake_record(1:length(earthquake_record)),’_’));
earthquake_record_raspberry=earthquake_record;
earthquake_record_raspberry_day=earthquake_record_raspberry(1)+day;
earthquake_record_raspberry_month=earthquake_record_raspberry(2)+month;
earthquake_record_raspberry_hour=earthquake_record_raspberry(1)+hour;
earthquake_record_raspberry_minutes=earthquake_record_raspberry(2)+minutes;
earthquake_record_raspberry=[earthquake_record_raspberry_day;earthquake_record_raspberry_month;earthquake_record_raspberry_hour;earthquake_record_raspberry_minutes]
which corrects/locates the day and month of the raspberry with the real, but for minutes and seconds i have some problems e.g. 11:-19 instead of 10:41..
Can anyone help me? I have a raspberry without a real time clock which is creating minutelly files. To calculate the estimated time i have as indication the time that i pluged it off. I created a script like this:
last_record=’08_05_10_57′; % Correct time and date
last_record_raspberry=’13_03_14_33′; % Not correct time and date
tmp_last_record = str2double(split(last_record(1:length(last_record)),’_’));
tmp_last_record_raspberry = str2double(split(last_record_raspberry(1:length(last_record_raspberry)),’_’));
month = tmp_last_record_raspberry(2)-tmp_last_record(2);
day = tmp_last_record_raspberry(1)-tmp_last_record(1);
hour = tmp_last_record_raspberry(3)-tmp_last_record(3);
minutes = tmp_last_record_raspberry(4)-tmp_last_record(4);
earthquake_record=’07_05_19_45′; %I want to fix/locate this time with the corresponding file
earthquake_record= str2double(split(earthquake_record(1:length(earthquake_record)),’_’));
earthquake_record_raspberry=earthquake_record;
earthquake_record_raspberry_day=earthquake_record_raspberry(1)+day;
earthquake_record_raspberry_month=earthquake_record_raspberry(2)+month;
earthquake_record_raspberry_hour=earthquake_record_raspberry(1)+hour;
earthquake_record_raspberry_minutes=earthquake_record_raspberry(2)+minutes;
earthquake_record_raspberry=[earthquake_record_raspberry_day;earthquake_record_raspberry_month;earthquake_record_raspberry_hour;earthquake_record_raspberry_minutes]
which corrects/locates the day and month of the raspberry with the real, but for minutes and seconds i have some problems e.g. 11:-19 instead of 10:41..
Can anyone help me? timestamp, syncronize MATLAB Answers — New Questions
PX4 HITL simulation timing synch issue
I am trying to run PX4 HITL simulation with my custom drone dynamics using simscape multi body simulation. The issue is that the simscape simulation is quite slow and the controller I deployed on Pixhawk 6x is running on a normal speed (in HITL mode). Although it should run in hand shaking mode with the simulation. Meaning it should not run the controller loop unless it has received new data from the simscape simulation. This is causing a lot of trouble particularly when I try to read sensors data in the px4 controller, because it is noisy and very rough estimation. Can you please help me synch both simulations.
I am following this example: PX4 Stock Autopilot in HITL Simulation with UAV Dynamics modeled in Simulink – MATLAB & Simulink (mathworks.com)
The only difference is that instead of using the provided UAV dynamics simualtion I am running my own simulation using multbody simscape simuation for my done. The deployed controller is same as provided.I am trying to run PX4 HITL simulation with my custom drone dynamics using simscape multi body simulation. The issue is that the simscape simulation is quite slow and the controller I deployed on Pixhawk 6x is running on a normal speed (in HITL mode). Although it should run in hand shaking mode with the simulation. Meaning it should not run the controller loop unless it has received new data from the simscape simulation. This is causing a lot of trouble particularly when I try to read sensors data in the px4 controller, because it is noisy and very rough estimation. Can you please help me synch both simulations.
I am following this example: PX4 Stock Autopilot in HITL Simulation with UAV Dynamics modeled in Simulink – MATLAB & Simulink (mathworks.com)
The only difference is that instead of using the provided UAV dynamics simualtion I am running my own simulation using multbody simscape simuation for my done. The deployed controller is same as provided. I am trying to run PX4 HITL simulation with my custom drone dynamics using simscape multi body simulation. The issue is that the simscape simulation is quite slow and the controller I deployed on Pixhawk 6x is running on a normal speed (in HITL mode). Although it should run in hand shaking mode with the simulation. Meaning it should not run the controller loop unless it has received new data from the simscape simulation. This is causing a lot of trouble particularly when I try to read sensors data in the px4 controller, because it is noisy and very rough estimation. Can you please help me synch both simulations.
I am following this example: PX4 Stock Autopilot in HITL Simulation with UAV Dynamics modeled in Simulink – MATLAB & Simulink (mathworks.com)
The only difference is that instead of using the provided UAV dynamics simualtion I am running my own simulation using multbody simscape simuation for my done. The deployed controller is same as provided. px4, hitl, pixhawk, simscape, multibody MATLAB Answers — New Questions
can deployed application run the ‘run’ function?
we’d like to build a matlab exam system. In this system, we run the script file and compare the output to score the script. The gui we run in matlab can realize this, but when we doploy this gui to a exe, we can not run the script file.Plz help,thankswe’d like to build a matlab exam system. In this system, we run the script file and compare the output to score the script. The gui we run in matlab can realize this, but when we doploy this gui to a exe, we can not run the script file.Plz help,thanks we’d like to build a matlab exam system. In this system, we run the script file and compare the output to score the script. The gui we run in matlab can realize this, but when we doploy this gui to a exe, we can not run the script file.Plz help,thanks run deploy application MATLAB Answers — New Questions
Legend Color and plot color mismatch
I have 8 sets of data I would like to plot and want every 2 to have the same color in the plot and in the legend. I would also like every 2 plots to have the same color for example I am trying to have plots 1 & 2 to have the same color plots 3 & 4 to have another color etc. For some reason when I plot the data the color on the plots themselves is fine but the legend color is wrong. The legend for plot A1 and A2 have default colors that I never set and the rest of legend colors are skewed by 1. For example I get B1 & B2 to be green instrad of yellow, I get C1 % C2 to be yellow instead of magenta etc. I have tried 2 methods for this one using the ‘legend_bonus’ and setting the legend that way and another method that is shown but commented out is when using the set for the plot make the displayname as shown either wayt i get the same result. Why is this happening and how to I fix this.
Thank you
legend_bonus = {‘A1 ‘, ‘A2 ‘,’B1 ‘, ‘B2 ‘,’C1 ‘, ‘C2 ‘,’D1 ‘, ‘D2 ‘}
%
h1 = plot(zplot_Ax1, zplot_Ay1,’o-‘,’Color’,’green’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘A1 ‘);
hold on
h1 = plot(zplot_Ax2, zplot_Ay2,’o-‘,’Color’,’green’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘A2 ‘);
hold on
%
h1 = plot(zplot_Bx1, zplot_By1,’o-‘,’Color’,’yellow’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘B1 ‘);
hold on
h1 = plot(zplot_Bx2, zplot_By2,’o-‘,’Color’,’yellow’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘B2 ‘);
hold on
%
h1 = plot(zplot_Cx1, zplot_Cy1,’o-‘,’Color’,’magenta’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘C1 ‘);
hold on
h1 = plot(zplot_Cx2, zplot_Cy2,’o-‘,’Color’,’magenta’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘C2 ‘);
hold on
%
h1 = plot(zplot_Dx1, zplot_Dy1,’o-‘,’Color’,’red’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘D1 ‘);
hold on
h1 = plot(zplot_Dx2, zplot_Dy2,’o-‘,’Color’,’red’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘D2 ‘);
hold on
title(‘title’);
xlabel(‘X axis’);
ylabel(‘Y axis’);
ax = gca;
ax.FontSize = 20;
legend(legend_bonus);
legend(‘Location’, ‘best’);I have 8 sets of data I would like to plot and want every 2 to have the same color in the plot and in the legend. I would also like every 2 plots to have the same color for example I am trying to have plots 1 & 2 to have the same color plots 3 & 4 to have another color etc. For some reason when I plot the data the color on the plots themselves is fine but the legend color is wrong. The legend for plot A1 and A2 have default colors that I never set and the rest of legend colors are skewed by 1. For example I get B1 & B2 to be green instrad of yellow, I get C1 % C2 to be yellow instead of magenta etc. I have tried 2 methods for this one using the ‘legend_bonus’ and setting the legend that way and another method that is shown but commented out is when using the set for the plot make the displayname as shown either wayt i get the same result. Why is this happening and how to I fix this.
Thank you
legend_bonus = {‘A1 ‘, ‘A2 ‘,’B1 ‘, ‘B2 ‘,’C1 ‘, ‘C2 ‘,’D1 ‘, ‘D2 ‘}
%
h1 = plot(zplot_Ax1, zplot_Ay1,’o-‘,’Color’,’green’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘A1 ‘);
hold on
h1 = plot(zplot_Ax2, zplot_Ay2,’o-‘,’Color’,’green’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘A2 ‘);
hold on
%
h1 = plot(zplot_Bx1, zplot_By1,’o-‘,’Color’,’yellow’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘B1 ‘);
hold on
h1 = plot(zplot_Bx2, zplot_By2,’o-‘,’Color’,’yellow’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘B2 ‘);
hold on
%
h1 = plot(zplot_Cx1, zplot_Cy1,’o-‘,’Color’,’magenta’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘C1 ‘);
hold on
h1 = plot(zplot_Cx2, zplot_Cy2,’o-‘,’Color’,’magenta’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘C2 ‘);
hold on
%
h1 = plot(zplot_Dx1, zplot_Dy1,’o-‘,’Color’,’red’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘D1 ‘);
hold on
h1 = plot(zplot_Dx2, zplot_Dy2,’o-‘,’Color’,’red’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘D2 ‘);
hold on
title(‘title’);
xlabel(‘X axis’);
ylabel(‘Y axis’);
ax = gca;
ax.FontSize = 20;
legend(legend_bonus);
legend(‘Location’, ‘best’); I have 8 sets of data I would like to plot and want every 2 to have the same color in the plot and in the legend. I would also like every 2 plots to have the same color for example I am trying to have plots 1 & 2 to have the same color plots 3 & 4 to have another color etc. For some reason when I plot the data the color on the plots themselves is fine but the legend color is wrong. The legend for plot A1 and A2 have default colors that I never set and the rest of legend colors are skewed by 1. For example I get B1 & B2 to be green instrad of yellow, I get C1 % C2 to be yellow instead of magenta etc. I have tried 2 methods for this one using the ‘legend_bonus’ and setting the legend that way and another method that is shown but commented out is when using the set for the plot make the displayname as shown either wayt i get the same result. Why is this happening and how to I fix this.
Thank you
legend_bonus = {‘A1 ‘, ‘A2 ‘,’B1 ‘, ‘B2 ‘,’C1 ‘, ‘C2 ‘,’D1 ‘, ‘D2 ‘}
%
h1 = plot(zplot_Ax1, zplot_Ay1,’o-‘,’Color’,’green’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘A1 ‘);
hold on
h1 = plot(zplot_Ax2, zplot_Ay2,’o-‘,’Color’,’green’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘A2 ‘);
hold on
%
h1 = plot(zplot_Bx1, zplot_By1,’o-‘,’Color’,’yellow’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘B1 ‘);
hold on
h1 = plot(zplot_Bx2, zplot_By2,’o-‘,’Color’,’yellow’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘B2 ‘);
hold on
%
h1 = plot(zplot_Cx1, zplot_Cy1,’o-‘,’Color’,’magenta’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘C1 ‘);
hold on
h1 = plot(zplot_Cx2, zplot_Cy2,’o-‘,’Color’,’magenta’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘C2 ‘);
hold on
%
h1 = plot(zplot_Dx1, zplot_Dy1,’o-‘,’Color’,’red’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘D1 ‘);
hold on
h1 = plot(zplot_Dx2, zplot_Dy2,’o-‘,’Color’,’red’);
set( h1, ‘LineWidth’, 4)%, ‘DisplayName’, ‘D2 ‘);
hold on
title(‘title’);
xlabel(‘X axis’);
ylabel(‘Y axis’);
ax = gca;
ax.FontSize = 20;
legend(legend_bonus);
legend(‘Location’, ‘best’); legend color MATLAB Answers — New Questions
Multiplying values
Evening all,
I want to figure out a function to use to calculate a value using a value given and multiply that dependant on the ‘zone’ so zone 1 needs to be multiplied by 14.8 zone 2 by 14.8 zone 3 by 19.2 etc etc. I have tried to use product and if functions but it says I’m using too many variables. Any help appreciated!
Evening all, I want to figure out a function to use to calculate a value using a value given and multiply that dependant on the ‘zone’ so zone 1 needs to be multiplied by 14.8 zone 2 by 14.8 zone 3 by 19.2 etc etc. I have tried to use product and if functions but it says I’m using too many variables. Any help appreciated! Read More
Number fields rounding off in Cosmos Db from Azure Portal
Hi Azure Cosmos Db Team,
We are seeing an issue from Portal in Cosmos Db. When we enter a numeric field in cosmos db from portal for eg
Hi Azure Cosmos Db Team, We are seeing an issue from Portal in Cosmos Db. When we enter a numeric field in cosmos db from portal for eg “digittest”: 123456789123456789 it is rounding of to “digittest”: 123456789123456780 Saw this behavior after 16 characters. Thought the issue is with portal ( related to java script).So tried using the sdk. When using JAVA SDK we saw we were able to retrieve the same value we created with sdk. However when we update another attribute in document in the portal and then retrieve the same document from sdk we are seeing the portal saved value for the number even though we didn’t update the LONG number field . Can you please confirm for LONG fields and INT fields we can save and see the same way in portal and from sdk irrespective of length? This can be very misleading. With Regards,Nitin Rahim Read More
Server 2025 Hyper-V deduplication corruption is still there
I can still reproduce this with 100% confidence on two VERY different machines and hosts with my “easy to reproduce” package:
– AMD Ryzen 5950 with Windows 11 23H2 (self built)
– Dual Xeon 6226R with Server 2019 (HP Proliant DL 380).
As I posted quite often now: If you use deduplication for Hyper-V, i.e. where the virtual machines reside, you will get data corruptions, your virtual machines will crash, and you may even get a filesystem corruption on the drive hosting the machines.
For more details see here: 26063 deduplication data corruption is still there. – Microsoft Community Hub
As for now: If you used deduplication in Hyper-V scenario, like you used it with Server 2012 up to server 2019, don’t bother with Server 2022 and Server 2025 until that bug is fixed.
My offer still stands for a live demonstration how I reproduce and talk about the differences how Microsoft tried to reproduce this and how I reproduce this.
This is the result for “right about now” albeit without “funk soul brother”…
I can still reproduce this with 100% confidence on two VERY different machines and hosts with my “easy to reproduce” package: – AMD Ryzen 5950 with Windows 11 23H2 (self built) – Dual Xeon 6226R with Server 2019 (HP Proliant DL 380).As I posted quite often now: If you use deduplication for Hyper-V, i.e. where the virtual machines reside, you will get data corruptions, your virtual machines will crash, and you may even get a filesystem corruption on the drive hosting the machines.For more details see here: 26063 deduplication data corruption is still there. – Microsoft Community Hub As for now: If you used deduplication in Hyper-V scenario, like you used it with Server 2012 up to server 2019, don’t bother with Server 2022 and Server 2025 until that bug is fixed. My offer still stands for a live demonstration how I reproduce and talk about the differences how Microsoft tried to reproduce this and how I reproduce this. This is the result for “right about now” albeit without “funk soul brother”… Read More
GitHub integration with Loop
Hi Microsoft 365 Insiders!
Your voice drives our innovation! We’re thrilled to unveil the GitHub integration with Microsoft Loop! This latest integration empowers teams to manage their development projects with unprecedented ease.
Special thanks to Dimple, a Product Manager, and the rest of the Microsoft Loop team for bringing this vision to life!
Explore our blog to see how this integration can help your team’s efficiency and foster a more connected workspace: GitHub integration with Loop
Thanks!
Perry Sjogren
Microsoft 365 Insider Social Media Manager
Become a Microsoft 365 Insider and gain exclusive access to new features and help shape the future of Microsoft 365. Join Now: Windows | Mac | iOS | Android
Hi Microsoft 365 Insiders!
Your voice drives our innovation! We’re thrilled to unveil the GitHub integration with Microsoft Loop! This latest integration empowers teams to manage their development projects with unprecedented ease.
Special thanks to Dimple, a Product Manager, and the rest of the Microsoft Loop team for bringing this vision to life!
Explore our blog to see how this integration can help your team’s efficiency and foster a more connected workspace: GitHub integration with Loop
Thanks!
Perry Sjogren
Microsoft 365 Insider Social Media Manager
Become a Microsoft 365 Insider and gain exclusive access to new features and help shape the future of Microsoft 365. Join Now: Windows | Mac | iOS | Android Read More
Stream video existence status – recorder leaves company
I have two questions:
1. If a person leaves the company, will stream video (set as no expiration) removed automatically?
2. If a person leaves the company, will a copy (not original video) of a stream video removed? We have a habit of keeping videos in one consolidated area with custom label that is understood by team
members.
I have two questions:1. If a person leaves the company, will stream video (set as no expiration) removed automatically?2. If a person leaves the company, will a copy (not original video) of a stream video removed? We have a habit of keeping videos in one consolidated area with custom label that is understood by teammembers. Read More