Skip to content

Commit

Permalink
Cleaning up course resources
Browse files Browse the repository at this point in the history
  • Loading branch information
koreyspace committed Oct 26, 2023
1 parent 61cd204 commit f7a9aab
Show file tree
Hide file tree
Showing 96 changed files with 261 additions and 94 deletions.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Introduction to Generative AI and Large Language Models

<!-- Sketchnote goes here -->
![]()
[![Introduction to Generative AI and Large Language Models](./images/genai_course_1[83].png)](https://youtu.be/vf_mZrn8ibc)


Generative AI is artificial intelligence capable of generating text, images and other type of content. What makes it a fantastic technology is that it democratizes AI, anyone can use it with as little as a text prompt, a sentence written in a natural language. There's no need for you to learn a language like Java or SQL to accomplish something worthwhile, all you need is to use your language, state what you want and out comes a suggestion from an AI model. The applications and impact for this is huge, you write or understand reports, write applications and much more, all in seconds.

Expand Down Expand Up @@ -113,8 +113,9 @@ Your assignment is to read up more on [generative AI](https://en.wikipedia.org/w

If you done this task, you might even be ready to apply to Microsoft's incubator, [Microsoft for Startups Founders Hub](https://www.microsoft.com/en-gb/startups) we offer credits for both Azure, OpenAI, mentoring and much more, check it out!

## Additional resources
## Great Work! Continue the Journey

Want to learn more about different Generative AI concepts? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.

Head over to the Lesson 2 where we will look at how to [explore and compare different LLM types](/2-exploring-and-comparing-different-llms/README.md)!

* [How GPT models work: accessible to everyone](https://bea.stollnitz.com/blog/how-gpt-works/)
* [Generative AI: Implication and Applications for Education](https://arxiv.org/abs/2305.07605)
* [Fundamentals of Generative AI](https://learn.microsoft.com/training/modules/fundamentals-generative-ai/)
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# Exploring and comparing different LLMs

[![Exploring and comparing different LLMs](./images/genai_course_2[56].png)](https://youtu.be/J1mWzw0P74c)


## Introduction

With the previous lesson, we have seen how Generative AI is changing the technology landscape, how Large Language Models (LLMs) work and how a business - like the Edu4All startup - can apply them to their use cases and grow!
Expand Down Expand Up @@ -144,10 +147,12 @@ This would be the preferred approach if:
### Trained model
Training an LLM from scratch is without a doubt the most difficult and the most complex approach to adopt, requiring massive amounts of data, skilled resources, and appropriate computational power. This option should be considered only in a scenario where a business has a domain-specific use case and a large amount of domain-centric data.

## Additional resources
- [The Large Language Model (LLM) Index | Sapling](https://sapling.ai/llm/index)
- [[2304.04052] Decoder-Only or Encoder-Decoder? Interpreting Language Model as a Regularized Encoder-Decoder (arxiv.org)](https://arxiv.org/abs/2304.04052)
- [How to use Open Source foundation models curated by Azure Machine Learning (preview) - Azure Machine Learning | Microsoft Learn](https://learn.microsoft.com/en-us/azure/machine-learning/how-to-use-foundation-models?view=azureml-api-2)
- [Four Ways that Enterprises Deploy LLMs | Fiddler AI Blog](https://www.fiddler.ai/blog/four-ways-that-enterprises-deploy-llms)
- [Retrieval Augmented Generation using Azure Machine Learning prompt flow](https://learn.microsoft.com/en-us/azure/machine-learning/concept-retrieval-augmented-generation?view=azureml-api-2)
- [Grounding LLMs](https://techcommunity.microsoft.com/t5/fasttrack-for-azure/grounding-llms/ba-p/3843857)
## Great Work, Continue Your Learning!


Want to learn more about different Generative AI concepts? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.


Head over to the Lesson 3 where we will look at how to [build with Generative AI Responsibly](/03-using-generative-ai-responsibly%20/README.MD)!


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
46 changes: 46 additions & 0 deletions 03-using-generative-ai-responsibly /README.MD
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Using Generative AI Responsibly

[![Using Generative AI Responsibly ](./images/genai_course_3[77].png)]()

**Video Coming Soon**


## Learning Goals

After completing this lesson you will know:
- The importance of Responsible AI when building Generative AI applications.
- When to think and apply the core principles of Responsible AI during your application building process.
- What tools and strategies are available to you to put the concept of Responsible AI into practice.


## Responsible AI Principles

The excitement of Generative AI has never been higher. This excitement has brought a lot of new developers, attention and funding to this space. While this is very positive for anyone looking to build products and companies using Generative AI, it is also important we proceed responsibly.

Throughout this course we are focusing on building our startup and our AI education product. Let's look at the principles of Responsible AI and how they relate to our use of Generative AI in our products.


## Why Should You Prioritise Responsible AI

When building product, taking a human centric approach by keeping your users best interest in mind leads to the best results.

The uniqueness of Generative AI is its power to create helpful answers, information, guidance and content for users. This can be done without many manual steps which can lead to very impressive results. Without proper planning and strategies, it can also unfortunately lead to some harmful results both for your users, your product and society as a whole.

Let's look at some (but not all) of these potentially harmful results:

### Hallucinations

Hallucinations are a term used to describe when an LLM produces content that is either completely nonsensical or something we know is factually wrong based on other sources of information.

Let's take for example we build a feature for our startup that allows students to ask historical questions to a model. A student asks the question `Who was the sole surivor of Titanic?`

The model produces a a response like the one below:


## Great Work, Continue Your Learning!


Want to learn more about different Generative AI concepts? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.


Head over to the Lesson 4 where we will look at [Prompt Engineering Fundamentals](/4-prompt-engineering-fundamentals/README.md)!
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -1,17 +1,7 @@
<!--
GUIDING THEME:
This lesson should answer the question:
"If I were building an education AI startup, how would prompt-engineering help me?"
INTRODUCTION:
Identify 3 core concepts to teach.
Identify 3 learning goals to achieve.
# Prompt Engineering Fundamentals

CODE CHALLENGE:
If provided, should have an education focus - help show how the concepts can be applied to make the lives of teachers and students easier.
-->
[![Prompt Engineering Fundamentals ](./img/genai_course_4[10].png)](https://youtu.be/r2ItK3UMVTk)

# 1. Prompt Engineering Fundamentals

_Generative AI_ is capable of creating new content (e.g., text, images, audio, code etc.) in response to user requests. It achieves this using _Large Language Models_ (LLMs) like OpenAI's GPT ("Generative Pre-trained Transformer") series that are trained for using natural language and code.

Expand Down
14 changes: 12 additions & 2 deletions 5-advanced-prompts/README.md → 05-advanced-prompts/README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Advanced prompts
# Creating Advanced prompts


[![Creating Advanced Prompts](./images/genai_course_5[65].png)](https://youtu.be/32GBH6BTWZQ)

Let's recap some learnings from the previous chapter:
> Prompt _engineering_ is the process by which we **guide the model towards more relevant responses** by providing more useful instructions or context.
Expand Down Expand Up @@ -608,4 +611,11 @@ Why would I use chain-of-thought prompting? Show me 1 correct response and 2 inc
- B, To teach the LLM to find errors in code.
- C, To instruct the LLM to come up with different solutions.

Answer: A, because chain-of-thought is about showing the LLM how to solve a problem by providing it with a series of steps, and similar problems and how they were solved.
Answer: A, because chain-of-thought is about showing the LLM how to solve a problem by providing it with a series of steps, and similar problems and how they were solved.

## Great Work! Continue Your Learning

Want to learn more about creating advanced prompts? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.


Head over to the Lesson 6 where we will apply our knowledge of Prompt Engineering by [building text generation apps](/6-text-generation-apps/README.md)!
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
# Build text generation apps
# Building Text Generation Applications

[![Building Text Generation Applications ](./images/genai_course_6[95].png)](https://youtu.be/5jKHzY6-4s8)


You've seen so far through this curriculum that there are core concepts like prompts and even a whole discipline called "prompt engineering". Many tools you can interact with like ChatGPT, Office 365, Microsoft Power Platform and more, supports you using prompts to accomplish something.

Expand Down Expand Up @@ -649,4 +652,11 @@ What's a good way to store secrets like API keys?
1. In a file.
1. In environment variables.
A: 3, because environment variables are not stored in code and can be loaded from the code.
A: 3, because environment variables are not stored in code and can be loaded from the code.
## Great Work! Continue Your Learning
Want to learn more about about creating text generation applications? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.
Head over to the Lesson 7 where we will look at how to [build chat applications](/7-building-chat-applications/README.md)!
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
# Building Generative AI-Powered Chat Applications

[![Building Generative AI-Powered Chat Applications](./img/genai_course_7[8].png)](https://youtu.be/Kw4i-tlKMrQ)

Chat applications have become integrated into our daily lives, offering more than just a means of casual conversation. They're integral parts of customer service, technical support, and even sophisticated advisory systems. It's likely that you've gotten some help from a chat application not too long ago. As we integrate more advanced technologies like generative AI into these platforms, the complexity increases and so does the challenges. How do we efficiently build and seamlessly integrate these AI-powered applications for specific use cases? Once deployed, how can we monitor and ensure that the applications are operating at the highest level of quality, both in terms of functionality and adhering to the [six principles of responsible AI](https://www.microsoft.com/ai/responsible-ai)?

As we move further into an age defined by automation and seamless human-machine interactions, understanding how generative AI transforms the scope, depth, and adaptability of chat applications becomes essential. This lesson will investigate the aspects of architecture that support these intricate systems, delve into the methodologies for fine-tuning them for domain-specific tasks, and evaluate the metrics and considerations pertinent to ensuring responsible AI deployment.
Expand Down Expand Up @@ -145,13 +147,10 @@ Microsoft's approach to Responsible AI has identified six principles that should



## References


- [System message framework and template recommendations for Large Language Models (LLMs)](https://learn.microsoft.com/azure/ai-services/openai/concepts/system-message)

- [Learn how to work with the GPT-35-Turbo and GPT-4 models](https://learn.microsoft.com/azure/ai-services/openai/how-to/chatgpt?pivots=programming-language-chat-completions)
## Great Work! Continue the Journey

- [Fine-Tuning language models from human preferences](https://arxiv.org/pdf/1909.08593.pdf)
Want to learn more about creating chat applications with Generative AI? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.

- [OpenAI Fine-Tuning](https://platform.openai.com/docs/guides/fine-tuning/when-to-use-fine-tuning)

Head over to Lesson 8 to see how you can start [building search applications](/8-building-search-applications/README.md)!
Original file line number Diff line number Diff line change
@@ -1,4 +1,8 @@
# Building a Search Application
# Building a Search Applications

[![Introduction to Generative AI and Large Language Models](./media/genai_course_8[80].png)]()

**Video Coming Soon**

There's more to LLMs than chatbots and text generation. It's also possible to build search applications using Embeddings. Embeddings are numerical representations of data also known as vectors, and can be used for semantic search for data.

Expand Down Expand Up @@ -155,11 +159,9 @@ When you run the notebook, you'll be prompted to enter a query. The input box wi

![Input box for the user to input a query](media/notebook_search.png)

## Extra resources
## Great Work! Continue Your Learning

Want to learn more about how to build search applications? Go to the [contiuned learning page](/13%20-%20contiuned-learning/README.md) to find other great resources on this topic.

- [OpenAI Embedding API](https://beta.openai.com/docs/api-reference/embeddings)
- [OpenAI Functions](https://learn.microsoft.com/azure/ai-services/openai/how-to/function-calling)
- [OpenAI Embedding API Python SDK](https://pypi.org/project/openai/)
- [OpenAI Embedding API Python SDK Documentation](https://openai-python.readthedocs.io/en/latest/)
- [Azure Cognitive Search](https://learn.microsoft.com/training/modules/improve-search-results-vector-search)
- [Cosine Similarity](https://en.wikipedia.org/wiki/Cosine_similarity)

Head over to the Lesson 9 where we will look at how to [build image generation applications](/09-building-image-applications/README.md)!
Loading

0 comments on commit f7a9aab

Please sign in to comment.