prompt-optimizer / README.md
Nav772's picture
Upload README.md with huggingface_hub
d0bcc76 verified

A newer version of the Gradio SDK is available: 6.9.0

Upgrade
metadata
title: Prompt Optimizer
emoji: 
colorFrom: purple
colorTo: yellow
sdk: gradio
sdk_version: 5.29.0
app_file: app.py
pinned: false
license: mit

✨ Prompt Optimizer

Transform basic prompts into powerful, well-structured instructions that get better results from AI language models.

🎯 What This Does

  1. Input a rough or basic prompt
  2. AI analyzes its weaknesses (vagueness, missing context, unclear format)
  3. Receive an optimized version with detailed explanations of changes

🔧 Optimization Techniques

The optimizer applies 5 key prompt engineering techniques:

Technique What It Does Example
Clarity & Specificity Replaces vague terms with concrete details "write about dogs" → "write about the behavioral characteristics of Golden Retrievers"
Role/Persona Framing Adds expert context Adds "You are a veterinarian..."
Output Format Instructions Specifies structure and length "Provide as a numbered list with 5 items"
Constraints & Guardrails Sets boundaries and tone "Use professional tone. Exclude personal anecdotes."
Task Decomposition Breaks complex tasks into steps Adds "First... Then... Finally..."

📊 Example

Before (Basic Prompt):

write about dogs

After (Optimized Prompt):

You are a canine behaviorist. Write a detailed, informative article about 
the behavior, health, and nutritional needs of dogs, including their social 
structure, common health issues, and dietary requirements. 

Please provide your response in a formal tone, using paragraphs, and ensure 
the article is approximately 500 words. Include an introduction, three main 
sections (behavior, health, and nutrition), and a conclusion. 

Exclude personal anecdotes and focus on providing factual information.

🏗️ Technical Architecture

User Prompt
    ↓
Groq API (Llama 3.3 70B)
    ↓
Structured Analysis
    ├── Weakness Identification
    ├── Optimization Application
    └── Change Explanations
    ↓
Optimized Prompt + Explanations

🔬 Technical Stack

Component Technology Purpose
LLM Backend Groq API Fast inference
Model Llama 3.3 70B Versatile High-quality optimization
Interface Gradio Interactive web UI
Parsing Structured prompting Reliable output format

📚 Research Foundation

This tool implements techniques from established prompt engineering resources:

🛠️ Development Challenges

Challenge 1: Consistent Output Parsing

Problem: LLM responses varied in format, making extraction unreliable.

Solution: Designed a strict response format with clear section markers (**ANALYSIS:**, **OPTIMIZED PROMPT:**, **CHANGES MADE:**) and implemented fallback parsing.

Challenge 2: Over-Optimization

Problem: Initial versions over-engineered simple prompts, adding unnecessary complexity.

Solution: Added instruction "Don't over-engineer simple prompts - match complexity to the task" to the system prompt.

Challenge 3: Preserving User Intent

Problem: Optimizer sometimes changed the core intent of the original prompt.

Solution: Added explicit rule "Preserve the user's original intent completely" and examples demonstrating intent preservation.

🚀 Local Development

# Clone the repository
git clone https://huggingface.co/spaces/Nav772/prompt-optimizer

# Set your Groq API key
export GROQ_API_KEY="your-api-key-here"

# Install dependencies
pip install -r requirements.txt

# Run locally
python app.py

⚙️ Environment Variables

This Space requires the following secret:

Variable Description Required
GROQ_API_KEY Groq API key for LLM access Yes

Get a free API key at console.groq.com

📝 Limitations

  • Context window: Very long prompts may be truncated
  • Domain expertise: General-purpose optimization; specialized domains may need manual refinement
  • Language: Optimized for English prompts

👤 Author

Nav772 — Built as part of an AI Engineering portfolio demonstrating prompt engineering expertise.

📚 Related Projects

📄 License

MIT License