Category: Microsoft
Category Archives: Microsoft
Power Automate Licensing Questions
I know it has nothing to do with the subject, but I need help on the subject below about Power Automate, can you help me or refer me to someone who can?
We need to create several automations using Microsoft’s Power Automate, such as sharing flows with automations created with other users who do not have any Power Automate account, providing a link on a web page so that any user even without a power automate account can benefit from and use that flow/automation. What Power Automate Plan do you recommend, taking into account that only 1 or 2 users will have a power automate account and pay to create the automations, but then they can be made available and used by other users without having to have a Power Automate account/License.
Thanks
fernando
I know it has nothing to do with the subject, but I need help on the subject below about Power Automate, can you help me or refer me to someone who can?We need to create several automations using Microsoft’s Power Automate, such as sharing flows with automations created with other users who do not have any Power Automate account, providing a link on a web page so that any user even without a power automate account can benefit from and use that flow/automation. What Power Automate Plan do you recommend, taking into account that only 1 or 2 users will have a power automate account and pay to create the automations, but then they can be made available and used by other users without having to have a Power Automate account/License.Thanksfernando Read More
Connecting to mysql or pgsql from spark
Hello,
Having a Spark notebook connecting to CosmosDB for data load. Using linked resource:
df = spark.read.format(“cosmos.olap”)
.option(“spark.synapse.linkedService”, “<enter linked service name>”)
.option(“spark.cosmos.container”, “<enter container name>”)
.load()
Is is possible to use linkedService when connecting to Azure DB for mysql/pgsql? I did not find anything in the documentation. It seems that the only way is to use standard spark connection configuration with username/password. I did not find any other way in documentation.
I would prefer to use already defined linked service to connect to these databases.
It this possible?
Thanks!
Hello, Having a Spark notebook connecting to CosmosDB for data load. Using linked resource:df = spark.read.format(“cosmos.olap”)
.option(“spark.synapse.linkedService”, “<enter linked service name>”)
.option(“spark.cosmos.container”, “<enter container name>”)
.load()as per https://learn.microsoft.com/en-us/azure/synapse-analytics/synapse-link/how-to-query-analytical-store-spark-3 Is is possible to use linkedService when connecting to Azure DB for mysql/pgsql? I did not find anything in the documentation. It seems that the only way is to use standard spark connection configuration with username/password. I did not find any other way in documentation. I would prefer to use already defined linked service to connect to these databases. It this possible? Thanks! Read More
MS Hive ODBC Driver – AppV – Windows 11 21H2
Hi everyone,
I need to prepare an AppV package with the mentioned app. It will be published to Windows 11 machines.
In general, sequencing ODBCs is not a problem. It should be working fine. And it is on Windows 10. It is not, however, on Windows 11.
What I did:
Got the latest MS ADK (ver. 10.1.25398.1) and installed Sequencer;Created dummy ODBC entries (User and System, x86 and x64);Sequenced the HIVEODBCDRIVER on W11 21H2
Then, I published the package on W10 and
Launched the ODBC shortcut
No problem at non-admin account (MS Hive ODBC Driver showed up in ODBC console)
I published the package on W11 and launched the same shortcut:
The driver didn’t appear in ODBC console.
It’s all fine however, as that package is to work in a connection group with other Appv package.
So, I created XML for a Connection Group which contains the ODB Driver Appv Package and a N++ AppV package I created quickly for testing purposes.
On W10:
I published those two packages;Added the Connection Group;Enabled it;Launched N++ (CG was then active);In N++ hit Ctrl+O and typed in ‘cmd.exe’;Then I had cmd launched from N++ and running inside the Connection Group bubble;I navigated to C:WindowsSystem32 and started odbcad32.exe;The desired driver was nicely accessible.
Then, I followed the same steps on W11:
The driver was not visible in odbcad32.exe started from N++ inside the same Connection Group.
Maybe you guys can point me what I’m doing incorrectly??
Hi everyone, I need to prepare an AppV package with the mentioned app. It will be published to Windows 11 machines.In general, sequencing ODBCs is not a problem. It should be working fine. And it is on Windows 10. It is not, however, on Windows 11.What I did:Got the latest MS ADK (ver. 10.1.25398.1) and installed Sequencer;Created dummy ODBC entries (User and System, x86 and x64);Sequenced the HIVEODBCDRIVER on W11 21H2Then, I published the package on W10 andLaunched the ODBC shortcut No problem at non-admin account (MS Hive ODBC Driver showed up in ODBC console)I published the package on W11 and launched the same shortcut:The driver didn’t appear in ODBC console.It’s all fine however, as that package is to work in a connection group with other Appv package. So, I created XML for a Connection Group which contains the ODB Driver Appv Package and a N++ AppV package I created quickly for testing purposes. On W10:I published those two packages;Added the Connection Group;Enabled it;Launched N++ (CG was then active);In N++ hit Ctrl+O and typed in ‘cmd.exe’;Then I had cmd launched from N++ and running inside the Connection Group bubble;I navigated to C:WindowsSystem32 and started odbcad32.exe;The desired driver was nicely accessible.Then, I followed the same steps on W11:The driver was not visible in odbcad32.exe started from N++ inside the same Connection Group.Maybe you guys can point me what I’m doing incorrectly?? Read More
Comparing Shared and Inactive Mailboxes for Retaining Ex-Employee Content
Every Microsoft 365 tenant must deal with ex-employee mailboxes. The default choice is to make the mailboxes into shared mailboxes. But inactive mailboxes could be a better option to deal with the requirements to preserve user privacy and avoid inadvertent disclosure of PII to people who don’t need that information. Perhaps it’s time to reassess how your organization deals with ex-employee mailboxes?
https://office365itpros.com/2024/07/22/ex-employee-mailboxes-choice/
Every Microsoft 365 tenant must deal with ex-employee mailboxes. The default choice is to make the mailboxes into shared mailboxes. But inactive mailboxes could be a better option to deal with the requirements to preserve user privacy and avoid inadvertent disclosure of PII to people who don’t need that information. Perhaps it’s time to reassess how your organization deals with ex-employee mailboxes?
https://office365itpros.com/2024/07/22/ex-employee-mailboxes-choice/ Read More
Error “the operation cannot be performed because the object has been deleted
Microsoft office home & Business 2021 and Microsoft office LTSC stand 2021 happening intermittent error. after finishing typing a reply email and clicking the reply button, an error prompt appears. The user needs to close the email, reopen it, and retype the message.
i have did window update, update office, repair office, disable add-in, re-install office, create new outlook profile.
Microsoft office home & Business 2021 and Microsoft office LTSC stand 2021 happening intermittent error. after finishing typing a reply email and clicking the reply button, an error prompt appears. The user needs to close the email, reopen it, and retype the message.i have did window update, update office, repair office, disable add-in, re-install office, create new outlook profile. Read More
How can I resolve Error PS060 in Q.B during a pay-roll update?
I’ve encountered Q.B Error PS060 while attempting to update pay-roll in my Q.B software. It’s disrupting my workflow. Could you provide detailed instructions or steps to resolve this issue effectively? I need to fix it as soon as possible to ensure pay-roll processing isn’t delayed.
I’ve encountered Q.B Error PS060 while attempting to update pay-roll in my Q.B software. It’s disrupting my workflow. Could you provide detailed instructions or steps to resolve this issue effectively? I need to fix it as soon as possible to ensure pay-roll processing isn’t delayed. Read More
Add days based on specific date field column and a number field column as multiplier
Hi,
I hope you guys are not tired solving someone’s problem.
I currently have SP list and manage to use CALCULATED Column with other columns.
This is my formula for that calculated column.
=IF([Months to Pay]>=3,DATE(YEAR([First Payment]),MONTH([First Payment]),DAY([First Payment])+30),” “)
But my problem is that it wont be called in POWER AUTOMATE Filter Query.
Now I hope you can help turn this into Power Automate.
I have 3 columns, No. of Months will Pay (number), First Payment (date), Second Payment(date)
I tried it using init variable and update items, but it wont work.
How can I able to formulate it? Its like First Payment * No of Months to Pay = Second Payment
Thank you.
Hi, I hope you guys are not tired solving someone’s problem.I currently have SP list and manage to use CALCULATED Column with other columns.This is my formula for that calculated column.=IF([Months to Pay]>=3,DATE(YEAR([First Payment]),MONTH([First Payment]),DAY([First Payment])+30),” “) But my problem is that it wont be called in POWER AUTOMATE Filter Query.Now I hope you can help turn this into Power Automate.I have 3 columns, No. of Months will Pay (number), First Payment (date), Second Payment(date) I tried it using init variable and update items, but it wont work. How can I able to formulate it? Its like First Payment * No of Months to Pay = Second Payment Thank you. Read More
Problem with defender onbording using script
Hello,
I try to onboard PC with win 11 to Endpoint and I receive same error as in thread
Bryll advised some steps, but:
“1. Make sure that you are using the correct service name for Microsoft Defender for Business. The service name should be “Microsoft Defender for Endpoint Onboarding” (without the quotes). + 2. Check if the service is running on the device. You can do this by opening the Services app (services.msc) and looking for the “Microsoft Defender for Endpoint Onboarding” service. If the service is not running, start it and try onboarding the device again.” – I don’t see this service on the machine nor on the machine that is already onboarded.
“Check the Diagnostic Data Service:” – I don’t see this service neither (nor on onboarded device). I also tried to enable ‘Send optional diagnostic data’ and restart PC, but still don’t have this service.
Also, solution to create new user account and switch to it is not for us.
I found
https://learn.microsoft.com/en-us/defender-endpoint/troubleshoot-onboarding#view-agent-onboarding-errors-in-the-device-event-log to troubleshoot event log, but the machine doesn’t have Applications and Services Logs > Microsoft > Windows > SENSE folder. (onboarded PCs have it)
Any other advise?
Hello,I try to onboard PC with win 11 to Endpoint and I receive same error as in threadhttps://answers.microsoft.com/en-us/msoffice/forum/all/defender-for-business-onboarding-endpoint-device/9b8d1dc1-4e78-4a24-a98d-e7faf761540a Bryll advised some steps, but:”1. Make sure that you are using the correct service name for Microsoft Defender for Business. The service name should be “Microsoft Defender for Endpoint Onboarding” (without the quotes). + 2. Check if the service is running on the device. You can do this by opening the Services app (services.msc) and looking for the “Microsoft Defender for Endpoint Onboarding” service. If the service is not running, start it and try onboarding the device again.” – I don’t see this service on the machine nor on the machine that is already onboarded. “Check the Diagnostic Data Service:” – I don’t see this service neither (nor on onboarded device). I also tried to enable ‘Send optional diagnostic data’ and restart PC, but still don’t have this service. Also, solution to create new user account and switch to it is not for us. I found https://learn.microsoft.com/en-us/defender-endpoint/troubleshoot-onboarding#view-agent-onboarding-errors-in-the-device-event-log to troubleshoot event log, but the machine doesn’t have Applications and Services Logs > Microsoft > Windows > SENSE folder. (onboarded PCs have it)Any other advise? Read More
How can I convert AAC file to MP3 without losing quality?
Hey,
I’ve got a massive collection of music files in AAC format, but my car’s stereo system only supports MP3. I’ve tried using three online AAC to MP3 converters but they either don’t support batch conversions or have poor quality output. I’ve also tried using software like FFsmpeg, but I’m not familiar with the command-line interface and it seems like overkill for what I need. I’m looking for something user-friendly and easy to use.
Does anyone have a reliable method or software that can help me convert AAC to MP3 without compromising on quality? I’ve got a large collection ( thousands of songs) so I’m looking for a solution that can handle large batches.
Thanks
Hey, I’ve got a massive collection of music files in AAC format, but my car’s stereo system only supports MP3. I’ve tried using three online AAC to MP3 converters but they either don’t support batch conversions or have poor quality output. I’ve also tried using software like FFsmpeg, but I’m not familiar with the command-line interface and it seems like overkill for what I need. I’m looking for something user-friendly and easy to use. Does anyone have a reliable method or software that can help me convert AAC to MP3 without compromising on quality? I’ve got a large collection ( thousands of songs) so I’m looking for a solution that can handle large batches. Thanks Read More
Ms Form – “Anyone can respond” Not working anymore
Hello,
I have a Microsoft form set to “Anyone can respond” that I shared with external members of my organization, and the link was perfectly functional until now for anyone having the link.
Since the end of the week 07/24/19, this form is no longer accessible without logging in (when testing with the link in private browsing, I am redirected to the login page) and it is also not accessible while loged to a Microsoft account external to my organization.
Has anyone else encountered this problem or is it a residual impact of the global bug related to the latest Microsoft update? Do you know how to report this bug if necessary? Thanks in advance.
Hello,I have a Microsoft form set to “Anyone can respond” that I shared with external members of my organization, and the link was perfectly functional until now for anyone having the link.Since the end of the week 07/24/19, this form is no longer accessible without logging in (when testing with the link in private browsing, I am redirected to the login page) and it is also not accessible while loged to a Microsoft account external to my organization. Has anyone else encountered this problem or is it a residual impact of the global bug related to the latest Microsoft update? Do you know how to report this bug if necessary? Thanks in advance. Read More
Windows 11 – missing “View online” on the right click view of folder or file
Just upgraded system to Window 11. OneDrive is running well. It’s strange that the right click of file or folder is missing “View online” function, but it has “Always keep on this device” function. How to get this solved and show “View online” on right click?
When using Window 10, “View online” function was there in right click.
Just upgraded system to Window 11. OneDrive is running well. It’s strange that the right click of file or folder is missing “View online” function, but it has “Always keep on this device” function. How to get this solved and show “View online” on right click? When using Window 10, “View online” function was there in right click. Read More
Checklist: How companies use Microsoft 365 securely
Microsoft 365 provides companies with numerous protective measures that ensure a high level of security for all applications and data. However, a prerequisite for the secure use of Microsoft 365 is that the security functions are actually licenced, activated, used and actively managed. In addition, all users and administrators must be informed about the risks and trained in secure use. Our checklist provides information on the security aspects you should consider when using Microsoft 365.
I wrote a Blog Post where you can read the most important things about this Topic.
https://www.msb365.blog/?p=5709
Microsoft 365 provides companies with numerous protective measures that ensure a high level of security for all applications and data. However, a prerequisite for the secure use of Microsoft 365 is that the security functions are actually licenced, activated, used and actively managed. In addition, all users and administrators must be informed about the risks and trained in secure use. Our checklist provides information on the security aspects you should consider when using Microsoft 365.
I wrote a Blog Post where you can read the most important things about this Topic.
https://www.msb365.blog/?p=5709
Need some KQL for DNS
I need few KQL query for below use case as table is _Im_Dns and ASimDnsActivityLogs.
Monitor DNS for Brand Abuse –
DNS Query Length with high standard deviation –
The following analytic identifies DNS queries with unusually large lengths by computing the standard deviation of query lengths and filtering those exceeding twice the standard deviation. It leverages DNS query data from the Network_Resolution data model, focusing on the length of the domain names being resolved. This activity is significant as unusually long DNS queries can indicate data exfiltration or command-and-control communication attempts. If confirmed malicious, this activity could allow attackers to stealthily transfer data or maintain persistent communication channels within the network.
Detect Long DNS TXT Record Response –
This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, Command And Control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic. Deprecated because this detection should focus on DNS queries instead of DNS responses.
Large Volume of DNS ANY Queries –
The following analytic identifies a large volume of DNS ANY queries, which may indicate a DNS amplification attack. It leverages the Network_Resolution data model to count DNS queries of type “ANY” directed to specific destinations. This activity is significant because DNS amplification attacks can overwhelm network resources, leading to Denial of Service (DoS) conditions. If confirmed malicious, this activity could disrupt services, degrade network performance, and potentially be part of a larger Distributed Denial of Service (DDoS) attack, impacting the availability of critical infrastructure.
I need few KQL query for below use case as table is _Im_Dns and ASimDnsActivityLogs.Monitor DNS for Brand Abuse -This search looks for DNS requests for fauxdomains similar to the domains that youwant to have monitored for abuse.DNS Query Length with high standard deviation -The following analytic identifies DNS queries with unusually large lengths by computing the standard deviation of query lengths and filtering those exceeding twice the standard deviation. It leverages DNS query data from the Network_Resolution data model, focusing on the length of the domain names being resolved. This activity is significant as unusually long DNS queries can indicate data exfiltration or command-and-control communication attempts. If confirmed malicious, this activity could allow attackers to stealthily transfer data or maintain persistent communication channels within the network.Detect Long DNS TXT Record Response – This search is used to detect attempts to use DNS tunneling, by calculating the length of responses to DNS TXT queries. Endpoints using DNS as a method of transmission for data exfiltration, Command And Control, or evasion of security controls can often be detected by noting unusually large volumes of DNS traffic. Deprecated because this detection should focus on DNS queries instead of DNS responses.Large Volume of DNS ANY Queries -The following analytic identifies a large volume of DNS ANY queries, which may indicate a DNS amplification attack. It leverages the Network_Resolution data model to count DNS queries of type “ANY” directed to specific destinations. This activity is significant because DNS amplification attacks can overwhelm network resources, leading to Denial of Service (DoS) conditions. If confirmed malicious, this activity could disrupt services, degrade network performance, and potentially be part of a larger Distributed Denial of Service (DDoS) attack, impacting the availability of critical infrastructure. Read More
Cannot remove custom domain
Hi all.
Hoping for some advice from the community. I’ve been waiting for MS support for over a month, and it seems with each new technician we talk with, we just go through the same actions, which have been for the most part nothing different than what we had tried prior to raising the support ticket. Escalation options seem to have been exhausted. So, you could probably appreciate that I’m extremely disappointed with the support service so far.
The issue is that we cannot remove a domain from a tenant. The domain is shown as meeting the requirements for removal. We receive a generic error when we attempt to remove the domain from the Console or via Msol (Powershell). When we attempt to remove the domain from AzureAD (Powershell) using Remove-AzureADDomain command, we get an error that states “Details: PropertyName – supportedServices, PropertyErrorCode – DomainSupportedServiceUnsetNotAllowed”. The Domain supported services are “SupportedServices : {Email, OfficeCommunicationsOnline, MoeraDomain}”.
History: When the domain was initially added, it became stuck in a loop between “Setup Incomplete” and “Domain setup is complete” None of the KB or forum articles resolved this loop. In the end I added the supported services manually using the using the documented Set-AzureAdDomain command. The loop was resolved, and the domain showed as Verified. However users were unable to receive email and we were only able to add txt DNS records.
Our goal is to scrap the original tenant due to the uncertainty of domain tenant health and remove the domain from the tenant to be used in a new tenant, however we are unable to do so as per my earlier documented error. I’ve attempted to unset the variable trying a multitude of “bracketed null” variations to no avail.
Any insight into a resolution would be appreciated.
Hi all. Hoping for some advice from the community. I’ve been waiting for MS support for over a month, and it seems with each new technician we talk with, we just go through the same actions, which have been for the most part nothing different than what we had tried prior to raising the support ticket. Escalation options seem to have been exhausted. So, you could probably appreciate that I’m extremely disappointed with the support service so far.The issue is that we cannot remove a domain from a tenant. The domain is shown as meeting the requirements for removal. We receive a generic error when we attempt to remove the domain from the Console or via Msol (Powershell). When we attempt to remove the domain from AzureAD (Powershell) using Remove-AzureADDomain command, we get an error that states “Details: PropertyName – supportedServices, PropertyErrorCode – DomainSupportedServiceUnsetNotAllowed”. The Domain supported services are “SupportedServices : {Email, OfficeCommunicationsOnline, MoeraDomain}”. History: When the domain was initially added, it became stuck in a loop between “Setup Incomplete” and “Domain setup is complete” None of the KB or forum articles resolved this loop. In the end I added the supported services manually using the using the documented Set-AzureAdDomain command. The loop was resolved, and the domain showed as Verified. However users were unable to receive email and we were only able to add txt DNS records.Our goal is to scrap the original tenant due to the uncertainty of domain tenant health and remove the domain from the tenant to be used in a new tenant, however we are unable to do so as per my earlier documented error. I’ve attempted to unset the variable trying a multitude of “bracketed null” variations to no avail. Any insight into a resolution would be appreciated. Read More
How to take screenshot on Windows 11 with advanced editing feature?
I’m currently in search of a powerful screenshot tool for Windows 11 that offers advanced editing features. I’ve tried a few basic tools like the Snipping Tool and Snip & Sketch, but they don’t quite meet my needs. I require something with more robust editing capabilities such as annotations, blurring sensitive information, adding shapes, text, and other advanced editing options.
I’m open to free and paid options if it significantly improves my productivity. I would also appreciate it if the tool supports various file formats and provides easy sharing options. Anyone has experience with a tool that fits this description or can suggest one that might work for my needs, please share your insights.
Thanks
I’m currently in search of a powerful screenshot tool for Windows 11 that offers advanced editing features. I’ve tried a few basic tools like the Snipping Tool and Snip & Sketch, but they don’t quite meet my needs. I require something with more robust editing capabilities such as annotations, blurring sensitive information, adding shapes, text, and other advanced editing options. I’m open to free and paid options if it significantly improves my productivity. I would also appreciate it if the tool supports various file formats and provides easy sharing options. Anyone has experience with a tool that fits this description or can suggest one that might work for my needs, please share your insights. Thanks Read More
“Add required attendees” field not showing anymore
Hi,
When scheduling a meeting in Teams (free usage with a gmail account) the “Add required attendees” field is missing since last week. This issue has not occurend during the past year or so.
Already did a reinstall of the Teams app on the respective Windows PC and also tried it on an iPad but ran into the same problem. It also does not make a difference whether the classic or new version of Teams is used. Maybe it has to do with expiration of the free usage period, although I could not find anything about the existance of such period..
Your help would be much appreciated.
Hi, When scheduling a meeting in Teams (free usage with a gmail account) the “Add required attendees” field is missing since last week. This issue has not occurend during the past year or so.Already did a reinstall of the Teams app on the respective Windows PC and also tried it on an iPad but ran into the same problem. It also does not make a difference whether the classic or new version of Teams is used. Maybe it has to do with expiration of the free usage period, although I could not find anything about the existance of such period.. Your help would be much appreciated. Read More
How can I find Tasks where I missed to add a due date? (Windows App)
Hello,
in the view “Planned” I can see al my tasks by date. Good .
But what If I missed to add a due date so some tasks? In the “web version” All – To Do (office.com) I can see due date in a columns, so easy to find. In the App, this column is missing 🙁
Kind reards
Jens
Hello,in the view “Planned” I can see al my tasks by date. Good . But what If I missed to add a due date so some tasks? In the “web version” All – To Do (office.com) I can see due date in a columns, so easy to find. In the App, this column is missing :(Kind reardsJens Read More
How to use 9 new features in SharePoint [Co-Authoring Pages, Web Parts Enhancements]
In this video tutorial, explore the latest features in #SharePoint! Authors can now view real-time changes in Pages, sections, and web parts. Users can apply shapes over images and enhance text web parts with new styles and font size control. Additionally, add curated image backgrounds and customize page sections with banners. Excitingly, set link expirations and enable approvals workflows in any list in a few clicks.
#MicrosoftSharePoint #Microsoft365 #Productivity #NewFeatures #MVPbuzz
In this video tutorial, explore the latest features in #SharePoint! Authors can now view real-time changes in Pages, sections, and web parts. Users can apply shapes over images and enhance text web parts with new styles and font size control. Additionally, add curated image backgrounds and customize page sections with banners. Excitingly, set link expirations and enable approvals workflows in any list in a few clicks.
#MicrosoftSharePoint #Microsoft365 #Productivity #NewFeatures #MVPbuzz Read More
Build Powerful RAG Apps Without Code Using LangFlow and Azure OpenAI
Ok. So you want to supplement your LLM chat application with your own knowledge base but you could not be bothered about the cumbersome code development that might be involved. Or you are more visual-oriented and would like to make sense of your application workflow.
LangFlow is a drag-and-drop framework that helps you build fully customizable GenAI applications. You can assemble several components with a few clicks to create the exact Retrieval Augmented Generation application you envision, powered by your data source. This means you can access a more reliable, easy-to-build, GenAI model built to address your unique business needs.
In this tutorial, we will utilize some of the available building components in LangFlow to make an application that provides food recommendations based on the US dietary guidelines. This project builds upon our previous work where we integrated Azure Openai and Document Intelligence to scan food products and get more insights to guide our nutrition.
This project requires that you have:
Access to Azure Openai
Python 3.10
Creating a LangFlow account
To start LangFlow, ensure you are working in an environment with python 3.10. Then go to your terminal and run the following (I promise, you will not have to write any code beyond this):
python -m pip install langflow -U
python -m langflow run
If everything runs successfully, you should get something similar to the image below. Click on the endpoint. This should direct you to your LangFlow account. Proceed to create a new project.
Creating the workflow
Deploying an Azure Openai model
Now, open another page and log onto your Azure portal, and create an Openai resource (fill out this registration form if you don’t already have access):
Subscription: Select your active subscription
Resource group: Select an existing resource group or create a new one
Name: Name your resource.
Region: Randomly select any region from the available lists of regions.
Pricing: Select Standard S0
After deploying the resource, click on “Go to Azure Openai studio” on the top pane
Scroll down on the left pane and click on the “Deployments” page
Click on “create new deployment” next
Select GPT4o in the list of models
Assign a name to the deployment (note the deployment name)
Reduce the token rate limit to 7K and then “Create”
Once that has been successfully deployed, go back to the Azure portal. Click on the Openai resource you just deployed and copy the endpoint and keys.
Building your application pipeline
Go back to your LangFlow page. Note the panes on the right; this is where you will find your necessary building components. Click on the inputs dropdown menu and drag the chat input pane onto the canvas. Do the same with the outputs menu and select ‘chat output’. Go to the models pane, find and select ‘Azure Openai’.
Once that is done, connect the components as seen in the image above:
Paste the following to the template field in the ‘Prompt’ pane:You are an AI assistant that helps users resolve their question
Question:{question}
Connect the input node in ‘Chat Input’ to the ‘Prompt’ question node
Connect the prompt message in ‘Chat Input’ to the text node in ‘Azure OpenAI’.
Fill in the copied credentials.
Now let’s test it. Click on the play button in the top-right corner on the Chat Output pane. Click on ‘playground’ in the bottom right of the screen and ask any question. It should return a response successfully:
Creating a vector database and populating it with vector embeddings
Keeping to the objective of our application, we need a database to store, retrieve, and query our data on dietary guidelines. We need to be able to search this database and retrieve information closely related to our query. To do this we would be using Azure OpenAI embeddings to create the vectors that represent this relationship.
First sign up on Astra db. Once that is done, you should get an interface like the image below. If not, toggle the drop-down in the red box and select Astra db. Then select ‘create database’ on the right in the yellow box. Name the database and select Azure as the provider (please note, this costs a minimal fee to use), select us-east-2 as the region and proceed to create the database. Once created, note the database details on the right of the create database page.
Now go back to your LangFlow page. Save the current flow and then create a new project. On this page populate the screen with the following components:
‘File’
‘Recursive Character Text splitting’
‘Azure OpenAI Embeddings’
‘Astra DB’
You should have something similar to the image below:
Return to OpenAI studio and follow the steps in creating and deploying a vector embedding model (select text-embedding-002 as the model type) as stated earlier. Now go back to the LangFlow pane and do the following:
File component:
Attach the US dietary guideline PDF.
Connect the output to the input node in the recursive character text split pane
Recursive split:
Leave as default
Connect to Astra DB ‘Ingest Data’ node
Azure Openai Embeddings:
Fill the endpoint and API keys as you did with the GPT4o model
Fill in the name of the deployed model
Connect the embeddings model to Astra DB
Astra DB:
Return to the Astra DB page and copy the API and token from the database detail
Name the collection
Fill the parameters
Press the play button on the top right and then give it a few minutes to complete
The process above will create a collection of the vector embeddings in the database and might take a few minutes. Return to the Astra DB database page and you should see the collection has been created and proceed to inspect it.
Creating the final workflow
Next, open the previously saved flow and connect the Astra DB pane to the existing flow:
Fill the details of the Astra db as same as before
Create a new thread that connects chat input data to Astra DB
Drag ‘Parse Data’ onto the pane and connect Astra DB ‘search result’ node to ‘data’
Copy the template below and paste into the template field of the ‘prompt’ pane:
You are an AI assistant that helps that recommends healthy meals based on the {guidelines} provided
question: {question}
context: {guidelines}
Connect the text node in ‘Parse Data’ to the ‘guidelines’ node in templates. If all instructions are followed correctly, it should look something like this:
Now we have completed the pipeline and are ready to test.
Click on ‘playground’ and test out your app!
Bonus:
You can export this flow and integrate it into your app. LangFlow provides several API codes. Below, we generate a chat widget by simply copying the API code:
Click on API in the bottom left of the screen next to ‘Playground’ in LangFlow. Click on the Chat widget HTML and copy the code.
Create an HTML file in VS code. Paste the code. Right-click and ‘ open with live server’
This will direct you to a page with the chat widget.
References and further reading:
1. AstraDB On Azure
Microsoft Tech Community – Latest Blogs –Read More
Why? and How to Ground a Large Language Models using your Data? (RAG)
Introduction
Large language models (LLMs) can perform many different tasks with text, audio, images, and even videos, allowing them to be multimodal. With these many capabilities, there is a fear that LLMs might not always follow the goal that you created them for, which might be to do a specific task related to your business. For example, respond to customers’ inquiries or assist the company’s employees in finding answers to their questions. Modifying the system message (meta prompt) with prompt engineering to achieve these specific tasks will still leave you with nondeterministic responses generated randomly. To mitigate this, you can use retrieval-augmented generation (RAG), which we will explain in this blog.
Why Use RAG?
The top reasons why you’d consider using the RAG technique are:
Provide Grounding and Context for the Large Language Model:
Overcome the outdated training data limitation.
Lower starting cost compared to other solutions like fine-tuning.
Supercharge data retrieval with a powerful generative model.
What is RAG?
RAG is Intelligently retrieving a subset of data from data stores to provide specific, contextual knowledge to the large language model to support how it answers a user’s prompt (question or query).
Intelligent retrieval is crucial, as the model will only respond based on the retrieved data; if the data is bad, the model will give non-relevant responses.
You might often see RAG used with vector databases, but using this technique is not limited to that; you can also use RAG with your pre-existing SQL or No-SQL database. Just pass the query response to a large language model, and it will rephrase it into text-based responses that closely resemble human language and structure.
Why are Vector Databases commonly used with RAG?
A user question is in natural language that has some context and semantics for what they are talking about. Applying a full-text search to a user query strips it of everything and fully or partially matches the text in the question to text from your database. That does not allow for using synonyms in the search or semantically matching what the user means with database records; it has to be the exact word from the database to pull the right records. Here comes the vector database to provide that missing component.
Vector databases store vector embeddings that hold the semantic meaning of words. Vector embeddings consist of a vector (or array) of numbers that represent real-world words.
(Artwork by: sfoteini)
You can use any embedding model (like text-embedding-ada-002) to generate this array of numbers, but note that each embedding model generates vector embeddings of different lengths, so you need to make sure that all of your embeddings are of the same length and that you have configured that in your vector database too.
How to do RAG?
There are two ways to do RAG:
– With preexisting database SQL or No-SQL.
– With Vector database.
Preexisting database:
– Create a new Azure OpenAI Chat deployment. (see guide for creating a ChatGPT deployment here)
– Get the Model API Key and Endpoint to integrate it into your application.
– Feed the returned records from your database to the model.
– Return the model’s response to the user.
Vector database:
– Choose a vector database. (Currently, not all databases support storing vectors so you might need to migrate to a database that supports storing vectors and vector operations.)
– Create a new Azure OpenAI Embeddings deployment. (see guide for creating an embedding deployment here)
– Get the Model API Key and Endpoint to use it
– Choose the columns/keys that you want to convert to vector embeddings.
– Make API calls to generate your embeddings and store them in your database.
– Create a new Azure OpenAI Chat deployment. (see guide for creating a ChatGPT deployment here)
– Get the Model API Key and Endpoint to integrate it into your application.
– When a user asks a question convert it to vector embeddings and compare the similarity of the embeddings with what you have in the database (this now can compare relationships, patterns, and meaning of words)
– Feed the returned records from your database to the model.
– Return the model’s response to the user.
This GitHub sample displays the difference between full-text, vector-only, and rag search with Azure CosmosDB for MongoDB vCore and LangChain available here Azure-Samples/Cosmic-Food-RAG-app.
You can try it to test the three approaches and see what these techniques can add to your business.
Conclusion
RAG can streamline your recommendation system and take it to the next level with the power of human-like responses and semantic similarity, understanding what your user actually needs. You can start by adding a large language model layer between your database and the user to see the difference it makes before migrating your entire database to a vector database. It all depends on your use case and the nature of the data you have. Start by testing a small subset of your data first, then migrate if the results are looking good.
Further Reading
What is Azure OpenAI Service? – Azure AI services
Azure OpenAI Service embeddings – Azure OpenAI – embeddings and cosine similarity
Vector Search – Azure Cosmos DB for MongoDB vCore
Advanced Prompt engineering techniques
18 Lessons, Get Started Building with Generative AI
RAG and generative AI – Azure AI Search
RAG techniques: Cleaning user questions with an LLM
RAG techniques: Function calling for more structured retrieval
Found this useful? Share it with others and follow me to get updates on:
Twitter (twitter.com/john00isaac)
LinkedIn (linkedin.com/in/john0isaac)
Feel free to share your comments and/or inquiries in the comment section below..
See you in future blogs!
Microsoft Tech Community – Latest Blogs –Read More