Skip to content

Commit

Permalink
refactor/gen-ai-series
Browse files Browse the repository at this point in the history
  • Loading branch information
nitya committed Apr 14, 2024
1 parent 250c16b commit 952335c
Show file tree
Hide file tree
Showing 17 changed files with 257 additions and 74 deletions.
10 changes: 5 additions & 5 deletions docs/astro.config.mjs
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ export default defineConfig({
description: 'Python3 Cookbook. One Recipe A Day.',
tableOfContents: {
minHeadingLevel: 2,
maxHeadingLevel: 3
maxHeadingLevel: 4
},
logo: {
light: './src/assets/logo.png',
Expand All @@ -35,19 +35,19 @@ export default defineConfig({
link: 'introduction',
},
{
label: '1 | Python Basics',
label: '100. Python Basics',
autogenerate: { directory: '100' },
},
{
label: '2 | Data Analysis',
label: '200. Data Analysis',
autogenerate: { directory: '200' },
},
{
label: '3 | Machine Learning',
label: '300. Machine Learning',
autogenerate: { directory: '300' },
},
{
label: '4 | Generative AI',
label: '400. Generative AI',
autogenerate: { directory: '400' },
},
],
Expand Down
2 changes: 1 addition & 1 deletion docs/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"type": "module",
"version": "0.0.1",
"scripts": {
"dev": "astro dev",
"dev": "astro telemetry disable && astro dev",
"start": "astro dev",
"build": "astro check && astro build",
"preview": "astro preview",
Expand Down
49 changes: 49 additions & 0 deletions docs/src/content/docs/400/00-overview.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
---
title: "Overview"
description: Explore Python SDKs and tools for building generative AI applications
---

:::tip[Learning Objectives]
The 400-level section will cover the growing ecosystem of generative AI tools, technologies and platforms from a developer perspective.

- Fundamental Terms & Concepts for Generative AI
- Core Developer Tools, Technologies & Platforms
- Popular Models, Model Providers & Applications
- Cookbook: Recipes for frequently-done tasks
- Solution: End-to-End workflow for one signature app
:::

<!--
Use this command to convert a notebook in a folder to HTML and save it in the public folder.
jupyter nbconvert --output-dir ./../../../../public/notebooks --to html <notebook-name.ipynb>
-->

## 01 | Fundamental Concepts

Generative AI has a number of core concepts we need to know more about - like prompt engineering, model fine-tuning, responsible AI, evaluation, LLM Ops etc. Use this section to provide links to _relevant papers, tools and tutorials_ that teach fundamentals.


## 02 | Developer Tools

Building generative AI applications requires tools for building apps, evaluating models, deploying solutions, and orchestrating end-to-end workflows. Use this section to provides links to relevant _libraries, frameworks and platforms_ that generative AI developers should know.


## 03 | Provider Ecosystem

Generative AI applications are driven by _language models_ - both Large Language Models (pre-trained on massive datasets) and Small Language Models (fine-tuned for specialized domains), and variants based on needs e.g., Large Multi-Modal Models (LMMs). Use this section to track the growing model providers ecosystem (and relevant models) gaining mindshare with developers. Some examples to start with:

| Provider | Resources |
| --- | --- |
| **[OpenAI](https://platform.openai.com/docs/overview)** | **Models :** [Embeddings](https://platform.openai.com/docs/models/embeddings) · [Moderation](https://platform.openai.com/docs/models/moderation) · [GPT](https://openai.com/gpt-4) · [DALL-E](https://openai.com/dall-e-3) · [Whisper](https://platform.openai.com/docs/models/whisper) · [TTS](https://platform.openai.com/docs/models/tts) · [Sora](https://openai.com/sora) ▫️ **Apps :** [ChatGPT](https://openai.com/chatgpt) ▫️ **Responsible AI :** [Safety](https://openai.com/safety) |
| **[Azure AI](https://www.microsoft.com/en-us/ai)** | **Models :** [Catalog](https://ai.azure.com/explore/models) · [Benchmarks](https://ai.azure.com/explore/benchmarks) · [Prompts](https://ai.azure.com/explore/prompts) ▫️ **Apps :** [Contoso Chat](https://github.com/Azure-Samples/contoso-chat) ▫️ **Responsible AI :** [Tools](https://www.microsoft.com/en-us/ai/responsible-ai) |
| **[Hugging Face](https://huggingface.co/)** | **Models :** [Model Hub](https://huggingface.co/models) · [Hugging Chat](https://huggingface.co/chat/) · [Courses](https://huggingface.co/learn) · [Cookbook](https://huggingface.co/learn/cookbook/index) ▫️ **Apps :** [Society of Ethics](https://huggingface.co/ethics) ▫️ **Responsible AI :** [Principles](https://huggingface.co/ethics) |
| **[Google AI](https://ai.google/)** | **Models :** [Gemini](https://deepmind.google/technologies/gemini/#introduction) · [Palm](https://ai.google/discover/palm2/) · [Imagen](https://ai.google/discover/foundation-models/) · [MedLM](https://ai.google/discover/foundation-models/) · [Codey](https://ai.google/discover/foundation-models/) · [Chirp](https://ai.google/discover/foundation-models/) · [Gemma](https://ai.google.dev/gemma) (open models) ▫️ **Apps :** [Examples](https://ai.google.dev/examples) ▫️ **Responsible AI :** [Principles](https://ai.google/responsibility/principles/) |

## 04 | Developer Cookbook

This section and the next are focused specifically on _developers_ and capturing tutorials or "recipes" that cover common tasks or workflows in generative AI applications. These should ideally be code-first (snippets) with documentation (what, why) in notebooks.


## 05 | End-to-End Samples

This section captures _real-world applications samples_ that show end-to-end developer workflows from ideation to operationalization, potentially with different platforms (cloud) and providers (model) to get developers a sense or practical challenges and design patterns for production use.
30 changes: 30 additions & 0 deletions docs/src/content/docs/400/01-glossary.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
---
title: "Glossary"
description: This section provides a glossary of terms used in the generative AI lessons for reference and consistency of usage.
---

_This page provides a glossary of terms used in the generative AI lessons as a quick reference and for ensuring consistent usage._

---

## F

1. **Fine-tuning** ▫️ The process of training a pre-trained model on a specific dataset to adapt it to a specific task or domain.

## G

1. **Generative AI** ▫️ A class of AI applications that create original content (text, images, audio, code) in response to an input request.

## I
1. **Inference** ▫️ The process of using a trained model to generate responses to user prompts. This typically involves a deployed endpoint (API).

## L
1. **LLM** ▫️ Large Language Models that are pre-trained on large amounts of text data and fine-tuned for task-based inference.

## P
1. **Prompt** ▫️ A user request (using natural language) that is fed to a generative AI model to get a relevant response.
1. **Prompt Engineering** ▫️ The process of designing and refining prompts to get relevant responses from a generative AI model.

## T
1. **Task** ▫️ The specific job that the model is expected to perform as a response to prompt. Ex: Text Summarization, Translation, Code Generation etc.

91 changes: 91 additions & 0 deletions docs/src/content/docs/400/02-resources.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
title: Resources
description: Suggested structure and learning path for this section
---

This page helps capture reusable resources for the various recipes and topics covered in this 400-level series. This can also include _roadmaps_ to help provide more structured navigation of topics by top-level categories.

## Books To Read

This is my list of books to read to build depth of understanding in this space. Keep in mind that the field is evolving rapidly, so content may get outdated if not refreshed.

| Title | Year | Notes |
|---|---|---|
| [Natural Language Processing with Transformers, Revised Edition](https://www.oreilly.com/library/view/natural-language-processing/9781098136789/) | 2022 | ▫️ |
| [Generative AI on AWS](https://www.oreilly.com/library/view/generative-ai-on/9781098159214/) | 2023 | ▫️ |
| [Prompt Engineering For Generative AI](https://www.oreilly.com/library/view/prompt-engineering-for/9781098153427/) | 2024 | ▫️ |
| [AI Powered Search](https://www.manning.com/books/ai-powered-search) | 2024 | ▫️ |
| [Developing Apps with GPT-4 and ChatGPT, 2nd Edition](https://www.oreilly.com/library/view/developing-apps-with/9781098168094/) | 2024 | ▫️ |
| [Hands-On Large Language Models](https://www.oreilly.com/library/view/hands-on-large-language/9781098150952/) | 2024| ▫️ |
| [Hands-On Generative AI with Transformers and Diffusion Models](https://www.oreilly.com/library/view/hands-on-generative-ai/9781098149239/) | 2024 | ▫️ |
| [Prompt Engineering for LLMs](https://www.oreilly.com/library/view/prompt-engineering-for/9781098156145/) | 2025 | ▫️ |
| [Generative AI on Google Cloud](https://www.oreilly.com/library/view/generative-ai-on/9781098159016/) | 2025 | ▫️ |
| [Build a Large Language Model (From Scratch)](https://www.manning.com/books/build-a-large-language-model-from-scratch) | 2025 | ▫️ |
| | | |

## Videos To Watch

| Title | Year | Notes |
|---|---|---|
| [Let's Build GPT From Scratch](https://www.youtube.com/watch?v=kCc8FmEb1nY) (2hr) | 2023| ▫️ |
| [Intro to Large Language Models](https://www.youtube.com/watch?v=zjkBMFhNj_g) (1hr) | 2024| ▫️ |
| [Let's Build the GPT Tokenizer](https://www.youtube.com/watch?v=zduSFxRajkE) (2hr+) | 2024 | ▫️ |
| [But what is a GPT? Visual intro to transformers](https://www.youtube.com/watch?v=wjZofJX0v4M&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&index=5&pp=iAQB) (30m) | 2024| ▫️ |
| [Attention in Transformers, visually explained](https://www.youtube.com/watch?v=eMlx5fFNoYc&list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi&index=6&pp=iAQB) (30m)|2024 | ▫️ |
| | | |



## Courses To Take

### 1. Deep Learning.AI

I recommend the [Deep Learning Short Courses](https://www.deeplearning.ai/short-courses/) for fast, actionable learning of core concepts from industry experts. Each course takes 1 hour, ranging from 100-level (beginner) to 300-level (advanced). Most require only basic Python knowledge - some need advanced experience with libraries like PyTorch that you can pick up as you go. Courses are listed from oldest to newest - older courses may have deprecated content.

:::tip[My Study Notes]
_The Notes link reflects my learnings as recipes for my future reference. If you follow this roadmap, please reference and attribute the original courses directly._
:::

| Level | Course | Creator | Notes |
|---|---|---|---|
| 100 | [ChatGPT Prompt Engineering For Developers](https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/) | OpenAI | ▫️ |
| 100 | [Building Systems with the ChatGPT API](https://www.deeplearning.ai/short-courses/building-systems-with-chatgpt/)| OpenAI | ▫️ |
| 100 | [LangChain for LLM Application Development](https://www.deeplearning.ai/short-courses/langchain-for-llm-application-development/) | LangChain | ▫️ |
| 200 | [How Diffusion Models Work](https://www.deeplearning.ai/short-courses/how-diffusion-models-work/)| Lamini | ▫️ |
| 100 | [LangChain: Chat with Your Data](https://www.deeplearning.ai/short-courses/langchain-chat-with-your-data/) | LangChain| ▫️ |
| 100 | [Building Generative AI Applications with Gradio](https://www.deeplearning.ai/short-courses/building-generative-ai-applications-with-gradio/)| HuggingFace| ▫️ |
| | [Evaluating and Debugging Generative AI Models Using Weights and Biases](https://www.deeplearning.ai/short-courses/evaluating-debugging-generative-ai/) | Weights & Biases | ▫️ |
| 100 | [Large Language Models with Semantic Search](https://www.deeplearning.ai/short-courses/large-language-models-semantic-search/) |Cohere| ▫️ |
| 200 | [Finetuning Large Language Models](https://www.deeplearning.ai/short-courses/finetuning-large-language-models/) | Lamini | ▫️ |
| 100 | [How Business Thinkers Can Start Building AI Plugins With Semantic Kernel](https://www.deeplearning.ai/short-courses/microsoft-semantic-kernel/) | Microsoft | ▫️ |
| 100 | [Understanding and Applying Text Embeddings](https://www.deeplearning.ai/short-courses/google-cloud-vertex-ai/) | Google Cloud | ▫️ |
| 100 | [Pair Programming with a Large Language Model](https://www.deeplearning.ai/short-courses/pair-programming-llm/) | Google | ▫️ |
| 200 | [Functions, Tools and Agents with LangChain](https://www.deeplearning.ai/short-courses/functions-tools-agents-langchain/) | LangChain | ▫️ |
| 200 | [Vector Databases: from Embeddings to Applications](https://www.deeplearning.ai/short-courses/vector-databases-embeddings-applications/) | Weaviate| ▫️ |
| 100 | [Quality and Safety for LLM Applications](https://www.deeplearning.ai/short-courses/quality-safety-llm-applications/) | whylabs | ▫️ |
| 100 | [Building and Evaluating Advanced RAG Applications](https://www.deeplearning.ai/short-courses/building-evaluating-advanced-rag/) | Truera | ▫️ |
| 200 | [Reinforcement Learning from Human Feedback](https://www.deeplearning.ai/short-courses/reinforcement-learning-from-human-feedback/) |Google Cloud | ▫️ |
| 200 | [Advanced Retrieval for AI with Chroma](https://www.deeplearning.ai/short-courses/advanced-retrieval-for-ai/) | chroma | ▫️ |
| 200 | [Build LLM Apps with LangChain.js](https://www.deeplearning.ai/short-courses/build-llm-apps-with-langchain-js/) | LangChain| ▫️ |
| 100 | [LLMOps](https://www.deeplearning.ai/short-courses/llmops/) | Google Cloud | ▫️ |
|200 | [Automated Testing for LLMOps](https://www.deeplearning.ai/short-courses/automated-testing-llmops/) | circleci | ▫️ |
| 100 | [Building Applications with Vector Databases](https://www.deeplearning.ai/short-courses/building-applications-vector-databases/) | Pinecone | ▫️ |
| 200 | [Serverless LLM apps with Amazon Bedrock](https://www.deeplearning.ai/short-courses/serverless-llm-apps-amazon-bedrock/) | AWS | ▫️ |
| 100 | [Prompt Engineering with LLama 2](https://www.deeplearning.ai/short-courses/prompt-engineering-with-llama-2/) | Meta | ▫️ |
| 100 | [Open Source Models with Hugging Face](https://www.deeplearning.ai/short-courses/open-source-models-hugging-face/) | HuggingFace | ▫️ |
| 200 | [Knowledge Graphs for RAG](https://www.deeplearning.ai/short-courses/knowledge-graphs-rag/) | neo4j | ▫️ |
| 200 | [Efficiently Serving LLMs](https://www.deeplearning.ai/short-courses/efficiently-serving-llms/) | Predibase | ▫️ |
| 100 | [JavaScript RAG Web Apps with LlamaIndex](https://www.deeplearning.ai/short-courses/javascript-rag-web-apps-with-llamaindex/) | LlamaIndex | ▫️ |
| 100 | [Red Teaming LLM Applications](https://www.deeplearning.ai/short-courses/red-teaming-llm-applications/) | Giskard | ▫️ |
| 100 | [Preprocessing Unstructured Data for LLM Apps](https://www.deeplearning.ai/short-courses/preprocessing-unstructured-data-for-llm-applications/) 🆕 | Unstructured | ▫️ |
| --- | [-]() | - | ▫️ |


## Roadmaps To Learn

This is a list of roadmaps that I find useful to track, to understand the landscape of generative AI and curated paths to follow for structured self-paced learning.

| Roadmap | Description | Notes |
|---|---|---|
| [Prompt Engineering Roadmap](https://roadmap.sh/prompt-engineering) | Last visited 04/24 | ▫️ |
| | | |
Loading

0 comments on commit 952335c

Please sign in to comment.