Skip to content

Commit bf7caa5

Browse files
feat: Add Multi-Industry Use Case Support (Contact Center & IT Helpdesk) with Deployment Improvements
2 parents bdc7e5c + b27a7da commit bf7caa5

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

51 files changed

+330678
-28291
lines changed

.devcontainer/devcontainer.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@
55
"features": {
66
"ghcr.io/azure/azure-dev/azd:latest": {},
77
"ghcr.io/devcontainers/features/azure-cli:1": {},
8-
"ghcr.io/devcontainers/features/docker-in-docker:2": {}
8+
"ghcr.io/devcontainers/features/docker-in-docker:2": {},
9+
"ghcr.io/jlaundry/devcontainer-features/mssql-odbc-driver:1": {
10+
"version": "18"
11+
}
912
},
1013
"customizations": {
1114
"vscode": {

.devcontainer/setup_env.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,5 @@ git pull
66
# provide execute permission to quotacheck script
77
sudo chmod +x ./infra/scripts/checkquota_km.sh
88
sudo chmod +x ./infra/scripts/quota_check_params.sh
9-
sudo chmod +x ./infra/scripts/run_process_data_scripts.sh
9+
sudo chmod +x ./infra/scripts/process_sample_data.sh
10+
sudo chmod +x ./infra/scripts/process_custom_data.sh

README.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,6 +151,18 @@ Employees can engage directly with conversational data using natural language, e
151151
Clear, contextual insights empower employees to take meaningful action based on data-driven evidence.
152152

153153
154+
</details>
155+
156+
### Use Case
157+
<details>
158+
<summary>Click to learn more about what use cases this solution provides</summary>
159+
<br/>
160+
161+
| **Use case** | **Persona** | **Challenges** | **Summary/approach** |
162+
|---|---|---|---|
163+
| Contact Center Customer Support | Analyst | Difficulty in extracting actionable insights from large, complex datasets due to limited context or practical considerations. Limited ability to engage with data interactively, making it challenging to find the right questions to dig deeper.| Contextualized insights from mined data that enables employees to solve problems and take action. Interactive data that allow employees to ask questions and receive timely responses, providing better understanding and problem-solving.|
164+
IT Helpdesk | IT Helpdesk Analyst | Manually reviewing IT Helpdesk calls to identify recurring issues is time-consuming and inefficient. Creating graphs, analyzing performance problems, and drafting FAQs is often a slow process, leaving gaps in self-service support. | Address these challenges by leveraging AI to gain insights from call data, generating visual summaries, uncovering common issues, and producing FAQ content, transforming a labor-intensive review process into a fast, accurate, and actionable workflow. |
165+
154166
</details>
155167

156168
<br /><br />

azure.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,18 @@ hooks:
1818
run: |
1919
Write-Host "Web app URL: "
2020
Write-Host "$env:WEB_APP_URL" -ForegroundColor Cyan
21+
Write-Host "`nRun the following command in your Bash terminal. It will grant the necessary permissions between resources and your user account, and also process and load the sample data into the application."
22+
Write-Host "bash ./infra/scripts/process_sample_data.sh" -ForegroundColor Cyan
2123
shell: pwsh
2224
continueOnError: false
2325
interactive: true
2426
posix:
2527
run: |
2628
echo "Web app URL: "
2729
echo $WEB_APP_URL
30+
echo ""
31+
echo "Run the following command in your Bash terminal. It will grant the necessary permissions between resources and your user account, and also process and load the sample data into the application."
32+
echo "bash ./infra/scripts/process_sample_data.sh"
2833
shell: sh
2934
continueOnError: false
3035
interactive: true

documents/CustomizeData.md

Lines changed: 17 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,24 @@ If you would like to update the solution to leverage your own data please follow
1414
> **Note for WAF-aligned deployments:** If your deployment uses private networking, you'll need to log into a VM within the virtual network to upload files. See [VM login instructions](#how-to-login-to-vm-using-azure-bastion) below.
1515
1616
3. If you have audio files, upload them to `custom_audiodata` folder. If you have call transcript files, upload them to `custom_transcripts` folder.
17-
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.
18-
```shell
19-
cd infra/scripts
20-
21-
az login
22-
23-
bash run_process_data_scripts.sh resourcegroupname_param
17+
4. Navigate to the terminal and run the `process_custom_data.sh` script to process the new data into the solution with the following commands:
18+
19+
```bash
20+
bash ./infra/scripts/process_custom_data.sh
21+
```
22+
23+
If you don't have `azd env` then you need to pass parameters along with the command. Parameters are grouped by service for clarity. The command will look like the following:
24+
25+
```bash
26+
bash ./infra/scripts/process_custom_data.sh \
27+
<Resource-Group-Name> <Azure-Subscription-ID> \
28+
<Storage-Account-Name> <Storage-Container-Name> \
29+
<SQL-Server-Name> <SQL-Database-Name> <Backend-User-MID-Client-ID> <Backend-User-MID-Display-Name> \
30+
<AI-Search-Name> <Search-Endpoint> \
31+
<AI-Foundry-Resource-ID> <CU-Foundry-Resource-ID> \
32+
<OpenAI-Endpoint> <Embedding-Model> <Deployment-Model> \
33+
<CU-Endpoint> <AI-Agent-Endpoint> <CU-API-Version>
2434
```
25-
a. resourcegroupname_param - the name of the resource group.
2635
2736
## How to Login to VM Using Azure Bastion
2837

documents/DeploymentGuide.md

Lines changed: 60 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ To deploy this solution, ensure you have access to an [Azure subscription](https
66

77
Check the [Azure Products by Region](https://azure.microsoft.com/en-us/explore/global-infrastructure/products-by-region/?products=all&regions=all) page and select a **region** where the following services are available:
88

9-
- [Azure AI Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry)
10-
- [Azure AI Content Understanding Service](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/)
9+
- [Microsoft Foundry](https://learn.microsoft.com/en-us/azure/ai-foundry)
10+
- [Azure Content Understanding Service](https://learn.microsoft.com/en-us/azure/ai-services/content-understanding/)
1111
- [Azure OpenAI Service](https://learn.microsoft.com/en-us/azure/ai-services/openai/)
1212
- [GPT Model Capacity](https://learn.microsoft.com/en-us/azure/ai-services/openai/concepts/models)
13-
- [Azure AI Search](https://learn.microsoft.com/en-us/azure/search/search-what-is-azure-search)
13+
- [Foundry IQ](https://learn.microsoft.com/en-us/azure/search/search-what-is-azure-search)
1414
- [Azure SQL Database](https://learn.microsoft.com/en-us/azure/azure-sql/database/sql-database-paas-overview)
1515
- [Azure Cosmos DB](https://learn.microsoft.com/en-us/azure/cosmos-db/introduction)
1616
- [Azure Container Apps](https://learn.microsoft.com/en-us/azure/container-apps/)
@@ -150,6 +150,7 @@ If you're not using one of the above options for opening the project, then you'l
150150
- [Python 3.9+](https://www.python.org/downloads/)
151151
- [Docker Desktop](https://www.docker.com/products/docker-desktop/)
152152
- [Git](https://git-scm.com/downloads)
153+
- [Microsoft ODBC Driver 18](https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16) for SQL Server.
153154

154155
2. Clone the repository or download the project code via command-line:
155156

@@ -176,6 +177,7 @@ When you start the deployment, most parameters will have **default values**, but
176177
| **Azure Region** | The region where resources will be created. | *(empty)* |
177178
| **Environment Name** | A **3–20 character alphanumeric value** used to generate a unique ID to prefix the resources. | env\_name |
178179
| **Azure AI Content Understanding Location** | Region for content understanding resources. | swedencentral |
180+
| **Use Case** | Industry use case: **Contact-center** or **IT_helpdesk**. | (empty) |
179181
| **Secondary Location** | A **less busy** region for **Azure SQL and Azure Cosmos DB**, useful in case of availability constraints. | eastus2 |
180182
| **Deployment Type** | Select from a drop-down list (allowed: `Standard`, `GlobalStandard`). | GlobalStandard |
181183
| **GPT Model** | Choose from **gpt-4, gpt-4o, gpt-4o-mini**. | gpt-4o-mini |
@@ -244,12 +246,64 @@ Once you've opened the project in [Codespaces](#github-codespaces), [Dev Contain
244246
245247
3. Provide an `azd` environment name (e.g., "ckmapp").
246248
4. Select a subscription from your Azure account and choose a location that has quota for all the resources.
247-
-- This deployment will take *7-10 minutes* to provision the resources in your account and set up the solution with sample data.
249+
5. Choose the use case:
250+
- **Contact-center**
251+
- **IT_helpdesk**
252+
253+
- This deployment generally takes **7-10 minutes** to provision the resources in your account and set up the solution.
248254
- If you encounter an error or timeout during deployment, changing the location may help, as there could be availability constraints for the resources.
249255
250-
5. Once the deployment has completed successfully, open the [Azure Portal](https://portal.azure.com/), go to the deployed resource group, find the App Service, and get the app URL from `Default domain`.
256+
5. Once the deployment has completed successfully, copy the bash command from terminal: (ex: `bash ./infra/scripts/process_sample_data.sh`) for later use.
257+
258+
6. Create and activate a virtual environment in bash terminal:
259+
260+
```shell
261+
python -m venv .venv
262+
```
263+
264+
**For Windows (Bash):**
265+
```shell
266+
source .venv/Scripts/activate
267+
```
268+
269+
**For Linux/VS Code Web (Bash):**
270+
```shell
271+
source .venv/bin/activate
272+
```
273+
274+
7. Login to Azure:
275+
276+
```shell
277+
az login
278+
```
279+
280+
Alternatively, login to Azure using a device code (recommended when using VS Code Web):
281+
282+
```shell
283+
az login --use-device-code
284+
```
285+
8. Run the bash script from the output of the azd deployment. The script will look like the following:
286+
287+
```bash
288+
bash ./infra/scripts/process_sample_data.sh
289+
```
290+
291+
If you don't have `azd env` then you need to pass parameters along with the command. Parameters are grouped by service for clarity. The command will look like the following:
292+
293+
```bash
294+
bash ./infra/scripts/process_sample_data.sh \
295+
<Resource-Group-Name> <Azure-Subscription-ID> \
296+
<Storage-Account-Name> <Storage-Container-Name> \
297+
<SQL-Server-Name> <SQL-Database-Name> <Backend-User-MID-Client-ID> <Backend-User-MID-Display-Name> \
298+
<AI-Search-Name> <Search-Endpoint> \
299+
<AI-Foundry-Resource-ID> <CU-Foundry-Resource-ID> \
300+
<OpenAI-Endpoint> <Embedding-Model> <Deployment-Model> \
301+
<CU-Endpoint> <AI-Agent-Endpoint> <CU-API-Version> <Use-Case>
302+
```
303+
304+
9. Once the deployment has completed successfully, open the [Azure Portal](https://portal.azure.com/), go to the deployed resource group, find the App Service, and get the app URL from `Default domain`.
251305

252-
6. If you are done trying out the application, you can delete the resources by running `azd down`.
306+
10. You can now delete the resources by running `azd down`, if you are done trying out the application.
253307
> **Note:** If you deployed with `enableRedundancy=true` and Log Analytics workspace replication is enabled, you must first disable replication before running `azd down` else resource group delete will fail. Follow the steps in [Handling Log Analytics Workspace Deletion with Replication Enabled](./LogAnalyticsReplicationDisable.md), wait until replication returns `false`, then run `azd down`.
254308

255309
### 🛠️ Troubleshooting
-31.1 KB
Loading

documents/LocalDebuggingSetup.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ Install these tools before you start:
1111
- [Azure Tools](https://marketplace.visualstudio.com/items?itemName=ms-vscode.vscode-node-azure-pack)
1212
- [Bicep](https://marketplace.visualstudio.com/items?itemName=ms-azuretools.vscode-bicep)
1313
- [Python](https://marketplace.visualstudio.com/items?itemName=ms-python.python)
14-
- [Python 3.11](https://www.python.org/downloads/). **Important:** Check "Add Python to PATH" during installation.
14+
- [Python 3.9+](https://www.python.org/downloads/). **Important:** Check "Add Python to PATH" during installation.
1515
- [PowerShell 7.0+](https://github.com/PowerShell/PowerShell#get-powershell).
1616
- [Node.js (LTS)](https://nodejs.org/en).
1717
- [Git](https://git-scm.com/downloads).
1818
- [Azure Developer CLI (azd) v1.18.0+](https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd).
19-
- [Microsoft ODBC Driver 17](https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16) for SQL Server.
19+
- [Microsoft ODBC Driver 18](https://learn.microsoft.com/en-us/sql/connect/odbc/download-odbc-driver-for-sql-server?view=sql-server-ver16) for SQL Server.
2020

2121

2222
## Setup Steps

documents/SampleQuestions.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ To help you get started, here are some **Sample Prompts** you can ask in the app
55
> Note: To avoid rate limit errors, pause for 2–3 seconds after a response before submitting the next question. <br>
66
Average response time is 8–14 seconds.
77

8+
For Contact Center (telecom) use case:
89
1. Ask the following questions:
910
- Total number of calls by date for last 7 days.
1011
- To view the response data as a graph, just prompt "Generate Chart".
@@ -16,5 +17,12 @@ Average response time is 8–14 seconds.
1617

1718
![GenerateDraft](Images/Samplequestions1.png)
1819

20+
For IT Helpdesk use case:
21+
1. Ask the following questions:
22+
- Please provide the total number of calls by date for last 7 days
23+
- Generate a bar chart showing the number of helpdesk calls per day for the last week.
24+
- Provide a summary of performance issues users reported this week.
25+
- Turn these key topics into a structured FAQ.
26+
1927

2028
This structured approach helps users quickly extract actionable insights from client conversations to help users understand priorities, trends, and opportunities for better engagement.
11.4 KB
Binary file not shown.

0 commit comments

Comments
 (0)