Introduction to the prompt-engineering-note Project
The prompt-engineering-note project is a comprehensive set of learning notes designed for developers interested in mastering prompt engineering, specifically using ChatGPT. Through this project, developers can gain insights into the workings of language models and best practices for prompt engineering, enriching their understanding and application of language model APIs for various tasks.
Overview
This project offers a concise introduction to how language models operate. It provides best practices for prompt engineering and shows how to apply language model APIs in various application domains. Notably, the project includes Jupyter Notebook examples. By utilizing the OpenAI API key, even those without an account can experiment and explore the project’s capabilities.
By engaging with the ChatGPT Prompt Engineering for Developers course through this project, learners can harness the potential of large language models (LLMs) to rapidly construct powerful, new applications. Using the OpenAI API, developers can build skills for innovation and value creation that were previously costly, technically demanding, or even unattainable.
Course Details
Taught by Isa Fulford (OpenAI) and Andrew Ng (DeepLearning.AI), this short course elucidates the functioning of LLMs. It lays out best practices for prompt engineering and demonstrates how LLM APIs can be employed for various tasks, such as:
- Summarizing: Condensing user reviews for brevity.
- Inferring: Tasks like sentiment classification and topic extraction.
- Transforming: Activities including translation and correcting grammar or spelling.
- Expanding: Automatically drafting emails.
Learners will discover the two key principles of writing effective prompts: systematically designing efficient prompts and building custom chatbots. All concepts are illustrated with ample examples, providing hands-on practice in the official Jupyter notebook environment.
Main Content
Course Chapters
- Introduction
- Guidelines on Prompt Engineering
- Iterative Prompt Engineering
- Summarizing Applications
- Inferring Applications
- Transforming Applications
- Expanding Applications
- Building a Chatbot
- Course Conclusion
This project serves as an organized set of notes from the ChatGPT Prompt Engineering for Developers course. It expresses gratitude to Isa Fulford and Andrew Ng for the brilliant course, offering significant aid to beginners. Inspired by a mindset of learning and application, activities listed below were undertaken to assist prompt engineering learners:
-
Translation: Using prompts and ChatGPT for machine translation of course content into different languages, providing side-by-side comparisons.
-
Summarization and Expansion: Utilizing prompts and ChatGPT to condense and expand on note content, with examples illustrated at the end of each section.
-
Jupyter Notebook Code: Curated code examples in Jupyter for practical implementation.
-
Shell CLI Scripts: Development of CLI command scripts based on notebook code (in progress).
python source/cli/cli_py.py --prompt "hello chatgpt" --model "gpt-3.5"
-
Curated Awesome Project List: An organized list of fascinating projects related to prompt engineering (in progress).
-
Toy Project: Tiny-GPT: A guided endeavor for ChatGPT to generate [tiny-gpt], a simplified GPT model from scratch.
- Documented in tiny-gpt
Acknowledgments
The project acknowledges valuable resources and inspiration from various sources:
- ChatGPT Prompt Engineering
- OpenAI’s resources like their cookbook, Python library, and retrieval plugin
- A guide to prompt engineering
Through these resources and activities, the project aims to contribute valuable knowledge and tools for individuals embarking on their prompt engineering journey.