PromptTune / README.md
Manisankarrr's picture
added live preview
046250a
|
Raw
History Blame Contribute Delete
4.23 kB
---
title: PromptTune
emoji: 🐠
colorFrom: indigo
colorTo: green
sdk: gradio
sdk_version: 5.48.0
app_file: app/gradio_interface.py # <--- FIXED LINE
pinned: false
license: mit
short_description: MLOps for Prompt Engineering and Continuous Improvement.
---
# πŸš€ Intelligent Prompt Optimizer (IPO-Meta)
This project demonstrates a zero-GPU MLOps pipeline using LLM orchestration
to automatically improve the system prompt based on continuous user feedback.
check out the live preview at https://prompt-tune-web.vercel.app/
Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
# 🎡 PromptTune
**MLOps Toolkit for Interactive Prompt Engineering and Optimization**
---
## πŸ“– Introduction
**promptTune** is a modular MLOps toolkit designed for experimenting with, optimizing, and managing LLM prompts. It provides a streamlined interface for rewriting prompts, collecting feedback, and iteratively improving prompt performanceβ€”all while maintaining robust, auditable records of prompt changes and user interactions.
---
## πŸš€ Features
**πŸ€– LLM Orchestration & Rewriting:** Dynamically leverages a **Meta-LLM** via the OpenRouter API to transform vague user inputs into highly structured, actionable system prompts, ensuring high-quality responses from the final **Task-LLM**.
**♻️ Continuous Prompt Learning:** Implements a zero-GPU, feedback-driven loop where sufficient **negative user ratings (Rating: 0)** automatically trigger the optimization workflow.
**βš™οΈ MLOps Deployment Pipeline:** Uses scheduled **GitHub Actions** to execute the core Python script, automatically versioning, committing, and deploying the newly refined system prompt configuration back to the main branch.
**πŸ’Ύ Versioned Configuration Management:** Maintains a single source of truth for the active system prompt (`master_prompt.json`), ensuring **reproducibility** and enabling future rollbacks.
**πŸ’» Gradio Interface & Data Collection:** Provides a simple, Python-native web interface for user interaction and securely logs all raw feedback to inform the next nightly deployment cycle.
**πŸ“Š Observability Log:** Includes a dedicated status file (`status_log.txt`) that tracks the exact date and time of the last successful prompt deployment, offering a clear audit trail.
---
## πŸš€ Installation
1. **Clone the repository:**
```bash
git clone https://github.com/your-username/promptTune.git
cd promptTune
```
2. **Set up a Python environment:**
```bash
python3 -m venv venv
source venv/bin/activate
```
3. **Install dependencies:**
```bash
pip install -r requirements.txt
```
4. **Configure environment variables:**
- Create a `.env` file in the project root and add your OpenAI or compatible API key:
```
OPENROUTER_API_KEY=your_api_key_here
```
---
## ⚑ Usage
### 1. **Run the Gradio Web App**
```bash
python -m app.gradio_interface
```
- **Interact:** Enter prompts, view responses, and provide feedback via the web UI.
### 2. **Optimize Prompts via Script**
```bash
python scripts/optimize_prompt.py
```
- This script reviews feedback logs and updates the master prompt for improved results.
### 3. **Project Structure**
```
promptTune/
β”œβ”€β”€ app/
β”‚ β”œβ”€β”€ __init__.py
β”‚ β”œβ”€β”€ core_logic.py
β”‚ └── gradio_interface.py
β”œβ”€β”€ data/
β”‚ β”œβ”€β”€ feedback_log.json
β”‚ └── master_prompt.json
└── scripts/
└── optimize_prompt.py
```
---
## 🀝 Contributing
We welcome contributions! To get started:
1. Fork the repository.
2. Create a branch for your feature or fix (`git checkout -b feature-name`).
3. Commit your changes.
4. Submit a pull request with a clear description.
**Please ensure all code is well-documented and tested.**
---
## πŸ“„ License
This project is licensed under the [MIT License](LICENSE).
---
> **Maintained by [Manisankarrr](https://github.com/Manisankarrr)**
```
πŸ”— GitHub Repo: https://github.com/Manisankarrr/promptTune