A comprehensive interactive workshop for learning prompt engineering techniques with large language models (LLMs). This repo contains materials from our Prompt Engineering workshop @ AI Convention 2025 (IHK Schwaben) including practical examples, hands-on exercises, and real-world applications of advanced prompting strategies.
We also provide the complete presentation materials here:
π Download Workshop Presentation PDF
This workshop covers essential prompt engineering techniques from basic prompting to advanced frameworks like ReAct and Tree of Thoughts. An interactive Streamlit application provides hands-on experience with real LLMs models, while comprehensive Jupyter notebooks offer detailed explanations and examples.
The following details the functionality provided by the workshop:
-
8 Core Techniques: From basic prompting to advanced reasoning frameworks
- Basic Prompting - Simple text completions and natural language interactions
- Instruction-based Prompting - Explicit task directions and structured guidance
- Zero/One/Few-Shot Learning - Learning from examples with varying amounts of context
- Chain-of-Thought Reasoning - Step-by-step logical problem solving
- Self-Consistency - Multiple solution paths with consensus voting
- Tree of Thoughts - Systematic exploration of solution spaces
- ReAct Framework - Combining reasoning with external tool interaction
- Real-world Applications - Practical implementations and use cases
-
Interactive Learning Environment: Web-based interface for hands-on experimentation
-
Comprehensive Examples: Over 50 practical examples across different domains
-
Model Flexibility: Support for OpenAI GPT and Anthropic Claude models
-
Educational Materials: Detailed notebooks with theory and implementation
The workshop is compatible with Python 3.8+ and runs on Linux, MacOS X and Windows. It is distributed under the Apache 2.0 license.
- Installation
- Quick Start
- Workshop Techniques
- Configuration
- Contribute
- License
There are two ways to set up the Prompt Engineering Workshop:
- Clone from GitHub (recommended):
git clone https://github.com/alexanderlammers/prompt_engineering_guide.git
cd prompt_engineering_guide
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
- Direct download:
# Download and extract the workshop materials
# Install dependencies
pip install streamlit openai anthropic python-dotenv pandas numpy
Create a .env
file in the project root:
OPENAI_API_KEY=your_openai_api_key_here
ANTHROPIC_API_KEY=your_anthropic_api_key_here
Launch the interactive Streamlit workshop:
streamlit run prompt_engineering_workshop_app.py
This opens a web interface where you can:
- Experiment with different prompting techniques
- Adjust model parameters in real-time
- See immediate results from LLM models
- Follow guided tutorials for each technique
For detailed learning, explore the notebooks:
jupyter notebook notebooks/
Start with 0_Environmental_Setup.ipynb
to configure your environment.
Here's a simple example of chain-of-thought reasoning:
from modules.prompt_engineering_workshop import PromptEngineering
# Initialize the prompt engineering framework
pe = PromptEngineering()
# Chain-of-thought prompting example
problem = """
A library has 1,200 books on the first floor, 40% more books on the second floor,
and 25% fewer books on the third floor than the second floor. How many books total?
"""
prompt = f"Problem: {problem}\n\nLet's solve this step-by-step:"
messages = [{"role": "user", "content": prompt}]
response = pe.get_completion(messages, temperature=0.1)
print(response)
Using the ReAct framework with tools:
from modules.react_framework import ReActAgent, CalculatorTool, WikipediaTool
# Initialize tools and agent
tools = [CalculatorTool(), WikipediaTool()]
agent = ReActAgent(pe, tools)
# Solve a complex problem requiring multiple tools
question = """
What's the area of a circle with radius 15 meters, and how does this
compare to the area of Tokyo Disneyland?
"""
result = agent.solve_with_react(question)
print(result)
Simple, natural language inputs that leverage the model's pretrained knowledge.
prompt = "Explain quantum computing in simple terms"
Explicit task directions with format specifications.
prompt = """
Task: Classify the sentiment of the following text as positive, negative, or neutral.
Text: "This workshop is incredibly helpful for learning AI!"
Format: Output only the classification.
"""
Learning from examples with varying amounts of context.
prompt = """
Examples:
Text: "Amazing product!" β Positive
Text: "Terrible service." β Negative
Text: "It's okay." β Neutral
Text: "This workshop exceeded my expectations!" β
"""
Step-by-step problem solving with explicit reasoning.
prompt = """
Problem: A company's revenue increased by 15% in Q1, then decreased by 8% in Q2.
If they started with $1M, what's their Q2 revenue?
Let's solve this step-by-step:
"""
Multiple solution paths with consensus voting.
# Generate multiple solutions and find consensus
solutions = []
for i in range(5):
response = pe.get_completion(messages, temperature=0.7)
solutions.append(response)
consensus = find_consensus(solutions)
Systematic exploration of multiple solution branches.
from modules.tree_of_thoughts import TreeOfThoughts
tot = TreeOfThoughts(pe, max_depth=3, breadth=3)
result = tot.solve_with_tree_of_thoughts(complex_problem)
Reasoning combined with external tool interaction.
# Combines thinking, acting, and observing in iterative cycles
# Thought β Action β Observation β Thought β ...
Control the LLM model behavior through various parameters:
# Temperature: Controls randomness (0.0 = deterministic, 1.0 = creative)
temperature = 0.7
# Top P: Nucleus sampling (0.5 = conservative, 1.0 = full vocabulary)
top_p = 0.9
# Max Tokens: Response length limit
max_tokens = 500
# Model Selection
model = "gpt-4" # or "gpt-3.5-turbo", "claude-3-sonnet", etc.
We welcome contributions to improve the workshop:
- Add Examples: Contribute new prompting examples
- Improve Documentation: Enhance explanations and tutorials
- Fix Issues: Report and fix bugs
- New Techniques: Add emerging prompting strategies
See the contribution guidelines for more details.
- Alexander Lammers, DATANOMIQ GmbH - GitHub
Copyright 2025 DATANOMIQ GmbH. All rights reserved.
See LICENSE
for details.
Built for AI Convention 2025 (IHK Schwaben) - Empowering developers with advanced prompt engineering techniques.