Guide to Using ChatGPT
Introduction to ChatGPT
ChatGPT is a user-friendly chatbot platform that provides a fun and engaging way for people to communicate with each other. It is designed to help people connect with each other by providing a platform for them to chat about various topics.
ChatGPT is powered by state-of-the-art artificial intelligence technology that allows it to understand and respond to users' queries and requests. The platform can be accessed through various channels, such as Facebook Messenger, Telegram, and Slack.
ChatGPT is not just a chatbot platform. It is also a community of users who share interests and ideas. Users can join various groups and channels on the platform to discuss topics they are passionate about.
Whether you want to chat with friends, get advice from experts, or simply have fun, ChatGPT is the perfect platform for you. So why not give it a try today and start chatting with people from all around the world!
A few terms you should know:
Prompts: Anything you give the AI in order to get a result (the language of the AI)
ChatGPT: GPT as a chatbot (it likes specificity, detail and examples)
GPT: Generative Pre-trained Transformer (a type of technology, a prediction engine)
💡
The quality of the output is dependent on the quality of input.
Structure
I like easy ways to remember how to write my prompts.
PACO : Person | Action | Context | Output
Person: Who is the expert? Ask the AI to role-play them. Also referred as Act As
Action: What do want to the AI to do? Be specific
Context: What information does the AI need to fill this action? Give it specifics. Otherwise you’ll get generic answers.
Output: How do you want the output formatted? Do you want it as a markup, as a tweet thread, like a blog?
How to Use ChatGPT
ChatGPT can do many things, including the following:
Answering general knowledge questions.
Providing simpler explanations of complex concepts.
Generating creative writing prompts.
Summarizing long passages of text.
Recommending products or services based on user preferences.
Translating text into different languages.
Generating human-like responses to conversations.
Helping with language learning by providing definitions and examples of words and phrases.
Generating personalized content, such as emails and social media posts.
Creating chatbots and virtual assistants for businesses.
Assisting with research by providing relevant information and sources.
Generating jokes and humorous responses.
Assisting with mental health by providing coping strategies and resources.
Analyzing data and generating reports.
Generating music and art based on user input and preferences.
💡
Note that this list is not exhaustive. ChatGPT's capabilities are constantly evolving and expanding with advancements in artificial intelligence technology.
Best Practices for Creating Good Prompts
Coming up with good question prompts for ChatGPT can be challenging, but some general principles and strategies can help guide you in the process.
Clearly define the goal of the question: Before formulating a good question for ChatGPT, it's important to be clear on what you're trying to achieve. What information or insight are you hoping to get from the model? Once you have a clear goal in mind, you can start to think about the types of questions that might be most useful.
Keep it specific and focused: ChatGPT is good at generating answers to specific questions, so it's important to frame your questions in a specific and focused way. Avoid broad or vague questions, and be as clear and concise as possible.
Use natural language: ChatGPT is designed to understand and generate natural language, so it's important to use it when formulating your questions. Avoid using technical jargon or complex language that might be difficult for the model to understand.
Provide context: ChatGPT works best when it has context to work with, so it can be helpful to provide some context when formulating your questions. This might include providing background information or explaining the context of the question.
Test and refine: Finally, testing your question prompts and refining them over time is important. Try different types of questions and see how ChatGPT responds. Pay attention to the quality and accuracy of the answers you get, and use this feedback to refine your question prompts and improve the quality of the information you get from ChatGPT.
💡
In this section, information and content has been taken from these certified sources.
Source:
https://heyzoish.gumroad.com/ (Super Prompts)
https://www.freecodecamp.org/news/how-to-use-chatgpt-for-data-scientists/
How to Communicate with ChatGPT
Prompt Engineering a step-by-step process to communicate with ChatGPT
What is Prompt Engineering?
Communication with AI is crucial and understanding how to communicate with it effectively is helpful. The entire communication process revolves around writing commands which are referred to as prompts.
With that said, we can easily define prompt engineering as the step-by-step process of creating inputs that determine the output to be generated by an AI language model.
High quality inputs will result in better output. Similarly, poorly defined prompts will lead to inaccurate responses or responses that might negatively impact the user. After all, "With great power comes great responsibility".
Prompt engineering cuts across different applications, including chatbots, content generation tools, language translation tools, and virtual assistants. But you might be wondering how AI technology generates its responses. Let’s find out in the next section.
How do Language Models Work?
AI language models such as GPT-4 rely on deep learning algorithms and natural language processing (NLP) to fully understand human language.
All this is made possible through training that consists of large datasets. These datasets include articles, books, journals, reports, and so on. This helps the language models develop their language understanding capabilities. With the data, the model is fine-tuned in a way that enables it to respond to particular tasks assigned to it.
Depending on the language model, there are two main learning methods – supervised or unsupervised learning.
Supervised learning is where the model uses a labeled dataset where the data is already tagged with the right answers. In unsupervised learning, the model uses unlabeled datasets, meaning the model has to analyze the data for possible and accurate responses. Models like GPT-4 use the unsupervised learning technique to give responses.
The model has the ability to generate text based on the prompt given. This process is referred to as language modeling, and it's the foundation of many AI language applications. Learn more about Supervised vs Unsupervised Learning from IBM.
At this point, you should understand that the performance of an AI language model mainly depends on the quality and quantity of the training data. Training the model with tons of data from different sources will help the model understand human language including grammar, syntax, and semantics.
Note that, irrespective of the quantity of data used to train these models, there will always be challenges when it comes to understanding natural language. After all, this is an artificial being and understanding things like sarcasm, irony, or human feelings can be difficult for an AI model to interpret.
Now that we have an understanding of how the AI language model works, let's look at different prompt categories that are available to help us communicate with the models.
What are Prompt Categories?
You can use prompts to ensure smooth communication with AI language models. The first step to writing quality prompts is understanding their different classifications so you can easily structure the prompts with a given target response in mind.
Some of the major prompt categories include:
Information-seeking prompts - These prompts are specifically designed to gather information. The prompts mostly answer the question What and How. Examples of such prompts: "What are the most popular tourist attractions in Kenya?", "How do I prepare for a job interview?"
Instruction-based prompts - These are used to give instructions to the model to perform a specific task. A good example of such prompts is the use of Siri, Alexa, or Google Assistant. For example, an instruction prompt might be "Call mom”, or “Play the latest episode from my favorite TV show."
Context-providing prompts - Just as the name suggests, these prompts provide information to the AI to help it better understand what the user needs as a response. For example, if you’re planning a party and need some decoration ideas and activities for attendees, you can structure your prompt like so: "I am planning a party for my child, what are some decoration ideas and activities that the attendees might do to make it enjoyable and memorable?"
Comparative prompts - These are used to compare or evaluate different options given to the model to help the user make an appropriate decision. For example: "What are the strengths and weaknesses of Option A compared to Option B?"
Opinion-seeking prompts - These are designed to get the AI's opinion on a given topic. For example: "What would happen if we could travel back in time?"
Reflective prompts - These prompts are designed to help individuals gain a deeper understanding of themselves, their beliefs, and their actions. They are more like encouragement/self-growth prompts based on a topic or personal experience. You might be required to give the model a bit of info before getting a desirable response.
Role-based prompts - These prompts provide responses by framing the user's request within a specific role. It's the most commonly used category of prompts. By giving the AI a role, it gives responses based on the role given.A trick that has worked for this particular category is making use of the 5 Ws framework, that is:
Who - Assigns the role you need the model to play. A role like a teacher, developer, chef, and so on.
What - Refers to the action you want the model to do.
When - Your desired timeline to complete a particular task.
Where - Refers to the location or context of a particular prompt.
Why - Refers to the reasons, motivations, or goals for a particular prompt.
An example of a role-based prompt is:
As a coding tutor, your role is to create personalized study plans to help individuals learn how to code. Your responsibilities will include understanding the goals, time commitment, and preferred learning resources of each student, and using that information to develop a comprehensive study plan with clear timelines and links to relevant resources. You should be able to adapt your teaching style to meet the individual needs of each student and provide ongoing support and guidance throughout the learning process. Your ultimate goal will be to help each student develop the skills and knowledge they need to achieve their coding goals.
This prompt should also include what you intend to learn, the intended learning period, and your goal for learning. Remember that the more details you give, the more tailored results you will get.
💡
NOTE: If you lack prior knowledge on what you need help with, you shouldn’t fully rely on the response you get from the model. Be sure to crosscheck with other sources if you doubt the model’s responses, as the model is not always correct.
Principles of Effective Prompt Engineering
Now that we have covered the different prompt categories, let's look at how you can craft good prompts. To help you understand better, we’ll go through different prompt engineering frames that optimize the responses we get by providing clear queries meant for NLP.
You should keep the following in mind when creating prompts:
Clarity – In any communication setting, clarity is very important. The same principles apply to prompt engineering. If you want to craft a good prompt, it's important to be clear about what you want. A good prompt helps the AI provide more accurate responses.
Provide context and examples – This involves providing additional info that can help the AI better understand what the prompt is meant to achieve. By doing this, you increase the chances of getting more accurate responses.
Set limitations and constraints – This involves setting boundaries within which the AI should operate. This increases the chances of getting the intended response, and avoiding undesired/irrelevant information.
Break down queries – Breaking down queries into smaller and more manageable blocks will make it easier for the AI to process the info. This will help the model understand each query and produce better responses.
Iterate and rephrase – In some cases, after giving the AI a query, you might not be satisfied with the response you get. In such cases you can rephrase your prompt and also provide more context for better results.
Prioritize important info – This is where you highlight the most important information in the prompt. By doing this you are telling the AI to focus on providing responses that are relevant to the highlighted information.
Use multiple choice questions – In a situation where you're stuck with choosing from multiple options, you can provide the AI with different options to work with so you can save time.
Request step-by-step explanation – Let's say you need detailed information or a breakdown of a complex topic. You can structure your prompt in a way that instructs the AI to give responses in a more thorough manner by breaking down each step.
Encourage critical thinking – This can be useful when you are relying on information like a piece of advice from the AI. By encouraging the AI to think critically, you increase the chances of getting a response based on realistic logic.
Verify the accuracy of generated response – Last, but not least, it's always important to verify the AI-generated responses. This involves making sure the information is accurate and up to date. By doing this you are able to make sure that you are making an informed decision based on the response generated.
Creating ChatGPT Prompts: A Framework
Using a prompt framework when creating prompts for ChatGPT. Frameworks provides structure and clarity to the prompt creation process. It breaks prompt creation process into clear and distinct steps. I created the below framework (CRISPE) for my own use and experimentation of ChatGPT.
CRISPE Prompt Framework:
Capacity and Role: What role (or roles) should ChatGPT act as?
Insight: Provides the behind the scenes insight, background, and context to your request.
Statement: What you are asking ChatGPT to do.
Personality: The style, personality, or manner you want ChatGPT to respond in.
Experiment: Asking ChatGPT to provide multiple examples to you.
How to Build Prompts -> CRISPE Example
Step
Example Prompt
Capacity and Role
`Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer.`
Insight
`The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning.`
Statement
`Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries.`
Personality
`When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.`
Experiment
`Give me multiple different examples.`
The final prompt being:
Act as an expert on software development on the topic of machine learning frameworks, and an expert blog writer. The audience for this blog is technical professionals who are interested in learning about the latest advancements in machine learning. Provide a comprehensive overview of the most popular machine learning frameworks, including their strengths and weaknesses. Include real-life examples and case studies to illustrate how these frameworks have been successfully used in various industries. When responding, use a mix of the writing styles of Andrej Karpathy, Francois Chollet, Jeremy Howard, and Yann LeCun.
I would refine this by saying Give me another example or Give me multiple examples and other prompts below (under Prompt Refinement).
Prompt Refinement: Fixing 'Soulless Writing'
Encourage creativity: "Rewrite the existing document to make it more imaginative, engaging, and unique."`
Focus on storytelling: `"Transform the existing document into a compelling story that highlights the challenges faced and the solutions provided."
Use persuasive language: `"Refine the existing document by incorporating persuasive language and techniques to make it more convincing and impactful."
Emphasize emotion: `"Add emotional language and sensory details to the existing document to make it more relatable and engaging."
Utilize sensory details: `"Refine the existing document by adding sensory details and descriptive language to bring it to life and engage the reader."
Make the content concise: `"Refine the existing document by removing unnecessary information and making it more concise and to-the-point."
Highlight key points: `"Rewrite the existing document to emphasize the key points and make them more impactful."
Use vivid language: `"Refine the existing document by using vivid language and descriptive adjectives to make it more engaging."
Create a sense of urgency: "Refine the existing document by adding a sense of urgency and emphasizing the need for immediate action."
Address objections: "Refine the existing document by anticipating and addressing potential objections to the content."
Personalize the content: "Refine the existing document by personalizing the language and making it more relatable to the reader."
Prompt Refinement: Increase Readability
Use clear and concise language: "Explain technical concepts in simple terms."
Add visual aids: "Using mermaid.js you can include diagrams to illustrate complex concepts (low reliability)."
Use headings and subheadings: "Divide the document into sections with clear headings and subheadings."
Highlight key points: "Emphasize important information using bold or italic text."
Add real-life examples: "Include case studies or real-world examples to make concepts more relatable."
Use clear and consistent formatting: "Use a consistent font, font size, and layout throughout the document."
Include analogies and comparisons: "Explain complex ideas using analogies or comparisons."
Use active voice: "Write in active voice to make sentences more engaging and easier to follow."
When not to use Prompt Engineering or ChatGPT
When you need 100% reliability
When you have no way to evaluate the accuracy of the model's output
When you need to generate content that is not in the model's training data