Table of Contents
IntroductionMaximiliano Firtman presents a comprehensive introduction to the course and shares some personal and professional background information. Outlines of the course's goals, prerequisites, and an overview of the material that will be covered are also provided in this segment.
AI and Web Development
AI, LLMs & OpenAIMaximiliano explores the relationship between artificial intelligence (AI), large language model (LLM), and generative pre-trained transformer (GPT). Large language models can be used for several tasks without changing or training models.
OpenAI API & TokensMaximiliano explains the techniques used to structure prompts in GPT models and how the length of prompts and results is measured. The discussion also includes an introduction to pricing estimates and different OpenAI models like GPT-4, InstructGPT, image models, and audio models.
AI & Web DevelopmentMaximiliano explores how web developers can leverage GPT for chatbots, plugins, content APIs, and sharing with other AI systems. Other applications like email generation, text correction, and content curation are also covered.
PluginsMaximiliano discusses creating and utilizing ChatGPT plugins to enhance the generated responses. The discussion includes practical examples of a ChatGPT plugin manifest and endpoint description.
Security & Prompt InjectionMaximiliano addresses ChatGPT browser plugins and the associated security risks related to prompt injection. The discussion includes a method to prevent ChatGPT from accessing specific websites by utilizing the ChatGPT-User keyword within the robots.txt file.
Project SetupMaximiliano introduces the course repository and briefly overviews the file contents and dependencies. Additionally, setup instructions are presented to guide students in getting started with the course materials.
Adding Your API KeyMaximiliano covers the process of generating an OpenAI API key and emphasizes the importance of keeping it secure. The discussion includes a demonstration of the available settings and provides guidance on practicing queries using the OpenAI playground.
Chat Completion APIMaximiliano demonstrates the process of making a POST request to the Chat Completion API and explains the contents of the response received from the server. Connecting the chat application to send prompts and receive responses from the API is also covered in this segment.
Maintaining Context in a ConversationMaximiliano explains how to preserve the context of previous API requests and simulate receiving responses word by word by incorporating the stream response property. The discussion also addresses the current context limitations in ChatGPT, where the first message is automatically deleted if the request becomes too large.
OpenAI Node.js APIMaximiliano demonstrates the process of creating a Node.js server for making API requests, which offers the additional benefit of keeping the API key secure on the server side.
Prompt Engineering for DevelopersMaximiliano explains prompt engineering, the process of designing and refining prompts to get desired responses from language models. The discussion covers important goals to keep in mind when creating prompts, such as consistent outputs, desired format, preventing abuse, prompt validation, and avoiding injection of unwanted content.
Basic Prompt RulesMaximiliano shares essential guidelines for writing prompts to elicit the desired response from the model. The discussion includes tips for providing clear and specific instructions, such as requesting a structured format, providing examples, and explaining how to handle invalid inputs, for effective prompt construction.
CapabilitiesMaximiliano demonstrates the range of ChatGPT's capabilities, including summarizing information, making inferences, transforming data, extracting specific details, and generating content based on given prompts.
Modeling Prompt DataMaximiliano walks through the process of modeling prompt data for a cooking app, utilizing the prompt rules and capabilities discussed in previous lessons. This segment focuses on the section of the prompt that involves searching for a recipe and identifying ingredients.
Using the Image APIMaximiliano implements the Images API to create and display an image corresponding to the generated recipe. The ingredients and recipe sample must be stringified within the prompt for proper functionality.
Embeddings & Fine Tuning
Connecting GPT to DataMaximiliano explores the training of language models through parameter updates using smaller datasets. The discussion also includes the process of connecting GPT to data by performing an initial search outside GPT and utilizing the search result as the context within GPT.
EmbeddingsMaximiliano discusses the process of converting large amounts of text into numerical statistical data as a means of efficient processing. The discussion highlights searching the segmented data, returning a corresponding slice of data, and then utilizing the data as context for the prompt.
LangchainMaximiliano discusses utilizing the Langchain framework to continue to learn about developing LLM applications.