Prompt-Engineering-Guide/README.md
2023-01-11 21:42:08 -06:00

122 lines
9.0 KiB
Markdown

# Prompt Engineering Guide
This guide contains a non-exhaustive set of learning guides and tools about prompt engineering. It includes several materials, guides, examples, papers, and much more. The repo is intended to be used as a research and educational reference for practitioners and developers.
**📣 Full lecture + notebook + exercises on the ~30th of January** (announcement will happen on [Twitter](https://twitter.com/dair_ai))
## Table of Contents
- [Papers](#papers)
- [Tools & Libraries](#tools--libraries)
- [Datasets](#datasets)
- [Blog, Guides, Tutorials and Other Readings](#blog-guides-tutorials-and-other-readings)
## Papers
- Surveys / Overviews:
- [Pre-train, Prompt, and Predict: A Systematic Survey of Prompting Methods in Natural Language Processing](https://arxiv.org/abs/2107.13586)
- [A Taxonomy of Prompt Modifiers for Text-To-Image Generation](https://arxiv.org/abs/2204.13988)
- [Emergent Abilities of Large Language Models](https://arxiv.org/abs/2206.07682)
- Applications:
- [Legal Prompt Engineering for Multilingual Legal Judgement Prediction](https://arxiv.org/abs/2212.02199)
- [Investigating Prompt Engineering in Diffusion Models](https://arxiv.org/abs/2211.15462)
- [Conversing with Copilot: Exploring Prompt Engineering for Solving CS1 Problems Using Natural Language](https://arxiv.org/abs/2210.15157)
- [Piloting Copilot and Codex: Hot Temperature, Cold Prompts, or Black Magic?](https://arxiv.org/abs/2210.14699)
- Approaches/Techniques:
- [Ask Me Anything: A simple strategy for prompting language models](https://paperswithcode.com/paper/ask-me-anything-a-simple-strategy-for)
- [Fantastically Ordered Prompts and Where to Find Them: Overcoming Few-Shot Prompt Order Sensitivity](https://arxiv.org/abs/2104.08786)
- [AutoPrompt: Eliciting Knowledge from Language Models with Automatically Generated Prompts](https://arxiv.org/abs/2010.15980)
- [Large Language Models Are Human-Level Prompt Engineers](https://sites.google.com/view/automatic-prompt-engineer?pli=1)
- [BERTese: Learning to Speak to BERT](https://aclanthology.org/2021.eacl-main.316/)
- [Large Language Models are Zero-Shot Reasoners](https://arxiv.org/abs/2205.11916)
- [Structured Prompting: Scaling In-Context Learning to 1,000 Examples](https://arxiv.org/abs/2212.06713)
- [Chain of Thought Prompting Elicits Reasoning in Large Language Models](https://arxiv.org/abs/2201.11903)
- [Reframing Instructional Prompts to GPTk's Language](https://arxiv.org/abs/2109.07830)
- [Promptagator: Few-shot Dense Retrieval From 8 Examples](https://arxiv.org/abs/2209.11755)
- [Making Pre-trained Language Models Better Few-shot Learners](https://aclanthology.org/2021.acl-long.295/)
- [Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm](https://www.arxiv-vanity.com/papers/2102.07350/)
- [A Taxonomy of Prompt Modifiers for Text-To-Image Generation](https://arxiv.org/abs/2204.13988)
- [PromptChainer: Chaining Large Language Model Prompts through Visual Programming](https://arxiv.org/abs/2203.06566)
- [How Can We Know What Language Models Know?](https://direct.mit.edu/tacl/article/doi/10.1162/tacl_a_00324/96460/How-Can-We-Know-What-Language-Models-Know)
- Collections:
- [Papers with Code](https://paperswithcode.com/task/prompt-engineering)
- [Prompt Papers](https://github.com/thunlp/PromptPapers#papers)
## Tools & Libraries
- [OpenAI Playground](https://beta.openai.com/playground)
- [GPTTools](https://gpttools.com/comparisontool)
- [EveryPrompt](https://www.everyprompt.com/)
- [DUST](https://dust.tt/)
- [Prompts.ai](https://github.com/sevazhidkov/prompts-ai)
- [Lexica](https://lexica.art/)
- [Scale SpellBook](https://scale.com/spellbook)
- [Interactive Composition Explorer](https://github.com/oughtinc/ice)
- [Promptable](https://promptable.ai/)
- [GPT Index](https://github.com/jerryjliu/gpt_index)
- [Prompt Base](https://promptbase.com/)
- [Playground](https://playgroundai.com/)
- [OpenPrompt](https://github.com/thunlp/OpenPrompt)
- [Visual Prompt Builder](https://tools.saxifrage.xyz/prompt)
- [Prompt Generator for OpenAI's DALL-E 2](http://dalle2-prompt-generator.s3-website-us-west-2.amazonaws.com/)
- [AI Test Kitchen](https://aitestkitchen.withgoogle.com/)
- [betterprompt](https://github.com/krrishdholakia/betterprompt)
- [Prompt Engine](https://github.com/microsoft/prompt-engine)
- [PromptSource](https://github.com/bigscience-workshop/promptsource)
- [sharegpt](https://sharegpt.com/)
- [DreamStudio](https://beta.dreamstudio.ai/)
## Datasets
- [PartiPrompts](https://parti.research.google/)
- [Real Toxicity Prompts](https://allenai.org/data/real-toxicity-prompts)
- [DiffusionDB](https://github.com/poloclub/diffusiondb)
- [P3 - Public Pool of Prompts](https://huggingface.co/datasets/bigscience/P3)
- [WritingPrompts](WritingPrompts)
- [Midjourney Prompts](https://huggingface.co/datasets/succinctly/midjourney-prompts)
- [Awesome ChatGPT Prompts](https://huggingface.co/datasets/fka/awesome-chatgpt-prompts)
- [Stable Diffusion Dataset](https://huggingface.co/datasets/Gustavosta/Stable-Diffusion-Prompts)
## Blog, Guides, Tutorials and Other Readings
- [Pretrain, Prompt, Predict - A New Paradigm for NLP](http://pretrain.nlpedia.ai/)
- [Prompt Engineering 101 - Introduction and resources](https://www.linkedin.com/pulse/prompt-engineering-101-introduction-resources-amatriain/)
- [Prompt Engineering by co:here](https://docs.cohere.ai/docs/prompt-engineering)
- [Prompt Engineering by Microsoft](https://microsoft.github.io/prompt-engineering/)
- [Best practices for prompt engineering with OpenAI API](https://help.openai.com/en/articles/6654000-best-practices-for-prompt-engineering-with-openai-api)
- [Start with an Instruction](https://beta.openai.com/docs/quickstart/start-with-an-instruction)
- [CMU Advanced NLP 2022: Prompting](https://youtube.com/watch?v=5ef83Wljm-M&feature=shares)
- [Prompt Engineering 101: Autocomplete, Zero-shot, One-shot, and Few-shot prompting](https://youtube.com/watch?v=v2gD8BHOaX4&feature=shares)
- [Prompt engineering davinci-003 on our own docs for automated support (Part I)](https://www.patterns.app/blog/2022/12/21/finetune-llm-tech-support/)
- [DALLE Prompt Book](https://dallery.gallery/the-dalle-2-prompt-book/)
- [DALL·E 2 Prompt Engineering Guide](https://docs.google.com/document/d/11WlzjBT0xRpQhP9tFMtxzd0q6ANIdHPUBkMV-YB043U/edit#)
- [Prompt injection attacks against GPT-3](https://simonwillison.net/2022/Sep/12/prompt-injection/)
- [Language Models and Prompt Engineering: Systematic Survey of Prompting Methods in NLP](https://youtube.com/watch?v=OsbUfL8w-mo&feature=shares)
- [A Complete Introduction to Prompt Engineering for Large Language Models](https://www.mihaileric.com/posts/a-complete-introduction-to-prompt-engineering/)
- [Learn Prompting](https://learnprompting.org/)
- [3 Principles for prompt engineering with GPT-3](https://www.linkedin.com/pulse/3-principles-prompt-engineering-gpt-3-ben-whately/)
- [Extrapolating to Unnatural Language Processing with GPT-3's In-context Learning: The Good, the Bad, and the Mysterious](http://ai.stanford.edu/blog/in-context-learning/)
- [Prompt Engineering Topic by GitHub](https://github.com/topics/prompt-engineering)
- [Prompt Engineering Template](https://docs.google.com/spreadsheets/d/1-snKDn38-KypoYCk9XLPg799bHcNFSBAVu2HVvFEAkA/edit#gid=0)
- [Awesome ChatGPT Prompts](https://github.com/f/awesome-chatgpt-prompts)
- [Prompt Engineering: From Words to Art](https://www.saxifrage.xyz/post/prompt-engineering)
- [NLP for Text-to-Image Generators: Prompt Analysis](https://heartbeat.comet.ml/nlp-for-text-to-image-generators-prompt-analysis-part-1-5076a44d8365)
- [GPT3 and Prompts: A quick primer](https://buildspace.so/notes/intro-to-gpt3-prompts)
- [Prompt Engineering in GPT-3](https://www.analyticsvidhya.com/blog/2022/05/prompt-engineering-in-gpt-3/)
- [Talking to machines: prompt engineering & injection](https://artifact-research.com/artificial-intelligence/talking-to-machines-prompt-engineering-injection/)
- [A beginner-friendly guide to generative language models - LaMBDA guide](https://aitestkitchen.withgoogle.com/how-lamda-works)
- [Giving GPT-3 a Turing Test](https://lacker.io/ai/2020/07/06/giving-gpt-3-a-turing-test.html)
- [Prompts as Programming by Gwern](https://www.gwern.net/GPT-3#prompts-as-programming)
- [AI Content Generation](https://www.jonstokes.com/p/ai-content-generation-part-1-machine)
- [How to Draw Anything](https://andys.page/posts/how-to-draw/)
- [How to write good prompts](https://andymatuschak.org/prompts/)
- [Prompting Methods with Language Models and Their Applications to Weak Supervision](https://snorkel.ai/prompting-methods-with-language-models-nlp/)
- [How to get images that don't suck](https://www.reddit.com/r/StableDiffusion/comments/x41n87/how_to_get_images_that_dont_suck_a/)
- [Best 100+ Stable Diffusion Prompts](https://mpost.io/best-100-stable-diffusion-prompts-the-most-beautiful-ai-text-to-image-prompts/)
- [Notes for Prompt Engineering by sw-yx](https://github.com/sw-yx/ai-notes)
# Lecture + Tutorial
Full tutorial and lecture coming soon!
---
Feel free to open a PR if you think something is missing here. Always welcome feedback and suggestions.