This repository contains interactive tutorials for prompt engineering across different AI platforms.
- Python 3.10 or higher
- Poetry for dependency management
-
Clone the repository:
git clone <repository-url> cd prompt-eng-interactive-tutorial
-
Run the setup script:
./setup.sh
This will:
- Install all dependencies using Poetry
- Create environment configuration files
- Set up the project structure
-
Configure your API keys:
- Edit
openai/.env
and add your OpenAI API key - Get your API key from OpenAI Platform
- Edit
-
Start learning:
- Open
openai/00_Tutorial_How-To.ipynb
in Cursor or Jupyter - Select the Poetry environment as your kernel
- Follow the tutorial sequence
- Open
prompt-eng-interactive-tutorial/
├── openai/ # OpenAI tutorials
│ ├── env.example # Environment template
│ ├── .env # Your API keys (git-ignored)
│ ├── config.py # Configuration loader
│ ├── 00_Tutorial_How-To.ipynb
│ └── ... # Tutorial notebooks
├── AmazonBedrock/ # AWS Bedrock tutorials
├── Anthropic 1P/ # Anthropic tutorials
├── setup.sh # Quick setup script
├── pyproject.toml # Poetry configuration
└── README.md # This file
This project uses .env
files to manage API keys securely:
- Template:
openai/env.example
- Committed to git - Actual:
openai/.env
- Git-ignored, contains your private keys - Loading: Done automatically via
config.py
# Required
OPENAI_API_KEY=your_api_key_here
# Optional
MODEL_NAME=gpt-4o-mini
BASE_URL=https://api.openai.com/v1
TEMPERATURE=0.0
MAX_TOKENS=2000
This project supports multiple AI platforms through the BASE_URL
configuration:
- OpenAI (default):
https://api.openai.com/v1
- DashScope (Alibaba Cloud):
https://dashscope.aliyuncs.com/compatible-mode/v1
- Other OpenAI-compatible APIs: Set your custom base URL
If you prefer manual setup:
-
Install Poetry (if not already installed):
curl -sSL https://install.python-poetry.org | python3 -
-
Install dependencies:
poetry install
-
Create environment file:
cp openai/env.example openai/.env
-
Edit the .env file and add your API keys
- ✅
.env
files are in.gitignore
- your API keys won't be committed - ✅
env.example
shows the required format without exposing keys - ✅
config.py
validates that keys are properly set ⚠️ Never commit actual API keys to version control
curl -sSL https://install.python-poetry.org | python3 -
- Check that
openai/.env
exists and contains your actual API key - Verify the key is valid on the OpenAI Platform
- Ensure the environment variables are loaded correctly
- Make sure to select the Poetry environment as your Jupyter kernel
- You may need to install ipykernel in the Poetry environment:
poetry run python -m ipykernel install --user --name=prompt-eng-tutorial
When contributing:
- Never commit
.env
files - Update
env.example
if new variables are needed - Test with fresh environment setup
- Follow the existing code structure
- Check tutorial-specific README files in each directory
- Review the setup script output for detailed instructions
- Ensure all dependencies are properly installed via Poetry
Happy prompting! 🚀
This course is intended to provide you with a comprehensive step-by-step understanding of how to engineer optimal prompts within Claude.
After completing this course, you will be able to:
- Master the basic structure of a good prompt
- Recognize common failure modes and learn the '80/20' techniques to address them
- Understand Claude's strengths and weaknesses
- Build strong prompts from scratch for common use cases
This course is structured to allow you many chances to practice writing and troubleshooting prompts yourself. The course is broken up into 9 chapters with accompanying exercises, as well as an appendix of even more advanced methods. It is intended for you to work through the course in chapter order.
Each lesson has an "Example Playground" area at the bottom where you are free to experiment with the examples in the lesson and see for yourself how changing prompts can change Claude's responses. There is also an answer key.
Note: This tutorial uses our smallest, fastest, and cheapest model, Claude 3 Haiku. Anthropic has two other models, Claude 3 Sonnet and Claude 3 Opus, which are more intelligent than Haiku, with Opus being the most intelligent.
This tutorial also exists on Google Sheets using Anthropic's Claude for Sheets extension. We recommend using that version as it is more user friendly.
When you are ready to begin, go to 01_Basic Prompt Structure
to proceed.
Each chapter consists of a lesson and a set of exercises.
-
Chapter 1: Basic Prompt Structure
-
Chapter 2: Being Clear and Direct
-
Chapter 3: Assigning Roles
-
Chapter 4: Separating Data from Instructions
-
Chapter 5: Formatting Output & Speaking for Claude
-
Chapter 6: Precognition (Thinking Step by Step)
-
Chapter 7: Using Examples
-
Chapter 8: Avoiding Hallucinations
-
Chapter 9: Building Complex Prompts (Industry Use Cases)
- Complex Prompts from Scratch - Chatbot
- Complex Prompts for Legal Services
- Exercise: Complex Prompts for Financial Services
- Exercise: Complex Prompts for Coding
- Congratulations & Next Steps
-
Appendix: Beyond Standard Prompting
- Chaining Prompts
- Tool Use
- Search & Retrieval