Skip to content

Commit

Permalink
Added changes to ReadME
Browse files Browse the repository at this point in the history
koreyspace committed Oct 23, 2023

Verified

This commit was signed with the committer’s verified signature.
Expl0dingBanana Christopher Dohmen
1 parent 98eea3a commit 3de57eb
Showing 55 changed files with 40 additions and 20,928 deletions.
Original file line number Diff line number Diff line change
@@ -17,7 +17,7 @@ This lesson covers:
By the end of this lesson, you will be able to:

- Understand how Copilot works in Power Platform
- Build a Student Assignment Tracker App for Edu4All, our fictitious education startup.
- Build a Student Assignment Tracker App for our education startup.
- Build an Invoice Processing Flow that uses AI to extract information from invoices
- Apply best practices when using the Create Text with GPT AI Model

@@ -26,15 +26,15 @@ The tools and technologies that you will use in this lesson are:
- PowerApps for the Student Assignment Tracker app, which provides a low-code development environment for building apps to track, manage and interact with data.
- Dataverse for storing the data for the Student Assignment Tracker app where Dataverse will provide a low-code data platform for storing the apps data.
- Power Automate for the Invoice Processing flow where you will have low-code development environment for building workflows to automate the Invoice Processing process.
- AI Builder for the Invoice Processing AI Model where you will use prebuilt AI Models to process the Edu4All invoices.
- AI Builder for the Invoice Processing AI Model where you will use prebuilt AI Models to process the invoices for our startup.

## Generative AI in Power Platform

Enhancing low-code development and application with generative AI is a key focus area for Power Platform. The goal is to enable everyone to build AI-powered apps, sites, dashboards and automate processes with AI, without requiring any data science expertise. This is achieved by integrating generative AI into the low-code development experience in Power Platform in the form of Copilot and AI Builder.

How does this work? Copilot is an AI assistant that enables you to build Power Platform solutions by describing your requirements in a series of conversational steps using natural language. You can use Copilot driven functionalities as feature in your app screens to enable users to uncover insights through conversational interactions. AI Builder is a low-code AI capability available in Power Platform that enables you to use AI Models to help you to automate processes and predict outcomes. With AI Builder you can bring AI to your apps and flows that connect to your data in Dataverse or in various cloud data sources, such as SharePoint, OneDrive or Azure.

Copilot is available in all of the Power Platform products: Power Apps, Power Automate, Power BI, Power Pages and Power Virtual Agents. AI Builder is available in Power Apps and Power Automate. In this lesson, we will focus on how to use Copilot and AI Builder in Power Apps and Power Automate to build a solution for Edu4All, our fictitious education startup.
Copilot is available in all of the Power Platform products: Power Apps, Power Automate, Power BI, Power Pages and Power Virtual Agents. AI Builder is available in Power Apps and Power Automate. In this lesson, we will focus on how to use Copilot and AI Builder in Power Apps and Power Automate to build a solution for our education startup.

### Copilot in PowerApps

@@ -48,15 +48,15 @@ As part of the Power Platform, Power Automate lets users create automated workfl

The copilot AI assistant feature in Power Automate enables you to describe what kind of flow you need and what actions you want your flow to perform. Copilot then generates a flow based on your description. You can then customize the flow to meet your needs. The AI Copilot also generates and suggests the actions you need to perform the task you want to automate. We will look at what flows are and how you can use them in Power Automate on this lesson later. You can then customize the actions to meet your needs using the AI Copilot assistant feature through conversational steps. This feature is readily available from the Power Automate home screen.

## Use Copilot to Build a Solution for Edu4All
## Use Copilot to Build a Solution for Our Startup

Edu4All is a fictitious education startup that provides online courses to students. The startup has grown rapidly and is now struggling to keep up with the demand for its courses. The startup has hired you as a Power Platform developer to help them build a low code solution to help them manage their student assignments and invoices. Their solution should be able to help them track and manage student assignments through an app and automate the invoice processing process through a workflow. You have been asked to use Generative AI to develop the solution.
Our startup provides online courses to students. The startup has grown rapidly and is now struggling to keep up with the demand for its courses. The startup has hired you as a Power Platform developer to help them build a low code solution to help them manage their student assignments and invoices. Their solution should be able to help them track and manage student assignments through an app and automate the invoice processing process through a workflow. You have been asked to use Generative AI to develop the solution.

When you are getting started with using Copilot, you can use the [Power Platform Copilot Prompt Library](https://pnp.github.io/powerplatform-prompts/?WT.mc_id=academic-109639-somelezediko) to get started with the prompts. This library contains a list of prompts that you can use to build apps and flows with Copilot. You can also use the prompts in the library to get an idea of how to describe your requirements to Copilot.

### Build a Student Assignment Tracker App for Edu4All
### Build a Student Assignment Tracker App for Our Startup

The educators at Edu4All have been struggling to keep track of student assignments. They have been using a spreadsheet to track the assignments but this has become difficult to manage as the number of students has increased. They have asked you to build an app that will help them track and manage student assignments. The app should enable them to add new assignments, view assignments, update assignments and delete assignments. The app should also enable the educators and students to view the assignments that have been graded and those that have not been graded.
The educators at our startup have been struggling to keep track of student assignments. They have been using a spreadsheet to track the assignments but this has become difficult to manage as the number of students has increased. They have asked you to build an app that will help them track and manage student assignments. The app should enable them to add new assignments, view assignments, update assignments and delete assignments. The app should also enable the educators and students to view the assignments that have been graded and those that have not been graded.

You will build the app using Copilot in PowerApps following the steps below:

@@ -94,13 +94,13 @@ You will build the app using Copilot in PowerApps following the steps below:

> **Your homework**: The app you just built is a good start but can be improved. With the email feature, educators can only send emails to students manually by having to type their emails. Can you use Copilot to build an automation that will enable educators to send emails to students automatically when they submit their assignments? Your hint is with the right prompt you can use Copilot in Power Automate to build this.
### Build an Invoices Information Table for Edu4All
### Build an Invoices Information Table for Our Startup

The Edu4All finance team has been struggling to keep track of invoices. They have been using a spreadsheet to track the invoices but this has become difficult to manage as the number of invoices has increased. They have asked you to build a table that will help them store, track and manage the information of the invoices they received. The table should be used to build an automation that will extract all the invoice information and store it in the table. The table should also enable the finance team to view the invoices that have been paid and those that have not been paid.
The finance team of our startup has been struggling to keep track of invoices. They have been using a spreadsheet to track the invoices but this has become difficult to manage as the number of invoices has increased. They have asked you to build a table that will help them store, track and manage the information of the invoices they received. The table should be used to build an automation that will extract all the invoice information and store it in the table. The table should also enable the finance team to view the invoices that have been paid and those that have not been paid.

The Power Platform has an underlying data platform called Dataverse that enables you to store the data for your apps and solutions. Dataverse provides a low-code data platform for storing the apps data. It is a fully managed service that securely stores data in the Microsoft Cloud and is provisioned within your Power Platform environment. It comes with built-in data governance capabilities, such as data classification, data lineage, fine-grained access control, and more. You can learn more about Dataverse [here](https://docs.microsoft.com/en-us/powerapps/maker/data-platform/data-platform-intro?WT.mc_id=academic-109639-somelezediko).

Why should you use Dataverse for Edu4All? The standard and custom tables within Dataverse provide a secure and cloud-based storage option for your data. Tables let you store different types of data, similar to how you might use multiple worksheets in a single Excel workbook. You can use tables to store data that is specific to your organization or business need. Some of the benefits Edu4All will get from using Dataverse include but are not limited to:
Why should we use Dataverse for our startup? The standard and custom tables within Dataverse provide a secure and cloud-based storage option for your data. Tables let you store different types of data, similar to how you might use multiple worksheets in a single Excel workbook. You can use tables to store data that is specific to your organization or business need. Some of the benefits our startup will get from using Dataverse include but are not limited to:

- **Easy to manage**: Both the metadata and data are stored in the cloud, so you don't have to worry about the details of how they are stored or managed. You can focus on building your apps and solutions.

@@ -110,7 +110,7 @@ Why should you use Dataverse for Edu4All? The standard and custom tables within

- **Logic and validation**: You can use business rules, calculated fields, and validation rules to enforce business logic and maintain data accuracy.

Now that you know what Dataverse is and why you should use it, let's look at how you can use Copilot to create a table in Dataverse to meet the requirements of the Edu4All finance team.
Now that you know what Dataverse is and why you should use it, let's look at how you can use Copilot to create a table in Dataverse to meet the requirements of our finance team.

>**Note** : You will use this table in the next section to build an automation that will extract all the invoice information and store it in the table.
@@ -130,7 +130,7 @@ To create a table in Dataverse using Copilot, follow the steps below:

![](images/copilot-dataverse-table.png)

5. The Edu4All finance team want to send an email to the supplier to update them with the current status of their invoice. You can use Copilot to add a new field to the table to store the supplier email. For example, you can use the following prompt to add a new field to the table: ***I want to add a column to store supplier email***. Click on the **Send** button to send the prompt to the AI Copilot.
5. The finance team want to send an email to the supplier to update them with the current status of their invoice. You can use Copilot to add a new field to the table to store the supplier email. For example, you can use the following prompt to add a new field to the table: ***I want to add a column to store supplier email***. Click on the **Send** button to send the prompt to the AI Copilot.

6. The AI Copilot will generate a new field and you can then customize the field to meet your needs.

@@ -159,13 +159,13 @@ With Custom AI Models you can bring your own model into AI Builder so that it ca

![](images/ai-builder-models.png)

### Build an Invoice Processing Flow for Edu4All
### Build an Invoice Processing Flow for Our Startup

The Edu4All finance team has been struggling to process invoices. They have been using a spreadsheet to track the invoices but this has become difficult to manage as the number of invoices has increased. They have asked you to build a workflow that will help them process invoices using AI. The workflow should enable them to extract information from invoices and store the information in a Dataverse table. The workflow should also enable them to send an email to the finance team with the extracted information.
The finance team has been struggling to process invoices. They have been using a spreadsheet to track the invoices but this has become difficult to manage as the number of invoices has increased. They have asked you to build a workflow that will help them process invoices using AI. The workflow should enable them to extract information from invoices and store the information in a Dataverse table. The workflow should also enable them to send an email to the finance team with the extracted information.

Now that you know what AI Builder is and why you should use it, let's look at how you can use the Invoice Processing AI Model in AI Builder, that we covered earlier on, to build a workflow that will help the Edu4All finance team process invoices.
Now that you know what AI Builder is and why you should use it, let's look at how you can use the Invoice Processing AI Model in AI Builder, that we covered earlier on, to build a workflow that will help the finance team process invoices.

To build a workflow that will help the Edu4All finance team process invoices using the Invoice Processing AI Model in AI Builder, follow the steps below:
To build a workflow that will help the finance team process invoices using the Invoice Processing AI Model in AI Builder, follow the steps below:

1. Navigate to the [Power Automate](https://make.powerautomate.com) home screen.

@@ -204,7 +204,7 @@ To build a workflow that will help the Edu4All finance team process invoices usi

12. Once you are done with the flow, click on the **Save** button to save the flow. You can then test the flow by sending an email with an invoice to the folder you specified in the trigger.

> **Your homework**: The flow you just built is a good start, now you need to think of how you can build an automation that will enable the Edu4All finance team to send an email to the supplier to update them with the current status of their invoice. Your hint: the flow must run when the status of the invoice changes.
> **Your homework**: The flow you just built is a good start, now you need to think of how you can build an automation that will enable our finance team to send an email to the supplier to update them with the current status of their invoice. Your hint: the flow must run when the status of the invoice changes.
### Use a Text Generation AI Model in Power Automate

9 changes: 0 additions & 9 deletions 12-designing-ux-for-ai-applications/assignment.md

This file was deleted.

77 changes: 23 additions & 54 deletions README.md
Original file line number Diff line number Diff line change
@@ -8,78 +8,45 @@
[![GitHub forks](https://img.shields.io/github/forks/microsoft/Generative-AI-For-Beginners.svg?style=social&label=Fork)](https://GitHub.com/microsoft/Generative-AI-For-Beginners/network/)
[![GitHub stars](https://img.shields.io/github/stars/microsoft/Generative-AI-For-Beginners.svg?style=social&label=Star)](https://GitHub.com/microsoft/Generative-AI-For-Beginners/stargazers/)

# Generative AI for Beginners - A curriculum
# Generative AI for Beginners - A 12 lesson curriculum on building Generative AI Applications

Azure Cloud Advocates at Microsoft are pleased to offer a 12-week, 24-lesson curriculum all about Generative AI basics. Each lesson includes pre- and post-lesson quizzes, written instructions to complete the lesson, a solution, an assignment and more. Our project-based pedagogy allows you to learn while building, a proven way for new skills to 'stick'.

> **Teachers**, we have [included some suggestions](for-teachers.md) on how to use this curriculum. If you would like to create your own lessons, we have also included a [lesson template](lesson-template/README.md).
> **[Students](https://learn.microsoft.com/training/student-hub/?WT.mc_id=academic-99474-cxa)**, to use this curriculum on your own, fork the entire repo and complete the exercises on your own, starting with a pre-lecture quiz, then reading the lecture and completing the rest of the activities. Try to create the projects by comprehending the lessons rather than copying the solution code; however that code is available in the /solutions folders in each project-oriented lesson. Another idea would be to form a study group with friends and go through the content together.
## Pedagogy

We have chosen two pedagogical tenets while building this curriculum: ensuring that it is project-based and that it includes frequent quizzes. By the end of this series, students will have built a number of real-world projects that leverage generative AI.

By ensuring that the content aligns with projects, the process is made more engaging for students and retention of concepts will be augmented.

In addition, a low-stakes quiz before a class sets the intention of the student towards learning a topic, while a second quiz after class ensures further retention. This curriculum was designed to be flexible and fun and can be taken in whole or in part. The projects start small and become increasingly complex by the end of the 12 week cycle.
Azure Cloud Advocates at Microsoft are pleased to offer a 12-leson curriculum all about Generative AI basics. This curruci

## Each lesson includes:

- sketchnote
- optional supplemental video
- pre-lesson warmup quiz
- written lesson
- for project-based lessons, step-by-step guides on how to build the project
- knowledge checks
- a challenge
- supplemental reading
- assignment
- post-lesson quiz

> **A note about quizzes**: All quizzes are contained [in this app](), for 48 total quizzes of three questions each. They are linked from within the lessons but the quiz app can be run locally; follow the instruction in the `quiz-app` folder. They are gradually being localized.

## Lessons

| | Project Name | Concepts Taught | Learning Objectives | Linked Lesson |
| :---: | :------------------------------------: | :---------------------------------------------------------: | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | :--------------------------------------------------------------------------------------------------------------------------: |
| 01 | [Getting started](./1-getting-started/README.md) | | | [Introduction to Generative AI](./1-getting-started/lessons/1-introduction-to-generative-ai/README.md) |
| 02 | | | | |
| 03 | | | | |
| 04 | | | | |
| 05 | | | | |
| 06 | | | | |
| 07 | | | | |
| 08 | | | | |
| 09 | | | | |
| 10 | | | | |
| 11 | | | | |
| 12 | | | | |
| 13 | | | | |
| 14 | | | | |
| 15 | | | | |
| 16 | | | | |
| 17 | | | | |
| 18 | | | | |
| 19 | | | | |
| 20 | | | | |
| 21 | | | | |
| 22 | | | | |
| 23 | | | | |
| 24 | | | | |
| | Lesson Name | Concepts Taught | Learning Goal |
| :---: | :------------------------------------: | :---------------------------------------------------------: | ----------------------------------------------------------- |
| 00 | Course Introduction - How to Take This Course | Tech setup and course structure | Setting you up for success while learning in this course| [Introduction to Generative AI](./1-getting-started/lessons/1-introduction-to-generative-ai/README.md)
| 01 | [Introduction to Generative AI and LLMs](./1-getting-started/README.md) | Generative AI and how we landed on the current technology landscape| What generative AI is and how Large Language Models work. |
| 02 | [Exploring and comparing different LLMs](./2-exploring-and-comparing-different-llms/) |Testing, iterating, and comparing different Large Language Models | Select the right model for your use case |
| 03 | Using Generative AI Responsibly | Understanding the limitations of foundation models and the risks behind AI | Learn how to build Generative AI Applications responsibliy
| 04 | [Understanding Prompt Engineering Fundamentals](./4-prompt-engineering-fundamentals/) | Hands-on application of Prompy Engineering Best Practices | Understand prompt structure & usage|
| 05 |Creating Advanced Prompts | Extend your knowledge of prompt engineering by applying different techniques to your prompts | Apply prompt engineering techniques that improves the outcome of your prompts.|
| 06 | Building Text Generation Applications | Build a text generation app using Azure OpenAI | Understand how to effecient use tokens and temparture to vary the model's output | |
| 07 | Building Chat Applications | Techniques for efficiently building and integrating chat applications.| Identify key metrics and considerations to effectively monitor and maintain the quality of AI-powered chat applications|
| 08 | Building Search Apps (Vector Databases) | Semantic vs Keyword search. What are text embeddings and how they apply to search | Create an application that uses Embeddings to search for data. |
| 09 | Building Image Generation Applications | Image generation and why it's useful in building applications| Build an image generation application |
| 10 | [Building Low Code AI Applications](./10-building-low-code-ai-applications/) | Introduction to Generative AI in Power Platform | Build a Student Assignment Tracker App for our education startup with Low Code | |
| 11 | [Integrating External Applications with Function Calling](./11%20-%20Integrating%20External%20Applications%20with%20Function%20Calling%20/) | What is function calling and its use cases for applications | Setup a function call to retrieve data from an external API | |
| 12 | [Designing UX for AI Applications](./12-designing-ux-for-ai-applications/) | Designing AI Applications for Trust and Transparency | Apply UX design principles when developing Generative AI Applications | |
| xx | Additional Learning Resources | Links to continue your learning from each lesson! | | |


## Offline access

You can run this documentation offline by using [Docsify](https://docsify.js.org/#/). Fork this repo, [install Docsify](https://docsify.js.org/#/quickstart) on your local machine, and then in the root folder of this repo, type `docsify serve`. The website will be served on port 3000 on your localhost: `localhost:3000`.

### PDF

You can generate a PDF of this content for offline access if needed. To do this, make sure you have [npm installed](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) and run the following commands in the root folder of this repo:

```sh
npm i
npm run convert
```

## Help Wanted!

@@ -89,9 +56,11 @@ Would you like to contribute a translation? Please read our [translation guideli

Our team produces other curricula! Check out:

- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
- [IoT for Beginners](https://aka.ms/iot-beginners)
- [ML for Beginners](https://aka.ms/ml-beginners)
- [Data Science for Beginners](https://aka.ms/datascience-beginners)
- [AI for Beginners](https://aka.ms/ai-beginners)

- [Web Dev for Beginners](https://aka.ms/webdev-beginners)
- [IoT for Beginners](https://aka.ms/iot-beginners)

- [XR Development for Beginners](https://github.com/microsoft/xr-development-for-beginners)
27 changes: 0 additions & 27 deletions for-teachers.md

This file was deleted.

51 changes: 0 additions & 51 deletions lesson-template/README.md

This file was deleted.

9 changes: 0 additions & 9 deletions lesson-template/assignment.md

This file was deleted.

51 changes: 0 additions & 51 deletions lesson-template/translations/README.es.md

This file was deleted.

51 changes: 0 additions & 51 deletions lesson-template/translations/README.hi.md

This file was deleted.

51 changes: 0 additions & 51 deletions lesson-template/translations/README.id.md

This file was deleted.

9 changes: 0 additions & 9 deletions lesson-template/translations/assignment.es.md

This file was deleted.

9 changes: 0 additions & 9 deletions lesson-template/translations/assignment.hi.md

This file was deleted.

9 changes: 0 additions & 9 deletions lesson-template/translations/assignment.id.md

This file was deleted.

1 change: 0 additions & 1 deletion quiz-app/.gitignore

This file was deleted.

21 changes: 0 additions & 21 deletions quiz-app/LICENSE

This file was deleted.

33 changes: 0 additions & 33 deletions quiz-app/README.md

This file was deleted.

5 changes: 0 additions & 5 deletions quiz-app/babel.config.js

This file was deleted.

20,052 changes: 0 additions & 20,052 deletions quiz-app/package-lock.json

This file was deleted.

44 changes: 0 additions & 44 deletions quiz-app/package.json

This file was deleted.

Binary file removed quiz-app/public/favicon.ico
Binary file not shown.
17 changes: 0 additions & 17 deletions quiz-app/public/index.html

This file was deleted.

8 changes: 0 additions & 8 deletions quiz-app/public/routes.json

This file was deleted.

121 changes: 0 additions & 121 deletions quiz-app/src/App.vue

This file was deleted.

119 changes: 0 additions & 119 deletions quiz-app/src/assets/translations/en.json

This file was deleted.

10 changes: 0 additions & 10 deletions quiz-app/src/assets/translations/index.js

This file was deleted.

71 changes: 0 additions & 71 deletions quiz-app/src/components/Quiz.vue

This file was deleted.

14 changes: 0 additions & 14 deletions quiz-app/src/main.js

This file was deleted.

34 changes: 0 additions & 34 deletions quiz-app/src/router/index.js

This file was deleted.

26 changes: 0 additions & 26 deletions quiz-app/src/views/Home.vue

This file was deleted.

5 changes: 0 additions & 5 deletions quiz-app/src/views/NotFound.vue

This file was deleted.

0 comments on commit 3de57eb

Please sign in to comment.