-
Notifications
You must be signed in to change notification settings - Fork 2.9k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* 1. Refactored docs - v1 complete * refactored / added DS changes, added explainers * fixed link
- Loading branch information
Showing
22 changed files
with
356 additions
and
347 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,52 +1,48 @@ | ||
# 0️⃣ | Pre-Requisites | ||
|
||
!!! warning "PRE-REQUISITES FOR THIS WORKSHOP" | ||
|
||
To participate in this workshop you will need the following: | ||
|
||
1. **Your own laptop.** Should have a modern browser, preferably Microsoft Edge. | ||
1. **A GitHub account.** A personal account with GitHub Codespaces access. | ||
1. **An Azure subscription.** With access to Azure OpenAI Model deployments. | ||
|
||
!!! info "GOOD-TO-HAVE SKILLS FOR DEVELOPMENT" | ||
|
||
1. **Familiarity with VS Code.** Our default development environment. | ||
1. **Familiarity with Python**. Our default coding language. | ||
1. **Familiarity with Azure CLIs.** Our default deployment tooling. | ||
|
||
!!! warning "To participate in this workshop you will need the following" | ||
|
||
1. **Your own laptop.** | ||
* It need only be capable of running a browser and GitHub Codespaces, so almost any laptop will do. | ||
* A recent version of the Edge, Chrome or Safari browser is recommended. | ||
1. **A GitHub Account.** | ||
* If you don't have one, you can [sign up for a free account](https://github.com/signup) now. | ||
* After this workshop is complete, you will have a fork of the "contoso-chat" repository in your GitHub account, which includes all the materials you will need to reproduce this workshop at home. | ||
1. (recommended) **Familiarity with Visual Studio Code.** | ||
* We will run all code in GitHub Codespaces, a virtualized Linux machine, instead of your local laptop. We won't be running anything on your laptop directly. | ||
* VS Code Online will be our development environment in GitHub Codespaces. | ||
* If you are familiar with running Codespaces within VS Code Desktop on your laptop, feel free to do so. | ||
1. (preferred) **Familiarity with the `bash` shell.** | ||
* We'll be using `bash` to run commands in the VS Code terminal, including Azure CLI commands. | ||
1. (preferred) **Familiarity with Python and Jupyter Notebooks** | ||
* We'll be creating Python scripts and running them from the command line and from Notebooks. | ||
|
||
## What You Learn | ||
|
||
In this hands-on workshop, you will learn to: | ||
|
||
* Use the Azure AI platform for code-first development of custom copilot solutions | ||
* **Infrastructure**: Simplified provisioning and deployment with Azure Developer CLI | ||
* **Ideation**: Rapid prototyping with Prompty asset and Azure AI model deployments | ||
* **Evaluation**: Manual and AI-assisted testing with custom evaluators (for quality, safety) | ||
* **Operationalization**: Deployment using Azure Container Apps (next: monitoring & actions) | ||
* **Customization**: adapt to your application needs (data, prompts, models, evaluators) | ||
In this hands-on workshop, you will learn to use the Azure AI platform for code-first development of custom copilot solutions: | ||
|
||
The workshop is designed for delivery in two formats: | ||
* **Infrastructure** → Simplified provisioning and deployment with Azure Developer CLI | ||
* **Ideation** → Rapid prototyping with Prompty asset and Azure AI model deployments | ||
* **Evaluation** → Manual and AI-assisted testing with custom evaluators (for quality, safety) | ||
* **Deployment** → Deployment using Azure Container Apps (plus: monitoring & actions) | ||
* **Customization** → adapt sample to your app needs (data, prompts, models, evaluators) | ||
|
||
- **Tour-guided** where you join an instructor-led session (e.g., on Microsoft AI Tour) | ||
- **Self-guided** where you walk through instructions on your own (e.g., at home) | ||
|
||
## Tour-Guided Version | ||
## Pick Your Path | ||
|
||
Offered as instructor-led sessions on the [Microsoft AI Tour](https://aka.ms/aitour). | ||
The workshop is designed for delivery on the Microsoft AI Tour as an **instructor-guided** session lasting 75 minutes. It can also be completed as a **self-guided** lab where you walk through the instructions on your own at home. Pick the relevant option and let's get started. | ||
|
||
- [X] You will be provided with an Azure subscription (just bring your laptop) | ||
- [X] The infrastructure will be pre-provisioned for you to save you time (just launch lab VM) | ||
- [X] You will have a fixed time (**75 minutes**) to complete the workshop (in venue) | ||
_Tip: every page will have these handy **Next →** markers to help you navigate the sections_. | ||
|
||
!!! info "Start Here: 01 | Tour Guided: Setup → [1️⃣ | Getting Started](./../01-Tour-Guide-Setup/01-setup.md)" | ||
??? example "**Next** → Joining the instructor-led session at Microsoft AI Tour? [Get Started Here](./../01-Tour-Guide-Setup/01-setup.md)" | ||
|
||
## Self-Guided Version | ||
- [X] You will be provided with an Azure subscription. Just bring your laptop. | ||
- [X] The infrastructure is pre-provisioned for you. Just launch the lab to get started. | ||
- [X] The sessions run for a fixed time. You have 75 minutes to complete the lab. | ||
|
||
Work through the instructions on your own | ||
??? example "**Next** → Doing a self-guided walkthrough of the workshop? [Get Started Here](./../02-Self-Guide-Setup/02-provision.md)" | ||
|
||
- [X] You will use your own Azure subscription and laptop (see pre-requisites) | ||
- [X] You will provision Azure infrastructure and deploy the application yourself. | ||
- [X] You can work at your own pace and explore todebase with no time constraints. | ||
- [X] You will use your own Azure subscription and laptop. | ||
- [X] You will provision Azure infrastructure and deploy the application yourself. | ||
- [X] Work at your own pace. Explore the codebase without time constraints. | ||
|
||
!!! info "Start Here: 02 | Self Guided: Setup → [1️⃣ | Getting Started](./../02-Self-Guide-Setup/01-setup.md)" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,62 +1,99 @@ | ||
# 2️⃣ | Validate Setup | ||
|
||
!!! info "Let's Review: We should have these tabs open in browser" | ||
!!! success "Let's Review where we are right now" | ||
|
||
1. Tab A = Skillable Lab | ||
2. Tab B = Skillable VM | ||
3. Tab 1️⃣ = GitHub Repo | ||
4. Tab 2️⃣ = GitHub Codespaces | ||
5. Tab 3️⃣ = Azure Portal | ||
6. Tab 4️⃣ = Azure AI Studio | ||
7. Tab 5️⃣ = Azure Container Apps. | ||
We should have the following windows and tabs open in our device: | ||
|
||
_In this section we'll authenticate with Azure from our GitHub Codespaces environment, and do some post-provisioning steps to get us ready for development_. | ||
1. Window A = Skillable Lab (starting point) | ||
2. Window B = Skillable VM (with our Azure credentials) | ||
3. Tab 1️⃣ = GitHub Repo (starting point) | ||
4. Tab 2️⃣ = GitHub Codespaces (development environment) | ||
5. Tab 3️⃣ = Azure Portal (provisioned resources) | ||
6. Tab 4️⃣ = Azure AI Studio (AI project & models) | ||
7. Tab 5️⃣ = Azure Container Apps (Deployment target) | ||
|
||
_We have our Azure infrastructure resources pre-provisioned, but we need to populate our data and deploy the initial application to Azure. Let's get this done_. | ||
|
||
## On GitHub Codespaces | ||
|
||
Lets authenticate with Azure and configure local development environment to use infrastructure. | ||
## 1. Check: VS Code Ready | ||
|
||
_We had left GitHub Codespaces in loading mode - let's verify that loading completed and our Visual Studio Code IDE is ready!_. | ||
|
||
??? note "Step 1: Validate Codespaces Ready in 2️⃣" | ||
??? info "Step 1: Validate Codespaces Ready in 2️⃣" | ||
|
||
1. Return to GitHub Codespaces tab | ||
1. See: VS Code editor with terminal open | ||
1. Verify: `Prompty Extension` in sidebar (left, bottom) | ||
1. Verify: Cursor ready in VS Code terminal (bottom) | ||
1. Verify Python installed: `python --version` ✅ | ||
1. Verify Azure CLI installed: `az version` ✅ | ||
1. Verify Azure Developer CLI installed: `azd version` ✅ | ||
1. Verify Prompty installed: `prompty --version` ✅ | ||
1. Verify FastAPI installed: `fastapi --version` ✅ | ||
|
||
??? note "Step 2: Authenticate with Azure via CLIs in 2️⃣" | ||
|
||
## 2. Check: Tools Installed | ||
|
||
_We need specific tools for running, testing & deploying our app. Let's verify we have these installed_. | ||
|
||
??? info "Step 2: Verify tools installed in 2️⃣" | ||
|
||
Copy/paste these commands into the VS Code terminal to verify required tools are installed | ||
|
||
```bash | ||
python --version | ||
``` | ||
```bash | ||
az version | ||
``` | ||
|
||
```bash | ||
azd version | ||
``` | ||
|
||
```bash | ||
python --version | ||
``` | ||
```bash | ||
fastapi --version | ||
``` | ||
|
||
|
||
## 3. Authenticate: with Azure | ||
|
||
_To access our Azure resources, we need to be authenticated from VS Code. Let's do that now. Since we'll be using both the `az` and `azd` tools, we'll authenticate in both_. | ||
|
||
??? info "Step 3: Authenticate with Azure via CLIs in 2️⃣" | ||
|
||
1. Log into Azure CLI - `az login --use-device-code` | ||
1. Complete authflow - use default tenant, subscription | ||
1. You are now logged into Azure CLI ✅ | ||
1. Log into Azure Developer CLI - `azd auth login` | ||
1. Complete authflow - see: "Logged in to Azure" ✅ | ||
|
||
??? note "Step 3: Refresh Azure Dev Env in local env in 2️⃣" | ||
## 4. Configure Azure Env Vars | ||
|
||
_To build code-first solutions, we will need to use the Azure SDK from our development environment. This requires configuration information for the various resources we've provisioned. Let's retrieve those here._ | ||
|
||
??? info "Step 4: Refresh Azure Dev Env in local env in 2️⃣" | ||
|
||
1. Run `azd env refresh -e AITOUR` in terminal | ||
1. Select default subscription | ||
1. Select `francecentral` as Azure location | ||
1. See: `SUCCESS: Environment refresh completed` | ||
1. See: `.azure/AITOUR/.env` created with values ✅ | ||
|
||
??? note "Step 4: Run post-provisioning hooks in 2️⃣" | ||
## 5. Run Postprovision Hooks | ||
|
||
_We can now use these configured tools and SDK to perform some post-provisioning tasks. This includes populating data in Azure AI Search (product indexes) and Azure Cosmos DB (customer data), and deploying the initial version of our application to Azure Container Apps_. | ||
|
||
??? info "Step 5: Run post-provisioning hooks in 2️⃣" | ||
|
||
1. Run `bash workspaces/src/azd-update-roles.sh` in terminal | ||
1. Run `bash ./docs/workshop/src/0-setup/azd-update-roles.sh ` in terminal | ||
1. This will take a few minutes .... | ||
1. Run `azd hooks run postprovision` in terminal | ||
1. This will take a few minutes .... | ||
1. Builds and deploys container app .. | ||
1. Verify that you see a `.env` file in your repo ✅ | ||
1. Refresh Container App in tab 5️⃣ - verify that you see "Hello world" ✅ | ||
|
||
--- | ||
|
||
## On Azure Portal | ||
_We are ready to start the development workflow segment of our workshop. But let's first check that all these setup operations were successful!_. | ||
|
||
Verify Azure CosmosDB, Azure AI Search and Azure Container App updates occured. | ||
!!! example "Next → [Let's Validate our Infra](./../03-Workshop-Build/03-infra.md) before we start building!" |
Oops, something went wrong.