ChatGPT Beginner's Guide
Learn how to use ChatGPT's prompt portal and API, whether you're new to AI or trying to build your first chatbot.
Version 1.2.0: Updated outline to split documentation into three overall parts with introduction.
The Summary
- ChatGPT, and AI in general, is less like C-3PO and more like a bunch of well-meaning worms doing their best.
- After a high-level introduction, this guide divides into sections for just using the prompt portal in Part A and then using the actual API in Part B. Part C is a reference for all users.
- AI is only as good as the data it's trained on. The better and more specific your prompt and parameters, the more helpful ChatGPT can be.
- Avoid sharing any private or sensitive data. Assume that everything you write to ChatGPT will eventually be hacked and printed somewhere on the Internet.
Guide Goals & Intended Audience
The goal of this open-source guide is to establish foundational knowledge of ChatGPT and basic concepts behind AI and machine learning. This could be your first-ever guide to ChatGPT, whether you've never touched code before and are only using the popular chat functionality or a developer using the API to build your first ChatGPT app.
The saying is already cliche, and it's true: AI will probably not take your job, but it will change your job.
NOTE: For the sake of simplicity and accessibility, we're using GPT-3. GPT-4 is available but only in beta. This guide will be updated once GPT-4 and future versions are more widely available.
IMPORTANT: Be mindful of everything you send to ChatGPT. Do not share private information that you would not want ChatGPT to remember and store. Assume that everything you write to ChatGPT will eventually be hacked and printed somewhere else on the Internet.
Table of Contents
I. Introduction
- Overview of ChatGPT
- How You Can Use ChatGPT
- Metaphors For What ChatGPT Can (and Can't) Do
PART A: ChatGPT's Prompt Portal
II. Getting Started (Prompt Portal)
- Step-by-Step Guide
- Writing Your First Prompt
- The Art of a Good Prompt
III. Examples of ChatGPT Prompts
- General Learning, Troubleshooting, Or Brainstorming
- Editing, Summarizing, and Translating Text
- Creating Your Own Study Guide
- Generating Project Ideas
- Preparing Your Resume For A Specific Application
- Preparing For A Job Interview
- Working In Excel
- Writing Shell (Linux) Commands
- Writing Git Commands
- Improving Code & Getting Feedback
- Extracting Data
- Generating Dummy Data
- Generating Documentation
- Understanding and Fixing Errors
- Writing Tests
- Building An API
- Natural Language Programming
- Python Examples
- HTML, CSS, and JavaScript Examples
- React Examples
- SQL Examples
PART B: ChatGPT's API
IV. Getting Started (ChatGPT's API)
- System Requirements
- Installing Dependencies
- Running the Code
V. Usage
- Overview of API Features
- Using
chat_cli.py
(ChatGPT in the Command Line) - Using
chat_ui.py
(ChatGPT Deployed on Localhost)
VI. API Reference
- API Documentation & Quick Links
- Obtaining an API key
- API Example Applications
PART C: Conclusion & References
VII. Giving Thanks
- Closing Credits
- Cited Sources
- Open-Source Contributing
VIII. Glossary
- Artificial Intelligence (AI)
- Machine Learning
- Natural Language Processing (NLP)
- Chatbot
- Deep Learning
- Neural Network
- Generative Model
- Transformer Model
- API (Application Programming Interface)
I. Introduction
This section introduces ChatGPT and the concepts of AI, machine learning, natural language processing, and the Transformer model, while also sharing initial use cases and metaphors for non-developers and software engineers.
Overview of ChatGPT
ChatGPT is a computer program that can understand and generate human-like language to have conversations with people.
This is the answer I got when I asked ChatGPT to explain itself in one sentence to someone who knows nothing about ChatGPT or AI.
Here's a more specific definition:
ChatGPT is a state-of-the-art, large-scale natural language processing model based on the Transformer architecture, which can generate human-like text and perform various language-related tasks with high accuracy.
This time, I asked ChatGPT to sum itself up in one sentence to an AI and machine learning expert. Pretty cool, right?
OK ... but what does this all mean?
AI (Artificial Intelligence) is a type of computer technology that allows machines to perform tasks that normally require human intelligence. Machine Learning is a subset of AI that enables machines to learn from data and improve their performance without being explicitly programmed; in a way, it's learning from itself. Give it a goal and a data set to learn from and it'll do the rest.
So in relation to AI and machine learning, ChatGPT is a particular machine learning model that has been trained on a lot of text data to generate human-like responses and carry out natural language processing tasks.
Natural language processing models are AI models that enable computers to understand, interpret, and generate human language, allowing them to interact with humans through speech or text. There are many types of AI models, and more details will come in a future version of this guide. For now, it's important to know that ChatGPT uses the Transformer model. Compared to other AI models, the Transformer model is better at generating responses that focus on the context of a conversation. What makes ChatGPT special is that it can be picky and focus on the most relevant parts of a user's input instead of having to process an entire sequence at once.
If you'd like to read more on AI and machine learning beyond this guide, my favorite book right now is Janelle Shane's 'You Look Like a Thing and I Love You,' which informs a lot of the high-level concepts found in this guide.
How You Can Use ChatGPT
For non-developers, some examples include:
- Ask questions or give commands to ChatGPT to then take specific actions and steps.
- i.e. Explain JavaScript like I'm a 5-year-old, and then explain it to me like I'm a senior engineer.
- Generate ideas, documentation, or dummy data.
- i.e. I need some sample data. I need a JSON array of 10 colleges with at least 10 fields each.
- Extract summaries, key words, and other data from text, links, or other online resources.
- i.e. I'm applying for this role [paste in job posting URL or text] what keywords should I include on my resume?
- Draft personalized study guides for future learning.
- i.e. Give me a study plan to learn Python for data science within a month with free video resources.
- Create first drafts of various text content.
- i.e. I have three years of experience coding in HTML, CSS, and JavaScript. Write a resume for me.
- Present high-level or technical problems and ask ChatGPT for potential solutions and examples.
- i.e. Write an Excel formula to add up values in cells B2 through B10.
- Refine text or code with specific goals.
- i.e. Here is my resume [paste in text] do you spot any typos? If so, please list them.
For software engineers, more examples include:
- Develop chatbots for customer service or sales.
- Create virtual assistants for personal or business use.
- Integrate ChatGPT with NLP tools to automate tasks.
- Generate actual content drafts for marketing or advertising campaigns.
Metaphors For What ChatGPT Can (and Can't) Do
There are a few different ways to approach ChatGPT. Here are a few metaphors to get you started:
ChatGPT is like a very tech-savvy intern
ChatGPT is helpful when assisting you in work that might be too repetitive or time-consuming and involves a lot of known data. If you feel comfortable handing off work to ChatGPT that you also can fact-check and fine-tune on your own, you're in good hands. And though interns are helpful, we still need to review the results before putting them into practice; if you submit your work and something goes wrong, do you want to tell your boss, "Well, that's what ChatGPT gave me?"
ChatGPT is like a Rabbi, Mullah, or Priest of the Internet
If the Internet is its sacred text, ChatGPT interprets and conveys its information in a way that's easy to read and digest for as many people as possible. This communication can help visualize and break-down complicated or abstract ideas. It should also be taken with a grain of salt and not be a substitute for your own knowledge or abilities. AI is only as good and bias as the data it's trained on. ChatGPT is only as informed as the Internet allows it to be.
ChatGPT is like a very knowledgeable person (but not a very smart person)
ChatGPT's access to information is impressive. Still, dumb questions don't yield smart answers. ChatGPT will not be able to always figure out the intent or context of your questions unless you explicitly tell it so. This is where the famous expression "garbage in, garbage out" comes in. The better your questions and data, the better ChatGPT can help.
ChatGPT is like a dog that wants to play fetch
It's very excited to play fetch with you (retrieve whatever data is needed to help you solve your problem) but it can't understand what you're trying to do. You can train a dog to fetch a stick (like you can train an algorithm with machine learning to do a specific task), but a dog doesn't understand what a "stick" is like a human understands a stick; a dog can only understand that you want "stick." ChatGPT only wants a treat and to be told it's a good boy. (Janelle Shane)
ChatGPT is like an impressionable child
It learns by example (like algorithms learning from data) and has no idea what it should or shouldn't imitate, unless you tell it so. (Janelle Shane)
ChatGPT is NOT like C-3PO (it's more like a swarm of flies ... or a pile of worms)
Janelle Shane's five principles of "AI Weirdness":
- The dangers of AI is not that it's too smart but that it's not smart enough.
- AI has the approximate brainpower of a worm.
- AI doesn't really understand the problem you want it to solve.
- AI, however, will do exactly what you tell it to do (or at least try its best).
- AI will take the path of least resistance.
So ChatGPT is less an intelligent machine that's timid and uptight from its own knowledge and servitude and more like a bunch of well-meaning worms doing their best.
PART A: ChatGPT's Prompt Portal
Part A provides a beginner's guide to ChatGPT for non-developers and software engineers who want to use ChatGPT's prompt portal to generate responses to their text inputs.
II. Getting Started (Prompt Portal)
This section provides steps for getting started with ChatGPT's prompt portal and how to write your first prompts.
Step-by-Step Guide
All you need is a free OpenAI account:
- Sign up for OpenAI.
- Access the prompt portal.
- Enter your text input.
- Watch ChatGPT generate its output.
TROUBLESHOOTING: Sometimes when using ChatGPT on the web, if you don't use it after a few minutes, you'll get errors with each new prompt you try to enter. Refreshing your web browser fixes this issue.
Writing Your First Prompt
All you have to do is write your prompt in the "Send a message" text box, press enter, and watch ChatGPT respond.
Try entering this prompt to start: "Tell me a dad joke."
The Art of a Good Prompt
ChatGPT is only as good as your prompt. Here are some starting tips on writing good prompts:
- Keep your prompt clear and concise.
- Ask a specific question or give a clear command. Don't write something broad or open-ended.
- Provide context for your prompt; ChatGPT will not be able to pick this up on its own.
- Use correct grammar and spelling.
- Avoid biased or discriminatory language.
A Bad Prompt
Where to eat in Chi.
An OK Prompt
Can you recommend any good restaurants in Chicago?
A Good Prompt
I'm visiting Chicago for the first time this summer and am looking for some great places to eat. Specifically, I'm interested in seafood and italian cuisine. Do you have any recommendations for restaurants that fit this criteria? The closer these recommendations are to mass transit, the better. I don't want to spend more than $100 on a meal if possible.
III. Examples of ChatGPT Prompts
This section provides real ChatGPT prompt examples and their sources as needed. Each bullet point is a prompt that you would type into ChatGPT, and each sub-bullet is a follow-up prompt that you can write in the same open window.
General Learning, Troubleshooting, Or Brainstorming
- What are the top 3 books for learning Java? (Mosh)
- List 10 science fiction books. (OpenAI)
- What are the key takeaways from Kurt Vonnegut's novel 'Slaughterhouse-Five'? (Mosh)
- What does the word "monozygotic" mean?
- Now give me a synonym.
- Now use it in 10 sentences. (Santrel)
- How do I become a front-end developer? (Mosh)
- I want to hire a graphic designer to design my website. We've agreed that they will deliver the first draft in two weeks and offer three iterations free of charge. Any iteration after will be charged at $50/hour. Write a contract draft for us that I'll then review with my lawyer. (Mosh)
- Write an email to my boss asking for a raise. I've worked at this company for 2 years and successfully delivered several projects on time. (Mosh)
- I want to learn about the fetch API. What are the steps that I should take?
- Tell me more about #2.
- Show me an example of the fetch API and a POST request.
- Show me this example using async await.
- What are some good books about the fetch API?
- What about YouTube videos? (Traversy)
- Give me some ideas for an app that uses the geolocation API.
- Tell me more about #3. (Traversy)
Editing, Summarizing, and Translating Text
- Correct this to standard English: [Paste in text you wish to correct]. (OpenAI)
- Summarize this for a second-grade student: [Paste in text you wish to summarize]. (OpenAI)
- Translate this into 1. French, 2. Spanish and 3. Japanese: What rooms do you have available? (OpenAI)
- Convert movie titles into emoji: Back to the Future, Batman, Transformers, and Star Wars. (OpenAI)
- A neutron star is the collapsed core of a massive supergiant star, which had a total mass of between 10 and 25 solar masses, possibly more if the star was especially metal-rich.[1] Neutron stars are the smallest and densest stellar objects, excluding black holes and hypothetical white holes, quark stars, and strange stars.[2] Neutron stars have a radius on the order of 10 kilometres (6.2 mi) and a mass of about