A fun, interactive Streamlit web app where students can test their prompt engineering skills through three dynamic AI-powered rounds. Designed for tech fests, workshops, or learning events, this game challenges players to craft prompts, reverse-engineer outputs, and creatively respond — all while scoring based on multiple metrics.
-
🎯 Three Engaging Rounds:
- Round 1: Forbidden Words Challenge – Craft prompts without using specific keywords.
- Round 2: Reverse Engineer the Prompt – Guess the prompt based on an AI-generated output.
- Round 3: Creative Challenge – Generate the most creative prompt to solve a unique challenge.
-
🤖 Powered by Google Gemini API for real-time AI responses.
-
📊 Scoring System:
- Evaluates accuracy, creativity, clarity, efficiency, and rule compliance.
- Uses AI to judge prompt relevance and award scores per round.
-
🔐 Secure API key handling using Streamlit Secrets.
-
🏆 Final results with detailed score breakdown and review mode.
Coming soon! (Add screenshots or a Streamlit Cloud link if hosted)
-
Clone the repository:
git clone https://github.com/cmohan312002/Pixel_PromptEng.git cd prompt-engineering-challenge
-
Create a virtual environment (optional but recommended):
python -m venv env source env/bin/activate # On Windows: env\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
Set up Streamlit Secrets for Gemini API key:
- Create a
.streamlit/secrets.toml
file:GEMINI_API_KEY = "your-gemini-api-key-here"
- Create a
streamlit run app.py
📦 prompt-engineering-challenge/
┣ 📜 app.py # Main Streamlit app
┣ 📜 requirements.txt # Required Python packages
┣ 📁 .streamlit/ # Streamlit secrets configuration
┃ ┗ 📜 secrets.toml
Metric | Description |
---|---|
Accuracy | Relevance of AI response to the challenge question |
Creativity | Unique word usage in prompt |
Clarity | Balanced length and coherence |
Efficiency | Prompt length optimization |
Rule Compliance | Avoidance of forbidden words |
Contributions, suggestions, and feature requests are welcome!
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
. - Commit changes:
git commit -m 'Add new feature'
. - Push to branch:
git push origin feature-name
. - Open a pull request.
This project is licensed under the MIT License.
Questions or feedback? Reach out via email or open an issue.