Skip to content

Commit 75e228b

Browse files
Merge branch 'main' into workshop-page
2 parents 13da134 + 32d7c0b commit 75e228b

File tree

13 files changed

+850
-16
lines changed

13 files changed

+850
-16
lines changed

.devcontainer/devcontainer.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"image": "mcr.microsoft.com/devcontainers/python:3.11-bullseye",
44
"forwardPorts": [50505],
55
"features": {
6-
"ghcr.io/azure/azure-dev/azd:latest": {}
6+
"ghcr.io/azure/azure-dev/azd:latest": {},
7+
"ghcr.io/devcontainers/features/azure-cli:1": {}
78
},
89
"customizations": {
910
"vscode": {

.devcontainer/setup_env.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,5 @@ git pull
55

66
# provide execute permission to quotacheck script
77
sudo chmod +x ./infra/scripts/checkquota_km.sh
8-
sudo chmod +x ./infra/scripts/quota_check_params.sh
8+
sudo chmod +x ./infra/scripts/quota_check_params.sh
9+
sudo chmod +x ./infra/scripts/run_process_data_scripts.sh

README.md

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -15,19 +15,19 @@ Analysts working with large volumes of conversational data can use this solution
1515
</div>
1616
<br/>
1717

18-
<h2><img src="./docs/Images/ReadMe/solution-overview.png" width="48" />
18+
<h2><img src="./documents/Images/ReadMe/solution-overview.png" width="48" />
1919
Solution overview
2020
</h2>
2121

2222
Leverages Azure AI Content Understanding, Azure AI Search, Azure OpenAI Service, Semantic Kernel, Azure SQL Database, and Cosmos DB to process large volumes of conversational data. Audio and text inputs are analyzed through event-driven pipelines to extract and vectorize key information, orchestrate intelligent responses, and power an interactive web front-end for exploring insights using natural language.
2323

2424
### Solution architecture
25-
|![image](./docs/Images/ReadMe/solution-architecture.png)|
25+
|![image](./documents/Images/ReadMe/solution-architecture.png)|
2626
|---|
2727

2828
### Additional resources
2929

30-
[Technical Architecture](./docs/TechnicalArchitecture.md)
30+
[Technical Architecture](./documents/TechnicalArchitecture.md)
3131

3232
<br/>
3333

@@ -55,14 +55,14 @@ Summarized conversations, topic generation, and key phrase extraction support fa
5555

5656

5757
<br /><br />
58-
<h2><img src="./docs/Images/ReadMe/quick-deploy.png" width="48" />
58+
<h2><img src="./documents/Images/ReadMe/quick-deploy.png" width="48" />
5959
Quick deploy
6060
</h2>
6161

6262
### How to install or deploy
6363
Follow the quick deploy steps on the deployment guide to deploy this solution to your own Azure subscription.
6464

65-
[Click here to launch the deployment guide](./docs/DeploymentGuide.md)
65+
[Click here to launch the deployment guide](./documents/DeploymentGuide.md)
6666
<br/><br/>
6767

6868

@@ -72,12 +72,12 @@ Follow the quick deploy steps on the deployment guide to deploy this solution
7272
<br/>
7373

7474
> ⚠️ **Important: Check Azure OpenAI Quota Availability**
75-
<br/>To ensure sufficient quota is available in your subscription, please follow [quota check instructions guide](./docs/QuotaCheck.md) before you deploy the solution.
75+
<br/>To ensure sufficient quota is available in your subscription, please follow [quota check instructions guide](./documents/QuotaCheck.md) before you deploy the solution.
7676
7777
<br/>
7878

7979
### Prerequisites and costs
80-
To deploy this solution accelerator, ensure you have access to an [Azure subscription](https://azure.microsoft.com/free/) with the necessary permissions to create **resource groups, resources, app registrations, and assign roles at the resource group level**. This should include Contributor role at the subscription level and Role Based Access Control role on the subscription and/or resource group level. Follow the steps in [Azure Account Set Up](./docs/AzureAccountSetUp.md).
80+
To deploy this solution accelerator, ensure you have access to an [Azure subscription](https://azure.microsoft.com/free/) with the necessary permissions to create **resource groups, resources, app registrations, and assign roles at the resource group level**. This should include Contributor role at the subscription level and Role Based Access Control role on the subscription and/or resource group level. Follow the steps in [Azure Account Set Up](./documents/AzureAccountSetUp.md).
8181

8282
Here are some example regions where the services are available: East US, East US2, Australia East, UK South, France Central.
8383

@@ -114,12 +114,12 @@ _Note: This is not meant to outline all costs as selected SKUs, scaled use, cust
114114
either by deleting the resource group in the Portal or running `azd down`.
115115

116116
<br /><br />
117-
<h2><img src="./docs/Images/ReadMe/business-scenario.png" width="48" />
117+
<h2><img src="./documents/Images/ReadMe/business-scenario.png" width="48" />
118118
Business scenario
119119
</h2>
120120

121121

122-
|![image](./docs/Images/ReadMe/ui.png)|
122+
|![image](./documents/Images/ReadMe/ui.png)|
123123
|---|
124124

125125
<br/>
@@ -152,7 +152,7 @@ Clear, contextual insights empower employees to take meaningful action based on
152152

153153
<br /><br />
154154

155-
<h2><img src="./docs/Images/ReadMe/supporting-documentation.png" width="48" />
155+
<h2><img src="./documents/Images/ReadMe/supporting-documentation.png" width="48" />
156156
Supporting documentation
157157
</h2>
158158

@@ -204,4 +204,4 @@ You acknowledge that the Software and Microsoft Products and Services (1) are no
204204

205205
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.
206206

207-
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.
207+
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.

docs/workshop/docs/workshop/Challenge-1/Code_Walkthrough/02_Frontend.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,10 @@
55

66
The frontend is a **React-based web interface** that allows users to explore insights from conversations, interact with an AI-powered chatbot, and view dynamic visualizations.
77

8+
89
![image](../../img/ReadMe/ckm-ui.png)
910

11+
1012
### Features
1113

1214
1. **Dynamic Chart Rendering**

docs/workshop/docs/workshop/Challenge-1/Solution_Overview.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@
22
<!-- ## Overview -->
33
The Conversation Knowledge Mining Solution Accelerator is a robust application designed to extract actionable insights from conversational data. It leverages Azure AI services and provides an interactive user interface for querying and visualizing data. The solution is built with a modular architecture, combining a React-based frontend, a FastAPI backend, and Azure services for data processing and storage.
44

5+
56
![image](../img/ReadMe/ckm-sol-arch.png)
67

8+
79
The solution extracts insights from call audio files or transcripts and enables users to interact with the data via a chatbot and dynamic charts:
810

911
1. **Ingest**: Audio/transcripts are stored.

documents/CustomizeData.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
## Customize the solution with your own data
2+
3+
If you would like to update the solution to leverage your own data please follow the steps below.
4+
> Note: you will need to complete the deployment steps [here](./DeploymentGuide.md) before proceeding.
5+
6+
## Prerequisites:
7+
1. Your data will need to be in JSON or wav format with the file name formated prefixed with "convo" then a GUID followed by a timestamp. For more examples of the data format, please review the sample transcripts and audio data included [here](/infra/data/)
8+
* Example: convo_32e38683-bbf7-407e-a541-09b37b77921d_2024-12-07 04%3A00%3A00
9+
10+
11+
1. Navigate to the storage account in the resource group you are using for this solution.
12+
2. Open the `data` container
13+
3. If you have audio files, upload them to `custom_audiodata` folder. If you have call transcript files, upload them to `custom_transcripts` folder.
14+
4. Navigate to the terminal and run the `run_process_data_scripts.sh` to process the new data into the solution with the following commands.
15+
```shell
16+
cd infra/scripts
17+
18+
az login
19+
20+
bash run_process_data_scripts.sh resourcegroupname_param
21+
```
22+
a. resourcegroupname_param - the name of the resource group.
23+

documents/DeploymentGuide.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -210,4 +210,8 @@ To help you get started, here are some **Sample Questions** you can ask in the a
210210
- Give a summary of billing issues
211211
- When customers call in about unexpected charges, what types of charges are they seeing?
212212
213-
These questions serve as a great starting point to explore insights from the data.
213+
These questions serve as a great starting point to explore insights from the data.
214+
215+
## Next Steps:
216+
Now that you've completed your deployment, you can start using the solution. Try out these things to start getting familiar with the capabilities:
217+
* [Customize the solution](./CustomizeData.md) with your own data

documents/TechnicalArchitecture.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
This section outlines the components and interactions that power the conversational insights platform. The architecture ingests call transcripts and audio files, applies AI services for enrichment and structuring, and surfaces insights via an interactive web experience.
44

5-
![image](./images/readme/solution-architecture.png)
5+
![image](./Images/ReadMe/solution-architecture.png)
66

77
### Call Audio Files / Call Transcripts
88
Raw audio and text-based transcripts are the primary input into the system. These files are uploaded and stored for downstream processing.

infra/process_data_scripts.bicep

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
param solutionLocation string
2+
param keyVaultName string
3+
param identity string
4+
5+
var baseUrl = 'https://raw.githubusercontent.com/microsoft/Conversation-Knowledge-Mining-Solution-Accelerator/main/'
6+
7+
resource process_data_scripts 'Microsoft.Resources/deploymentScripts@2020-10-01' = {
8+
kind:'AzureCLI'
9+
name: 'process_data_scripts'
10+
location: solutionLocation // Replace with your desired location
11+
identity: {
12+
type: 'UserAssigned'
13+
userAssignedIdentities: {
14+
'${identity}' : {}
15+
}
16+
}
17+
properties: {
18+
azCliVersion: '2.52.0'
19+
primaryScriptUri: '${baseUrl}infra/scripts/process_data_scripts.sh'
20+
arguments: '${baseUrl} ${keyVaultName}' // Specify any arguments for the script
21+
timeout: 'PT1H' // Specify the desired timeout duration
22+
retentionInterval: 'PT1H' // Specify the desired retention interval
23+
cleanupPreference:'OnSuccess'
24+
}
25+
}

infra/scripts/copy_kb_files.sh

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,4 +32,6 @@ echo "Script Started"
3232
az login --identity --client-id ${managedIdentityClientId}
3333
# Using az storage blob upload-batch to upload files with managed identity authentication, as the az storage fs directory upload command is not working with managed identity authentication.
3434
az storage blob upload-batch --account-name "$storageAccount" --destination data/"$extractedFolder1" --source /mnt/azscripts/azscriptinput/"$extractedFolder1" --auth-mode login --pattern '*' --overwrite
35-
az storage blob upload-batch --account-name "$storageAccount" --destination data/"$extractedFolder2" --source /mnt/azscripts/azscriptinput/"$extractedFolder2" --auth-mode login --pattern '*' --overwrite
35+
az storage blob upload-batch --account-name "$storageAccount" --destination data/"$extractedFolder2" --source /mnt/azscripts/azscriptinput/"$extractedFolder2" --auth-mode login --pattern '*' --overwrite
36+
az storage fs directory create --account-name "$storageAccount" --file-system data --name custom_audiodata --auth-mode login
37+
az storage fs directory create --account-name "$storageAccount" --file-system data --name custom_transcripts --auth-mode login

0 commit comments

Comments
 (0)