Spaces:
Runtime error
Runtime error
File size: 6,868 Bytes
fc6892a d0ef3aa fc6892a d0ef3aa fc6892a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# π€ Prompt Teacher πβ¨
The **prompt teacher** is an interactive and educational prompt engineering interface for LLMs that teaches users how to craft βοΈ, refine π§, and optimize π prompts to achieve the most effective and targeted responses from LLMs.
<img src="thumbnail.png" alt="Screenshot of the Prompt Teacher"/>
## Quickstart π
### π Click here to try out the app directly without any setup:
[**Prompt Teacher @ Huggingface Spaces**](https://pwenker-prompt-teacher.hf.space/)
### π Inspect code at:
- **GitHub:** [pwenker/prompt_teacher](https://github.com/pwenker/prompt_teacher)
- **Hugging Face Spaces:** [pwenker/prompt_teacher](https://huggingface.co/spaces/pwenker/prompt_teacher)
## Metaprompts Overview
The following metaprompts are currently part of the prompt teacher.
| π **Name** | π **Explanation** | βοΈ **Example Prompt** | π‘ **Example Prompt Explanation** |
|-----------------------------------|--------------------------------------------------------------------------------------------------------------------|-----------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
| **Expand with details** | Expands a prompt to include more detailed instructions and context. | Tell me about dogs. | This prompt is very vague and lacks context, making it ideal for expansion to guide the LLM more effectively. |
| **Apply feedback** | Improves a prompt based on specific feedback provided. | Describe the process of photosynthesis. | Feedback might suggest making the prompt more accessible for younger audiences or more detailed for academic use. |
| **Simply condense prompt** | Condenses a prompt to make it more succinct while retaining its essential request. | Write a funny joke that makes people laugh about something very funny. It should be hilarious. | This prompt can be condensed by removing redundant information. |
| **Simply improve prompt** | Improves a prompt to enhance clarity and effectiveness. | Tell me how to cook rice. | This prompt can be improved by specifying the type of cuisine or cooking method. |
| **Create sequential task list** | Structures a prompt to guide the LLM through a series of sequential tasks. | Plan a birthday party. | This prompt can be structured to outline steps such as choosing a theme, preparing a guest list, and organizing activities.|
| **Elicit creative response** | Transforms a prompt to inspire creativity and elicit imaginative responses. | Write a story about a lost kitten. | The prompt can be revised to encourage more descriptive or emotional storytelling. |
| **Include hypothetical scenario** | Tailors a prompt to include a specific hypothetical scenario for detailed exploration. | The danger of Artificial General Intelligence | This prompt can be tailored to explore specific hypothetical scenarios to provide depth and context. |
| **Focus on ethics** | Reframes a prompt to focus on ethical considerations or moral dilemmas. | Genetic engineering in humans. | This prompt can be reframed to focus on the ethical considerations or moral dilemmas involved. |
| **Add role prompting** | Adds a role to the prompt to improve the response. | Write a short song. | By adding an expert role, we can potentially improve the quality of the created song. |
| **Add delimiters for clarity** | Adds clear delimiters to a prompt to separate and organize different sections or instructions, enhancing readability and structure. | Summarize this text {text} with bulletpoints. Be concise | This prompt can benefit from clear delimiters to separate instructions or sections, making it easier for the LLM to follow and respond systematically. |
| **Incorporate chain of thought reasoning** | Incorporates chain of thought reasoning to guide the LLM through a logical sequence of thoughts for complex problem-solving. | How can we reduce traffic congestion in urban areas? | This prompt can benefit from chain of thought reasoning to break down the problem into manageable parts and explore various solutions systematically. |
| **Comprehensive prompt refinement** | Integrates various techniques to refine, expand, and adapt prompts for LLMs, ensuring clarity, specificity, and engagement tailored to the intended purpose. | Write a brief history of Artificial Intelligence | This prompt can be improved by specifying aspects such as the depth of detail, areas of focus, and desired structure. |
## Local Deployment π
### Prerequisites π
#### Rye πΎ
[Install `Rye`](https://rye-up.com/guide/installation/#installing-rye)
> Rye is a comprehensive tool designed for Python developers. It simplifies your workflow by managing Python installations and dependencies. Simply install Rye, and it takes care of the rest.
### Secrets Management π
- Create an environment file: `.env` in the `prompt_teacher` folder and add the following variables:
```
OPENAI_API_KEY=... # Token for the OpenAI API
ANTHROPIC_API_KEY=... # Token for the Anthropic API
```
### Set-Up π οΈ
Clone the repository, e.g. with:
```
git clone https://github.com/pwenker/prompt_teacher.git
```
Navigate to the directory:
```
cd prompt_teacher
```
And execute:
```
rye sync
```
This creates a virtual environment in `.venv` and synchronizes the repo.
For more details, visit: [Basics - Rye](https://rye-up.com/guide/basics/)
### Start the App π
> [!NOTE]
> If you choose to install `prompt_teacher` without `rye` just omit `rye run` for the following commands.
Launch the app using:
```
rye run python src/prompt_teacher/app.py
```
Finally, open your browser and visit [http://localhost:7860](http://localhost:7860/) to start prompting!
|