From e65df452d2cf2293fe496d8248be6df118020fac Mon Sep 17 00:00:00 2001 From: Peter Laudati Date: Mon, 6 Nov 2023 22:14:39 -0500 Subject: [PATCH 1/8] Added OpenAI Fundamentals to WTH home page AND linked to it from the archived "002-IntroToAI" hack --- 002-IntroToAzureAI/README.md | 2 ++ README.md | 5 ++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/002-IntroToAzureAI/README.md b/002-IntroToAzureAI/README.md index b89057686d..614976fc20 100644 --- a/002-IntroToAzureAI/README.md +++ b/002-IntroToAzureAI/README.md @@ -2,6 +2,8 @@ **NOTE: This hack has been marked as "archived" since one of the data sources used by students is no longer available.** +**NOTE:** Please see our NEW hack on [Azure OpenAI Fundamentals](../066-OpenAIFundamentals/README.md) which should replace this hack. + If you would like to update this hack so we can "un-archive" it, please submit a proposal to the What The Hack team as per our [WTH Contribution Guide](https://aka.ms/wthcontribute). We welcome contributions and can provide you more details on what would be needed to update it. ## Introduction diff --git a/README.md b/README.md index 0a577cbc72..62106bad8c 100644 --- a/README.md +++ b/README.md @@ -105,6 +105,7 @@ Here is the current list of What The Hack hackathons available in this repositor - [Azure Chaos Studio for AKS](/055-ChaosStudio4AKS/README.md) ## Data & AI +- [Azure OpenAI Fundamentals](/066-OpenAIFundamentals/README.md) - [Cosmic Troubleshooting](/056-CosmicTroubleshooting/README.md) - [Data Governance with Microsoft Purview](/051-MicrosoftPurview/README.md) - [SQL Modernization and Migration](/043-SQLModernization/README.md) @@ -120,8 +121,6 @@ Here is the current list of What The Hack hackathons available in this repositor - [Bronze/Silver/Gold Using Synapse & Databricks](/060-SynapseAndDatabricks/README.md) - [Conversational AI](/030-ConversationalAI/README.md) - [Databricks/Intro to ML](/008-DatabricksIntroML/README.md) -- [Intro To Azure AI](/002-IntroToAzureAI/README.md) - ARCHIVED -- [Driving Miss Data](/003-DrivingMissData/README.md) - ARCHIVED ## Microsoft Teams Platform - [Microsoft Teams: Make It Real](/034-MicrosoftTeams-MakeItReal/README.md) @@ -151,7 +150,7 @@ Here is the current list of What The Hack hackathons available in this repositor These hacks have been archived due to obsolescence or dependencies on sample code or data that is no longer available. If you are interested in updating these hacks, [contributions are welcome](CONTRIBUTING.md)! Please consider contributing to keep What The Hack up to date. -- [Intro To Azure AI](/002-IntroToAzureAI/README.md) +- [Intro To Azure AI](/002-IntroToAzureAI/README.md) - Be sure to see our NEW hack on [Azure OpenAI Fundamentals](/066-OpenAIFundamentals/README.md) - [Driving Miss Data](/003-DrivingMissData/README.md) # License From b83d74bfab1dad3ec1a288feff000b1e1c38ff32 Mon Sep 17 00:00:00 2001 From: Peter Laudati Date: Mon, 6 Nov 2023 22:22:07 -0500 Subject: [PATCH 2/8] added whitelist file for 002 --- 002-IntroToAzureAI/.wordlist.txt | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 002-IntroToAzureAI/.wordlist.txt diff --git a/002-IntroToAzureAI/.wordlist.txt b/002-IntroToAzureAI/.wordlist.txt new file mode 100644 index 0000000000..9e219c4f3f --- /dev/null +++ b/002-IntroToAzureAI/.wordlist.txt @@ -0,0 +1,5 @@ +Edell +IntelligentKiosk +ServiceHelpers +botframework +customvision \ No newline at end of file From 67fd4b0c4b15e01fe060e1ede341f6147c533e8a Mon Sep 17 00:00:00 2001 From: "Peter C. Laudati" Date: Wed, 10 Apr 2024 23:27:08 -0400 Subject: [PATCH 3/8] Update README.md added link to 069 to the homepage --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 62106bad8c..3c54302e63 100644 --- a/README.md +++ b/README.md @@ -106,6 +106,7 @@ Here is the current list of What The Hack hackathons available in this repositor ## Data & AI - [Azure OpenAI Fundamentals](/066-OpenAIFundamentals/README.md) +- [Fabric Real-time Analytics](/069-FabricRealTimeAnalytics/README.md) - [Cosmic Troubleshooting](/056-CosmicTroubleshooting/README.md) - [Data Governance with Microsoft Purview](/051-MicrosoftPurview/README.md) - [SQL Modernization and Migration](/043-SQLModernization/README.md) From c66b443d6e8ac09a6bffa63051f2a49c3e305d8f Mon Sep 17 00:00:00 2001 From: "Peter C. Laudati" Date: Sun, 12 May 2024 22:39:15 -0400 Subject: [PATCH 4/8] Update spellcheck.yml Testing md_in_html extension for pyseplling --- .github/workflows/spell-check/spellcheck.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.github/workflows/spell-check/spellcheck.yml b/.github/workflows/spell-check/spellcheck.yml index bb80ac62a8..354cf7553e 100644 --- a/.github/workflows/spell-check/spellcheck.yml +++ b/.github/workflows/spell-check/spellcheck.yml @@ -14,6 +14,7 @@ matrix: - pyspelling.filters.markdown: markdown_extensions: - pymdownx.superfences + - md_in_html - pyspelling.filters.html: comments: false ignores: From a2c9fbcc233d90194f8121414b94f434df5e7f09 Mon Sep 17 00:00:00 2001 From: Peter Laudati Date: Sun, 3 Aug 2025 22:57:25 -0400 Subject: [PATCH 5/8] added top-level devcontainer files for 068 AI Apps hack --- .devcontainer/068-AzureOpenAIApps/Dockerfile | 19 +++++++ .../068-AzureOpenAIApps/devcontainer.json | 55 +++++++++++++++++++ .../068-AzureOpenAIApps/postAttachCommands.sh | 25 +++++++++ 3 files changed, 99 insertions(+) create mode 100644 .devcontainer/068-AzureOpenAIApps/Dockerfile create mode 100644 .devcontainer/068-AzureOpenAIApps/devcontainer.json create mode 100755 .devcontainer/068-AzureOpenAIApps/postAttachCommands.sh diff --git a/.devcontainer/068-AzureOpenAIApps/Dockerfile b/.devcontainer/068-AzureOpenAIApps/Dockerfile new file mode 100644 index 0000000000..2dddc78bba --- /dev/null +++ b/.devcontainer/068-AzureOpenAIApps/Dockerfile @@ -0,0 +1,19 @@ +# Use the official Microsoft Python Dev Container image +FROM mcr.microsoft.com/devcontainers/python:3.11 + +# Install any additional dependencies +RUN apt-get update && apt-get install -y \ + && apt-get clean -y && rm -rf /var/lib/apt/lists/* + +# Install Azure CLI and Bicep +RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash && \ + az bicep install + +# Set the working directory +WORKDIR /workspace + +# Copy the current directory contents into the container +COPY . /workspace + +# Install Python dependencies if requirements.txt exists +RUN if [ -f "requirements.txt" ]; then pip install -r requirements.txt; fi \ No newline at end of file diff --git a/.devcontainer/068-AzureOpenAIApps/devcontainer.json b/.devcontainer/068-AzureOpenAIApps/devcontainer.json new file mode 100644 index 0000000000..c7f7e371b5 --- /dev/null +++ b/.devcontainer/068-AzureOpenAIApps/devcontainer.json @@ -0,0 +1,55 @@ +{ + "name": "What The Hack AI Apps", + "build": { + "dockerfile": "Dockerfile", + "context": "..", + "options": [ + "--platform=linux/amd64" + ] + }, + "workspaceFolder": "/workspace/068-AzureOpenAIApps/Student/Resources", + "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached", + "onCreateCommand": "npm install -g @angular/cli azure-functions-core-tools@4", + "postAttachCommand": "bash .devcontainer/postAttachCommands.sh", + "features": { + "ghcr.io/devcontainers/features/azure-cli:1": { + "installBicep": false + }, + "ghcr.io/devcontainers/features/node:1": {}, + "ghcr.io/devcontainers/features/github-cli:1": {} + }, + "customizations": { + "codespaces": { + "openFiles": [] + }, + "vscode": { + "extensions": [ + "ms-dotnettools.vscode-dotnet-runtime", + "ms-dotnettools.csdevkit", + "ms-dotnettools.csharp", + "ms-azuretools.vscode-azurefunctions", + "ms-vscode.vscode-typescript-next", + "ms-vscode.azure-account", + "ms-azuretools.vscode-azureresourcegroups", + "humao.rest-client", + "ms-azuretools.vscode-bicep", + "adamraichu.pdf-viewer" + ] + } + }, + "hostRequirements": { + "cpus": 2 + }, + "forwardPorts": [ + 7072, + 4200 // Added port 4200 + ], + "portsAttributes": { + "7072": { + "label": "backend" + }, + "4200": { // Added attributes for port 4200 + "label": "frontend" + } + } +} \ No newline at end of file diff --git a/.devcontainer/068-AzureOpenAIApps/postAttachCommands.sh b/.devcontainer/068-AzureOpenAIApps/postAttachCommands.sh new file mode 100755 index 0000000000..0cca741185 --- /dev/null +++ b/.devcontainer/068-AzureOpenAIApps/postAttachCommands.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# Log some info we might need to troubleshoot. +ls /workspaces > ~/postAttachCommands.log +env >> ~/postAttachCommands.log + +# Retrieve the Codespace name if not already set. +if [ -z "$CODESPACE_NAME" ]; then + CODESPACE_NAME=$(gh codespace list --json name --jq '.[0].name') +fi + +# Change the backend and frontend port visibility to public... +gh codespace ports -c $CODESPACE_NAME >> ~/postAttachCommands.log +gh codespace ports visibility 7072:public -c $CODESPACE_NAME +gh codespace ports visibility 4200:public -c $CODESPACE_NAME +gh codespace ports -c $CODESPACE_NAME >> ~/postAttachCommands.log + +# Update the backend URL in the environment.ts file. +BACKEND_ADDRESS=$(gh codespace ports -c $CODESPACE_NAME --json label,browseUrl | jq -r '.[] | select(.label == "backend").browseUrl') +sed -i 's|http://localhost:7072|'$BACKEND_ADDRESS'|g' $CODESPACE_VSCODE_FOLDER/ContosoAIAppsFrontend/src/environments/environment.ts + +# Update the frontend URL in the environment.ts file (if needed). +FRONTEND_ADDRESS=$(gh codespace ports -c $CODESPACE_NAME --json label,browseUrl | jq -r '.[] | select(.label == "frontend").browseUrl') +sed -i 's|http://localhost:4200|'$FRONTEND_ADDRESS'|g' $CODESPACE_VSCODE_FOLDER/ContosoAIAppsFrontend/src/environments/environment.ts + From 9b110d029896637d601204f66cf4fc1e23e4ed9a Mon Sep 17 00:00:00 2001 From: Peter Laudati Date: Sun, 3 Aug 2025 22:59:28 -0400 Subject: [PATCH 6/8] Revert "added top-level devcontainer files for 068 AI Apps hack" This reverts commit a2c9fbcc233d90194f8121414b94f434df5e7f09. --- .devcontainer/068-AzureOpenAIApps/Dockerfile | 19 ------- .../068-AzureOpenAIApps/devcontainer.json | 55 ------------------- .../068-AzureOpenAIApps/postAttachCommands.sh | 25 --------- 3 files changed, 99 deletions(-) delete mode 100644 .devcontainer/068-AzureOpenAIApps/Dockerfile delete mode 100644 .devcontainer/068-AzureOpenAIApps/devcontainer.json delete mode 100755 .devcontainer/068-AzureOpenAIApps/postAttachCommands.sh diff --git a/.devcontainer/068-AzureOpenAIApps/Dockerfile b/.devcontainer/068-AzureOpenAIApps/Dockerfile deleted file mode 100644 index 2dddc78bba..0000000000 --- a/.devcontainer/068-AzureOpenAIApps/Dockerfile +++ /dev/null @@ -1,19 +0,0 @@ -# Use the official Microsoft Python Dev Container image -FROM mcr.microsoft.com/devcontainers/python:3.11 - -# Install any additional dependencies -RUN apt-get update && apt-get install -y \ - && apt-get clean -y && rm -rf /var/lib/apt/lists/* - -# Install Azure CLI and Bicep -RUN curl -sL https://aka.ms/InstallAzureCLIDeb | bash && \ - az bicep install - -# Set the working directory -WORKDIR /workspace - -# Copy the current directory contents into the container -COPY . /workspace - -# Install Python dependencies if requirements.txt exists -RUN if [ -f "requirements.txt" ]; then pip install -r requirements.txt; fi \ No newline at end of file diff --git a/.devcontainer/068-AzureOpenAIApps/devcontainer.json b/.devcontainer/068-AzureOpenAIApps/devcontainer.json deleted file mode 100644 index c7f7e371b5..0000000000 --- a/.devcontainer/068-AzureOpenAIApps/devcontainer.json +++ /dev/null @@ -1,55 +0,0 @@ -{ - "name": "What The Hack AI Apps", - "build": { - "dockerfile": "Dockerfile", - "context": "..", - "options": [ - "--platform=linux/amd64" - ] - }, - "workspaceFolder": "/workspace/068-AzureOpenAIApps/Student/Resources", - "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached", - "onCreateCommand": "npm install -g @angular/cli azure-functions-core-tools@4", - "postAttachCommand": "bash .devcontainer/postAttachCommands.sh", - "features": { - "ghcr.io/devcontainers/features/azure-cli:1": { - "installBicep": false - }, - "ghcr.io/devcontainers/features/node:1": {}, - "ghcr.io/devcontainers/features/github-cli:1": {} - }, - "customizations": { - "codespaces": { - "openFiles": [] - }, - "vscode": { - "extensions": [ - "ms-dotnettools.vscode-dotnet-runtime", - "ms-dotnettools.csdevkit", - "ms-dotnettools.csharp", - "ms-azuretools.vscode-azurefunctions", - "ms-vscode.vscode-typescript-next", - "ms-vscode.azure-account", - "ms-azuretools.vscode-azureresourcegroups", - "humao.rest-client", - "ms-azuretools.vscode-bicep", - "adamraichu.pdf-viewer" - ] - } - }, - "hostRequirements": { - "cpus": 2 - }, - "forwardPorts": [ - 7072, - 4200 // Added port 4200 - ], - "portsAttributes": { - "7072": { - "label": "backend" - }, - "4200": { // Added attributes for port 4200 - "label": "frontend" - } - } -} \ No newline at end of file diff --git a/.devcontainer/068-AzureOpenAIApps/postAttachCommands.sh b/.devcontainer/068-AzureOpenAIApps/postAttachCommands.sh deleted file mode 100755 index 0cca741185..0000000000 --- a/.devcontainer/068-AzureOpenAIApps/postAttachCommands.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh - -# Log some info we might need to troubleshoot. -ls /workspaces > ~/postAttachCommands.log -env >> ~/postAttachCommands.log - -# Retrieve the Codespace name if not already set. -if [ -z "$CODESPACE_NAME" ]; then - CODESPACE_NAME=$(gh codespace list --json name --jq '.[0].name') -fi - -# Change the backend and frontend port visibility to public... -gh codespace ports -c $CODESPACE_NAME >> ~/postAttachCommands.log -gh codespace ports visibility 7072:public -c $CODESPACE_NAME -gh codespace ports visibility 4200:public -c $CODESPACE_NAME -gh codespace ports -c $CODESPACE_NAME >> ~/postAttachCommands.log - -# Update the backend URL in the environment.ts file. -BACKEND_ADDRESS=$(gh codespace ports -c $CODESPACE_NAME --json label,browseUrl | jq -r '.[] | select(.label == "backend").browseUrl') -sed -i 's|http://localhost:7072|'$BACKEND_ADDRESS'|g' $CODESPACE_VSCODE_FOLDER/ContosoAIAppsFrontend/src/environments/environment.ts - -# Update the frontend URL in the environment.ts file (if needed). -FRONTEND_ADDRESS=$(gh codespace ports -c $CODESPACE_NAME --json label,browseUrl | jq -r '.[] | select(.label == "frontend").browseUrl') -sed -i 's|http://localhost:4200|'$FRONTEND_ADDRESS'|g' $CODESPACE_VSCODE_FOLDER/ContosoAIAppsFrontend/src/environments/environment.ts - From 036c3f49a7db03f7df0c4152821bc4c9cbb8ca88 Mon Sep 17 00:00:00 2001 From: "Peter C. Laudati" Date: Wed, 25 Mar 2026 01:01:13 -0400 Subject: [PATCH 7/8] Add New Relic Agent Observability link to README --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 532050f8c2..80a01d3b55 100644 --- a/README.md +++ b/README.md @@ -56,6 +56,7 @@ Here is the current list of What The Hack hackathons available in this repositor - [Building AI Apps with Azure OpenAI & the Azure Ecosystem](/068-AzureOpenAIApps/README.md) - [Build Your Own Copilot](/070-BuildYourOwnCopilot/README.md) - [GitHub Copilot](/071-GitHubCopilot/README.md) +- [New Relic Agent Observability](/073-NewRelicAgentObservability/README.md) ## Infrastructure - [Intro To Kubernetes](/001-IntroToKubernetes/README.md) @@ -98,6 +99,7 @@ Here is the current list of What The Hack hackathons available in this repositor ## Operations - [Azure Monitoring](/007-AzureMonitoring/README.md) - [Datadog On Azure](/059-DatadogOnAzure/README.md) +- [New Relic Agent Observability](/073-NewRelicAgentObservability/README.md) - [DevOps with GitHub](/031-DevOpsWithGitHub/README.md) - [Modern Development and DevOps with GitHub](/065-ModernGitHubDev/README.md) - [DevOps with GitHub Actions](/044-DevOpswithGithubActions/README.md) From a01d6caa968af780a1c223d7c355eb66a48e49f3 Mon Sep 17 00:00:00 2001 From: Peter Laudati Date: Wed, 25 Mar 2026 01:06:19 -0400 Subject: [PATCH 8/8] renamed 073 devcontainer --- .../devcontainer.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) rename .devcontainer/{073-AgentFrameworkObservabilityWithNewRelic => 073-NewRelicAgentObservability}/devcontainer.json (89%) diff --git a/.devcontainer/073-AgentFrameworkObservabilityWithNewRelic/devcontainer.json b/.devcontainer/073-NewRelicAgentObservability/devcontainer.json similarity index 89% rename from .devcontainer/073-AgentFrameworkObservabilityWithNewRelic/devcontainer.json rename to .devcontainer/073-NewRelicAgentObservability/devcontainer.json index 4e4ec82bb9..05c76fc775 100644 --- a/.devcontainer/073-AgentFrameworkObservabilityWithNewRelic/devcontainer.json +++ b/.devcontainer/073-NewRelicAgentObservability/devcontainer.json @@ -1,6 +1,6 @@ { "image": "mcr.microsoft.com/devcontainers/python:3", - "workspaceFolder": "/workspace/073-AgentFrameworkObservabilityWithNewRelic/Student/Resources", + "workspaceFolder": "/workspace/073-NewRelicAgentObservability/Student/Resources", "workspaceMount": "source=${localWorkspaceFolder},target=/workspace,type=bind,consistency=cached", "features": { "azure-cli": "latest",