A practical guide to becoming a prompt engineer through hands-on learning with real recruitment scenarios. Perfect for learning LLM prompting over a weekend! This repository was created with help from devin.ai.
This repository provides a hands-on approach to mastering prompt engineering through practical examples in recruitment scenarios. You'll learn by doing, working through interactive Jupyter notebooks that demonstrate how to:
- Analyze resumes and job descriptions
- Create targeted recruitment prompts
- Generate effective interview questions
- Evaluate candidate responses
- Assess cultural fit
- Python 3.8 or higher
- Jupyter Notebook
- Ollama
- Basic understanding of LLMs
- Install requirements:
pip install jupyter nbformat- Install Ollama and download Llama3:
# Follow Ollama installation instructions at https://ollama.ai
ollama pull llama3- Run Jupyter:
jupyter notebookThe repository is organized into three main sections:
Core parameter notebooks for understanding LLM behavior:
01_temperature.ipynb: Control randomness and creativity in responses02_top_p.ipynb: Nucleus sampling for balanced text generation03_top_k.ipynb: Token selection strategies for output control04_max_tokens.ipynb: Managing response length effectively05_presence_penalty.ipynb: Reducing repetition in outputs06_frequency_penalty.ipynb: Enhancing response diversity07_stop_sequences.ipynb: Controlling response termination08_context_window.ipynb: Managing input length and context09_system_prompt.ipynb: Defining model behavior and personality10_seed.ipynb: Ensuring reproducible outputs
Fundamental prompting concepts and techniques:
11_basic_parameters.ipynb: Essential prompting parameters12_advanced_parameters.ipynb: Advanced parameter combinations13_prompt_structure.ipynb: Building effective prompt templates14_prompt_tasks.ipynb: Task-specific prompting strategies
Advanced prompting methodologies:
15_zero_shot_prompting.ipynb: Prompting without examples16_few_shot_prompting.ipynb: Learning from minimal examples17_chain_of_thought_prompting.ipynb: Step-by-step reasoning18_automatic_reasoning_prompting.ipynb: Self-guided problem solving19_self_consistency_prompting.ipynb: Maintaining consistent outputs20_tree_of_thought_prompting.ipynb: Exploring multiple reasoning paths
Here's a quick example of how to use the notebooks:
- Open the desired parameter notebook (e.g.,
temperature.ipynb) - Follow the interactive examples
- Experiment with different parameter values
- Observe the effects on model outputs
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please ensure your PR description clearly describes the changes and links to any relevant issues.
This project is licensed under the MIT License - see the LICENSE file for details.
- Thanks to the Ollama team for providing the LLM infrastructure
- Contributors who have helped improve the documentation
- devin.ai for assistance in creating this repository