Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[New Hack] 070-BuildYourOwnCoPilot - Updated #896

Merged
merged 49 commits into from
Dec 10, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
4e2f4b8
Merge pull request #1 from microsoft/master
joelhulen Sep 2, 2024
f5a7f58
Created WhatTheHack template stub
Sep 2, 2024
b69b89c
Add build modern AI apps hackathon
joelhulen Sep 2, 2024
ff8a6df
Rename and set folder name
joelhulen Oct 8, 2024
2430703
Add starter artifacts
joelhulen Oct 14, 2024
8e4d9cb
Update deployment steps
joelhulen Oct 18, 2024
c40e8ff
Remove old solutions and update coach guides
joelhulen Oct 18, 2024
851b284
Update challenge numbering in code
joelhulen Oct 20, 2024
9ea62b0
Update numbering
joelhulen Oct 20, 2024
b031611
Updated student challenges
joelhulen Oct 21, 2024
eb81762
Address spell check results
joelhulen Oct 21, 2024
9d10671
mark suggestions
markjbrown Oct 22, 2024
b9c78b2
Merge pull request #2 from markjbrown/xxx-BuildModernizeAIApps
joelhulen Oct 22, 2024
96f0a91
Add devcontainer file
joelhulen Oct 22, 2024
3c25af3
Fix spellcheck-related issues
joelhulen Oct 22, 2024
b1c6b66
Update features
joelhulen Oct 30, 2024
d31a979
Challenge updates
joelhulen Oct 30, 2024
11c0a2a
Added codespaces instructions
joelhulen Oct 30, 2024
e4e930d
Add debug instructions
joelhulen Oct 30, 2024
526dde7
Update gitignore files
joelhulen Oct 30, 2024
b889e29
Add notes about coach solutions
joelhulen Oct 31, 2024
90d50ae
Update README.md
perktime Nov 5, 2024
bc3986c
Update README.md
perktime Nov 5, 2024
d9157e2
Update Solution-02.md
perktime Nov 5, 2024
5c529aa
Update Solution-03.md
perktime Nov 5, 2024
e5f5dcd
Update Solution-04.md
perktime Nov 5, 2024
cfaa1ff
Update Solution-05.md
perktime Nov 5, 2024
55ca9fe
Update Challenge-03.md
perktime Nov 5, 2024
70b3d28
Update Challenge-04.md
perktime Nov 5, 2024
a39ce70
Update Challenge-05.md
perktime Nov 8, 2024
5efd315
Add missing TODOs to the solution project
joelhulen Nov 15, 2024
09fcad1
Clarify solutions
joelhulen Nov 15, 2024
5588e40
Update README.md
jrzyshr Dec 10, 2024
c6046a7
Update Challenge-00.md
jrzyshr Dec 10, 2024
de98e45
Update Challenge-00.md
jrzyshr Dec 10, 2024
4f3fb18
Update Challenge-00.md
jrzyshr Dec 10, 2024
6339e3a
Update .wordlist.txt
jrzyshr Dec 10, 2024
9bc101b
Update Challenge-01.md
jrzyshr Dec 10, 2024
bf3f00d
Update Challenge-02.md
jrzyshr Dec 10, 2024
074fdb6
Update Challenge-03.md
jrzyshr Dec 10, 2024
b181f45
Update Challenge-04.md
jrzyshr Dec 10, 2024
b9d1f09
Update Challenge-05.md
jrzyshr Dec 10, 2024
55ff6da
Update README.md
jrzyshr Dec 10, 2024
d5b8a03
Update README.md
jrzyshr Dec 10, 2024
687787e
Update README.md
jrzyshr Dec 10, 2024
5981fe1
Update README.md
jrzyshr Dec 10, 2024
a677065
Update README.md
jrzyshr Dec 10, 2024
f3785d9
Update README.md
jrzyshr Dec 10, 2024
164a0d3
Update README.md
jrzyshr Dec 10, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
17 changes: 17 additions & 0 deletions 070-BuildYourOwnCopilot/.wordlist.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
vectorize
vectorized
vectorizing
vectorization
OWASP
Blazor
githubusercontent
azuredeploy
CosmicWorks
Ciprian
Jichici
Hulen
TPM
Codespace
Codespaces
Codespace's
untrusted
Binary file not shown.
85 changes: 85 additions & 0 deletions 070-BuildYourOwnCopilot/Coach/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
# What The Hack - Build Your Own Copilot - Coach Guide

## Introduction

Welcome to the coach's guide for the Build Your Own Copilot What The Hack. Here you will find links to specific guidance for coaches for each of the challenges.

**NOTE:** If you are a Hackathon participant, this is the answer guide. Don't cheat yourself by looking at these during the hack! Go learn something. :)

## Coach's Guides

- Challenge 00: **[Prerequisites - The landing before the launch](./Solution-00.md)**
- Prepare your workstation to work with Azure and deploy the required services.
- Challenge 01: **[Finding the kernel of truth](./Solution-01.md)**
- Learn about the basics of Semantic Kernel, a Large Language Model (LLM) orchestrator that powers the solution accelerator.
- Challenge 02: **[It has no filter](./Solution-02.md)**
- Learn about intercepting and using key assets from Semantic Kernel's inner workings - prompt and function calling data.
- Challenge 03: **[Always prompt, never tardy](./Solution-03.md)**
- Learn how prompts are used in the solution accelerator and experiment with changes to the prompts.
- Challenge 04: **[Cache it away for a rainy day](./Solution-04.md)**
- Learn about the inner workings and applications of semantic caching in the solution accelerator.
- Challenge 05: **[Do as the Colonel commands](./Solution-05.md)**
- Learn about implementing system commands based on user input in the solution accelerator.

## Coach Prerequisites

This hack has pre-reqs that a coach is responsible for understanding and/or setting up BEFORE hosting an event. Please review the [What The Hack Hosting Guide](https://aka.ms/wthhost) for information on how to host a hack event.

The guide covers the common preparation steps a coach needs to do before any What The Hack event, including how to properly configure Microsoft Teams.

### Student Resources & GitHub Codespaces

Before the hack, it is the Coach's responsibility to provide the student resources in the `/Student/Resources` folder of this hack to the students. There are two options for doing this:

- Create a `Resources.zip` Package
- Setup a GitHub Codespace

#### Create a `Resources.zip` Package

To run the hack from a local workstation, students must have the contents of the `/Student/Resources` folder available on that workstation.

Coach's should download and package up the contents of the `/Student/Resources` folder of this hack into a "Resources.zip" file. The coach should then provide a copy of the Resources.zip file to all students at the start of the hack.

#### Setup a GitHub Codespace

In many organizations, students may not be allowed to install software on their local workstations. This hack was designed to support using GitHub Codespaces to provide students with a developer environment in the cloud. A GitHub Codespace is a development environment that is hosted in a container in the cloud that you access via a browser. All of the pre-requisite developer tools are pre-installed and available in the codespace.

It is the Coach's responsibility to create a GitHub repo to host the Codespace. To do this:
- Download the contents of the `/Student/Resources` folder of this hack.
- Create a new GitHub repo in your (the Coach's) GitHub account. (We recommend naming it `<HackName>-Codespace`.)
- Commit the downloaded contents of the `/Student/Resources` to the root of the new repo.
- Provide a link to the new repo to the students.

> [!NOTE]
> Challenge 0 of the student guide contains instructions for the students on how to use GitHub Codespaces when provided a link to the repo you (the Coach) create.

> [!NOTE]
> The `/.devcontainer` folder in the `/Student/Resources` folder MUST be at the root of the new repo you create for the Codespace to work.

### Use the What The Hack Website

Always refer students to the [What The Hack website](https://aka.ms/wth) for the student guide: [https://aka.ms/wth](https://aka.ms/wth)

> [!NOTE]
> Students should **not** be given a link to the What The Hack repo before or during a hack. The student guide does **NOT** have any links to the Coach's guide or the What The Hack repo on GitHub.

## Azure Requirements

This hack requires students to have access to an Azure subscription where they can create and consume Azure resources. These Azure requirements should be shared with a stakeholder in the organization that will be providing the Azure subscription(s) that will be used by the students.

- Attendees should have the “Azure account administrator” (or "Owner") role on the Azure subscription in order to authenticate, create and configure the resource group and necessary resources including:
- Azure Cosmos DB for NoSQL API (with RBAC policies)
- Azure Container App with supporting services _or_ Azure Kubernetes Service (AKS)
- Azure OpenAI
- Azure Managed Identity

## Repository Contents

- `./Coach`
- Coach's Guide and related files
- `./Coach/Solutions`
- Solution files with completed example answers to a challenge
- `./Student`
- Student's Challenge Guide
- `./Student/Resources`
- Resource files, sample code, scripts, etc meant to be provided to students. (Must be packaged up by the coach and provided to students at start of event)
14 changes: 14 additions & 0 deletions 070-BuildYourOwnCopilot/Coach/Solution-00.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Challenge 00 - The Landing Before the Launch - Coach's Guide

**[Home](./README.md)** - [Next Solution >](./Solution-01.md)

## Notes & Guidance

Challenge-00 is all about helping the student deploy resources to Azure in preparation for the launch of the POC. The student will deploy services into the landing zone in preparation for the launch of the POC.

> [!TIP]
> If the student does not see data in the `product` and `customer` containers in Azure Cosmos DB, they should try re-running the `postdeployment` `azd` hook. To do this, they can execute the following command in the terminal: `azd hooks run postdeploy`.

### Coach solutions

In the Coach solution folders, each challenge has both a `solution` and `starter` folder. These folders contain snapshots of where the students should be starting out in that challenge (`starter` folder) and where they should end up at the end of the challenge (`solution` folder). If you want to run the fully completed hackathon, then you should run from the `solution` folder in the final challenge folder (`challenge-5`).
Loading
Loading