MENU: USER STORY | QUICK DEPLOY | SUPPORTING DOCUMENTATION
This solution accelerator enables customers with large amounts of conversational data to improve decision-making by leveraging intelligence to uncover insights, relationships, and patterns from customer interactions. It empowers users to gain valuable knowledge and drive targeted business impact.
It leverages Azure AI Foundry, AI Content Understanding, Azure OpenAI, and Azure AI Search to transform large volumes of conversational data into actionable insights through topic modeling, key phrase extraction, speech-to-text transcription, and interactive chat experiences.
Below is an image of the solution accelerator.
An analyst managing large volumes of conversational data needs a solution to visualize key insights and uncover patterns using natural language. An interactive dashboard enables them to explore rich, actionable insights for faster, and more informed decision-making.
This solution empowers analysts with tools to ask questions and receive real-time, contextualized responses. It streamlines problem-solving, enhances collaboration, and fosters innovation by making data-driven insights accessible and shareable.
The sample data used in this repository is synthetic and generated using Azure OpenAI service. The data is intended for use as sample data only.
To deploy this solution accelerator, ensure you have access to an Azure subscription with the necessary permissions to create resource groups and resources. Follow the steps in Azure Account Set Up
Check the Azure Products by Region page and select a region where the following services are available:
- Azure AI Foundry
- Azure OpenAI Services
- Azure AI Search
- Azure AI Content Understanding
- Embedding Deployment Capacity
- GPT Model Capacity
- Azure Semantic Search
Here are some example regions where the services are available: East US, East US2, Australia East, UK South, France Central.
When you start the deployment, most parameters will have default values, but you can update the following settings:
Setting | Description | Default value |
---|---|---|
Azure Region | The region where resources will be created. | East US |
Environment Name | A 3-20 character alphanumeric value used to prefix resources. | kmtemplate |
Content Understanding Location | Select from a drop-down list of values. | West US |
Secondary Location | A less busy region for Azure SQL and CosmosDB, useful in case of availability constraints. | eastus2 |
Deployment Type | Select from a drop-down list. | GlobalStandard |
GPT Model | Choose from gpt-4, gpt-4o, gpt-4o-mini | gpt-4o-mini |
GPT Model Deployment Capacity | Configure capacity for GPT models. | 30k |
Embedding Model | Default: text-embedding-ada-002. | text-embedding-ada-002 |
Embedding Model Capacity | Set the capacity for embedding models. | 80k |
By default, the GPT model capacity in deployment is set to 30k tokens.
We recommend increasing the capacity to 100k tokens for optimal performance.
To adjust quota settings, follow these steps
Pick from the options below to see step-by-step instructions for: GitHub Codespaces, VS Code Dev Containers, Local Environments, and Bicep deployments.
Deploy in GitHub Codespaces
You can run this solution using GitHub Codespaces. The button will open a web-based VS Code instance in your browser:
-
Open the solution accelerator (this may take several minutes):
-
Accept the default values on the create Codespaces page
-
Open a terminal window if it is not already open
-
Continue with the deploying steps
Deploy in VS Code
You can run this solution in VS Code Dev Containers, which will open the project in your local VS Code using the Dev Containers extension:
-
Start Docker Desktop (install it if not already installed)
-
Open the project:
-
In the VS Code window that opens, once the project files show up (this may take several minutes), open a terminal window.
-
Continue with the deploying steps
Deploy in your local environment
If you're not using one of the above options for opening the project, then you'll need to:
-
Make sure the following tools are installed:
-
Download the project code:
azd init -t microsoft/Conversation-Knowledge-Mining-Solution-Accelerator/
-
Open the project folder in your terminal or editor.
-
Continue with the deploying steps.
Deploy with Bicep/ARM template
Click the following deployment button to create the required resources for this solution directly in your Azure Subscription.
Once you've opened the project in Codespaces or in Dev Containers or locally, you can deploy it to Azure following the following steps.
To change the azd parameters from the default values, follow the steps here.
-
Login to Azure:
azd auth login
azd auth login --tenant-id <tenant-id>
-
Provision and deploy all the resources:
azd up
-
Provide an
azd
environment name (like "ckmapp") -
Select a subscription from your Azure account, and select a location which has quota for all the resources.
- This deployment will take 7-10 minutes to provision the resources in your account and set up the solution with sample data.
- If you get an error or timeout with deployment, changing the location can help, as there may be availability constraints for the resources.
-
Once the deployment has completed successfully, open the Azure Portal, go to the deployed resource group, find the App Service and get the app URL from
Default domain
. -
You can now delete the resources by running
azd down
, if you are done trying out the application.
-
Add Azure Function Users to Database
Follow the steps in Add Database Users
-
Add App Authentication
Follow steps in App Authentication to configure authenitcation in app service.
Note: Authentication changes can take up to 10 minutes
-
Deleting Resources After a Failed Deployment
Follow steps in Delete Resource Group If your deployment fails and you need to clean up the resources.
To help you get started, here are some Sample Questions you can ask in the app:
- Total number of calls by date for the last 7 days
- Show average handling time by topics in minutes
- What are the top 7 challenges users reported?
- Give a summary of billing issues
- When customers call in about unexpected charges, what types of charges are they seeing?
These questions serve as a great starting point to explore insights from the data.
Please refer to Transparency FAQ for responsible AI transparency details of this solution accelerator.
Pricing varies per region and usage, so it isn't possible to predict exact costs for your usage. The majority of the Azure resources used in this infrastructure are on usage-based pricing tiers. However, Azure Container Registry has a fixed cost per registry per day.
You can try the Azure pricing calculator for the resources:
- Azure AI Foundry: Free tier. Pricing
- Azure AI Search: Standard tier, S1. Pricing is based on the number of documents and operations. Pricing
- Azure Storage Account: Standard tier, LRS. Pricing is based on storage and operations. Pricing
- Azure Key Vault: Standard tier. Pricing is based on the number of operations. Pricing
- Azure AI Services: S0 tier, defaults to gpt-4o-mini and text-embedding-ada-002 models. Pricing is based on token count. Pricing
- Azure Container App: Consumption tier with 0.5 CPU, 1GiB memory/storage. Pricing is based on resource allocation, and each month allows for a certain amount of free usage. Pricing
- Azure Container Registry: Basic tier. Pricing
- Log analytics: Pay-as-you-go tier. Costs based on data ingested. Pricing
- Azure SQL Server: General Purpose Tier. Pricing
- Azure Cosmos DB: Pricing
- Azure functions: Consumption tier Pricing
azd down
.
This template uses Azure Key Vault to store all connections to communicate between resources.
This template also uses Managed Identity for local development and deployment.
To ensure continued best practices in your own repository, we recommend that anyone creating solutions based on our templates ensure that the Github secret scanning setting is enabled.
You may want to consider additional security measures, such as:
- Enabling Microsoft Defender for Cloud to secure your Azure resources.
- Protecting the Azure Container Apps instance with a firewall and/or Virtual Network.
- Azure AI Foundry documentation
- Azure AI Content Understanding documentation
- Azure OpenAI Service
- Azure AI Search
- Azure Functions
- Azure App Service
- Azure SQL Database
- Azure Cosmos DB
To the extent that the Software includes components or code used in or derived from Microsoft products or services, including without limitation Microsoft Azure Services (collectively, “Microsoft Products and Services”), you must also comply with the Product Terms applicable to such Microsoft Products and Services. You acknowledge and agree that the license governing the Software does not grant you a license or other right to use Microsoft Products and Services. Nothing in the license or this ReadMe file will serve to supersede, amend, terminate or modify any terms in the Product Terms for any Microsoft Products and Services.
You must also comply with all domestic and international export laws and regulations that apply to the Software, which include restrictions on destinations, end users, and end use. For further information on export restrictions, visit https://aka.ms/exporting.
You acknowledge that the Software and Microsoft Products and Services (1) are not designed, intended or made available as a medical device(s), and (2) are not designed or intended to be a substitute for professional medical advice, diagnosis, treatment, or judgment and should not be used to replace or as a substitute for professional medical advice, diagnosis, treatment, or judgment. Customer is solely responsible for displaying and/or obtaining appropriate consents, warnings, disclaimers, and acknowledgements to end users of Customer’s implementation of the Online Services.
You acknowledge the Software is not subject to SOC 1 and SOC 2 compliance audits. No Microsoft technology, nor any of its component technologies, including the Software, is intended or made available as a substitute for the professional advice, opinion, or judgement of a certified financial services professional. Do not use the Software to replace, substitute, or provide professional financial advice or judgment.
BY ACCESSING OR USING THE SOFTWARE, YOU ACKNOWLEDGE THAT THE SOFTWARE IS NOT DESIGNED OR INTENDED TO SUPPORT ANY USE IN WHICH A SERVICE INTERRUPTION, DEFECT, ERROR, OR OTHER FAILURE OF THE SOFTWARE COULD RESULT IN THE DEATH OR SERIOUS BODILY INJURY OF ANY PERSON OR IN PHYSICAL OR ENVIRONMENTAL DAMAGE (COLLECTIVELY, “HIGH-RISK USE”), AND THAT YOU WILL ENSURE THAT, IN THE EVENT OF ANY INTERRUPTION, DEFECT, ERROR, OR OTHER FAILURE OF THE SOFTWARE, THE SAFETY OF PEOPLE, PROPERTY, AND THE ENVIRONMENT ARE NOT REDUCED BELOW A LEVEL THAT IS REASONABLY, APPROPRIATE, AND LEGAL, WHETHER IN GENERAL OR IN A SPECIFIC INDUSTRY. BY ACCESSING THE SOFTWARE, YOU FURTHER ACKNOWLEDGE THAT YOUR HIGH-RISK USE OF THE SOFTWARE IS AT YOUR OWN RISK.