Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added docs/assets/congrats-techconnect.jpeg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
35 changes: 21 additions & 14 deletions docs/workshop.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
published: true
type: workshop
title: Build serverless intelligent Apps with Azure Functions Flex Consumption and extension for OpenAI
short_title: Intelligent app with Flex Consumption and Azure OpenAI
short_title: Build intellignet Apps with Flex Consumption and Azure OpenAI
description: In this workshop you will learn how to build an intelligent application that summarizes audio files using Azure Functions Flex Consumption and Azure OpenAI
level: beginner # Required. Can be 'beginner', 'intermediate' or 'advanced'
navigation_numbering: false
Expand All @@ -13,13 +13,13 @@ contacts: # Required. Must match the number of authors
- "@damienaicheh"
- "@ikhemissi"
duration_minutes: 60
tags: azure, azure functions, durable function, flex consumption, azure openai, entra id, cosmos db, csu, codespace, devcontainer, ignite
tags: azure, azure functions, durable function, flex consumption, azure openai, entra id, cosmos db, csu, codespace, devcontainer, ignite, techconnect
navigation_levels: 3
---

# Build serverless intelligent Apps with Azure Functions Flex Consumption and extension for OpenAI

Welcome to this Azure Functions Workshop. You'll be experimenting with the Azure Functions service in multiple labs to achieve a real world scenario. For all of these labs, you will use Functions' new [Flex Consumption plan](https://learn.microsoft.com/azure/azure-functions/flex-consumption-plan), which is now in general availability at Ignite. Don't worry, this is a step by step lab, and you will be guided through the whole process.
Welcome to this Azure Functions Workshop. You'll be experimenting with the Azure Functions service in multiple labs to achieve a real world scenario. For all of these labs, you will use Functions' new [Flex Consumption plan](https://learn.microsoft.com/azure/azure-functions/flex-consumption-plan), which was released in general availability at Ignite 2024. Don't worry, this is a step by step lab, and you will be guided through the whole process.

During this workshop you will have the instructions to complete each steps. The solutions are placed under the 'Toggle solution' panel.

Expand Down Expand Up @@ -80,6 +80,7 @@ In this workshop, by default, you will be provided with instructions and solutio
<div class="task" data-title="Task">

> - Use the provided Azure subscription details to log into the [Azure Portal][az-portal].
> - Ensure that you are in the project directory `hands-on-lab-azure-functions-flex-openai`
> - In your command prompt, log into the provided Azure subscription using Azure CLI.
> - In your command prompt, log into the provided Azure subscription using Azure Developer CLI.

Expand All @@ -96,7 +97,7 @@ az login -u <username> -p <password>
# Display your account details
az account show

# Go to the project directory
# Ensure you are in the project directory
cd hands-on-lab-azure-functions-flex-openai

# Authenticate using azd
Expand All @@ -113,18 +114,20 @@ azd auth login

In this lab, your function apps are already provisioned in Azure for you. This section will guide you in deploying the project code, the functions, to be hosted on those function apps.

Before you do so, you'll need to refresh your azd environment so that your deployments land on the function apps provisioned for you.

Refresh your azd environment using the following commands:

<div class="important" data-title="Important">

> - The value of the `AZURE_LOCATION` option should be set depending on where your resources are deployed.
> - If the resources are deployed in East US you should use `eastus`, if they are deployed in East US 2 you should use `eastus2`
> - If you are performing the lab at MCAPS Tech Connect, they are deployed in East US 2 and you should use `eastus2`

</div>

```sh
azd env set AZURE_LOCATION <YOUR-RESOURCE-LOCATION> -e ignite --no-prompt
azd env refresh -e ignite
azd env set AZURE_LOCATION eastus2 -e techconnect --no-prompt
azd env refresh -e techconnect
```

Now you can deploy the project code to the function apps by using the following command:
Expand All @@ -151,7 +154,11 @@ azd up

## Application deployment with VS Code

**Skip this section** if you have deployed the project code using the [Azure Developer CLI (azd)][azd].
<div class="important" data-title="Important">

> - **Skip this section** if you have deployed the project code using the [Azure Developer CLI (azd)][azd].

</div>

If you encounter any issues, you can also deploy the functions manually using the [Azure Functions extension for VS Code][vscode-azure-functions-extension] in VS Code:

Expand Down Expand Up @@ -245,7 +252,7 @@ Using RBAC is a security best practice which helps you manage who has access to

<div class="task" data-title="Task">

> - Which role is being used by the uploader function to publish telemetry data to Application Insights ?
> - Which role is being used by the uploader function to publish telemetry data to Application Insights?

</div>

Expand Down Expand Up @@ -515,17 +522,17 @@ By now you should have a solution that invokes Azure OpenAI to create a summary

Congratulations!

Well done on completing the lab at Ignite! Your dedication and hard work have truly paid off. Keep up the great work!
Well done on completing the lab at Tech Connect! Your dedication and hard work have truly paid off. Keep up the great work!

Continue on for a bonus lab to integrate your functions with Azure API Management. If not, visit us at the Serverless booth to learn more about the technologies you tried out today:
Continue on for a bonus lab to integrate your functions with Azure API Management. If not, connect with the product group to learn more about the technologies you tried out today:

- Azure Functions Flex Consumption plan
- Azure Durable Functions
- Azure OpenAI text completion binding
- Azure AI Speech to text
- Azure Functions' triggers and bindings

![](assets/congrats.jpeg)
![](assets/congrats-techconnect.jpeg)

---

Expand Down Expand Up @@ -674,15 +681,15 @@ If you want to see more scenarios regarding APIs and Azure Open AI you can look

# Closing the workshop

If you are attending an instructor-led session at Ignite, please:
**If you are attending an instructor-led session at Tech Connect, please:**

<div class="task" data-title="Task">

> Visit the Skillable Lab page and click End Session to end the session and release all resources. This allows the lab to be run again without quota issues for others.

</div>

If you are doing it outside an instructor-led session at Ignite:
**If you are doing it outside an instructor-led session at Tech Connect:**

Once you're done with this lab you can delete the resource group you created at the beginning.

Expand Down