Spaces:
Sleeping
Sleeping
| 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: | |
| - [OpenAI Prompt Engineering Guide](https://platform.openai.com/docs/guides/prompt-engineering) | |
| - [Anthropic Claude Documentation](https://docs.anthropic.com/claude/docs/prompt-engineering) | |
| - [Google's Prompt Design Strategies](https://ai.google.dev/docs/prompt_best_practices) | |
| ## 🛠️ 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 | |
| ```bash | |
| # 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](https://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](https://huggingface.co/Nav772)** — Built as part of an AI Engineering portfolio demonstrating prompt engineering expertise. | |
| ## 📚 Related Projects | |
| - [Audio Language Translator](https://huggingface.co/spaces/Nav772/audio-language-translator) — Multimodal AI | |
| - [LLM Decoding Strategy Analyzer](https://huggingface.co/spaces/Nav772/llm-decoding-strategies) — Text generation | |
| - [RAG Document Q&A](https://huggingface.co/spaces/Nav772/rag-document-qa) — Retrieval-augmented generation | |
| ## 📄 License | |
| MIT License | |