Building Systems with the ChatGPT API
Tags: 100daystooffload, course, chatgpt, llm
Published: 2023-10-08 09:51:39

Finished another short free course made by [DeepLearning.AI](https://www.deeplearning.ai/), this time it was the course, [Building Systems with the ChatGPT API](https://www.deeplearning.ai/short-courses/building-systems-with-chatgpt/).

The course is divided into short, 5 to 20-minute lessons, each with a supplementary Jupyter notebook (Python) to help you learn. I highly recommend this course and this format of short lessons with practical exercises.

The lessons of the course are:

### 1. Introduction

This lesson introduces the course and its topics. It is led by experts Isa Fulford and Andrew Ng, who will cover best practices for building complex applications using large language models (LLMs).

~ 2 minutes long

### 2. Language Models, the Chat Format and Tokens

This lesson gives an overview of how LLMs work and how they are trained. It covers the two main types of LLMs: base LLMs and instruction-tuned LLMs. It also explains the concept of tokens in more detail.

~ 19 minutes long

### 3. Classification

This lesson focuses on tasks to evaluate inputs, which is important for ensuring the quality and safety of the system. It discusses how to first classify the type of query and then use that classification to determine which instructions to use.

~ 4 minutes long

### 4. Moderation

This lesson explores the OpenAI moderation API and the importance of checking user input. It also discusses strategies to mitigate abuse of the system and how to handle prompt injections.

~ 8 minutes long

### 5. Chain of Thought Reasoning

This lesson explains the technique, chain of thought reasoning, whre the model is asked to reason about the answer before coming to its conclusion. This can be done by breaking the problem down into smaller steps and asking the model to solve each step one at a time.

Finding the optimal trade-off in prompt complexity requires some experimentation, so it is important to try a number of different prompts before deciding on one.

~ 10 minutes long

### 6. Chaining Prompts

This lesson introduces another technique instead of chain of thought reasoning: chaining prompts. This technique involves splitting complex tasks into a series of simpler sub-tasks by chaining multiple prompts together.

It also enables other features, such as the use of external tools (web search, databases).

~ 19 minutes long

### 7. Check Outputs

Just like checking the input in the moderation lesson, it is also important to check the output. This lesson discusses how to use the OpenAI moderation API for outputs and how to use additional prompts to the model to evaluate output quality before displaying them.

In general, checking outputs using the moderation API is good practice. However, asking the model to evaluate its own output may be useful for immediate feedback to ensure the quality of responses in a very small number of cases.

~ 6 minutes long

### 8. Evaluation

This lesson puts everything we have learned in the previous lessons together to create an end-to-end example of a customer service assistant.

~ 5 minutes long

### 9. Evaluation Part I

Once an application is built, how do we know how it is working? This lesson discusses the process of building an application and how to evaluate it.

~ 19 minutes long

### 10. Evaluation Part II

This lesson continues the discussion of evaluating the output from the application, this time focusing on how to evaluate generated text where there is not just one right answer.

~ 9 minutes long

### 11. Summary

A short recap of the complete course.

~ 1 minutes long