Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Task-Aware Agent-driven Prompt Optimization Framework
| Date | Stars |
|---|---|
| 2026-07-31 | 3906 |
| 2026-08-03 | 3906 |
| 2026-08-04 | 3972 |
| 2026-08-13 | 4006 |
| 2026-08-18 | 4004 |
| 2026-08-20 | 4003 |
| 2026-08-21 | 4004 |
| 2026-08-22 | 4006 |
| 2026-08-23 | 4007 |
| 2026-08-24 | 4008 |
| 2026-08-25 | 4007 |
| 2026-08-27 | 4006 |
| 2026-08-28 | 4007 |
| 2026-08-29 | 4008 |
| 2026-08-30 | 4006 |
| 2026-09-02 | 4005 |
| 2026-09-04 | 4007 |
| 2026-09-05 | 4008 |
| 2026-09-06 | 4010 |
| 2026-09-08 | 4010 |
| 2026-09-09 | 4009 |
| 2026-09-10 | 4008 |
| 2026-09-13 | 4007 |
| 2026-09-14 | 4008 |
| 2026-09-15 | 4009 |
| 2026-09-19 | 4010 |
| 2026-09-20 | 4010 |
Today
— stars today
This week
+3 stars this week
This month
+6 stars this month
Momentum
0.0
growth rate 0.07%/day
# PromptWizard 🧙
<p align="left">
<a href='https://arxiv.org/abs/2405.18369'>
<img src=https://img.shields.io/badge/arXiv-2409.10566-b31b1b.svg>
</a>
<a href='https://www.microsoft.com/en-us/research/blog/promptwizard-the-future-of-prompt-optimization-through-feedback-driven-self-evolving-prompts/'>
<img src=images/msr_blog.png width="16">
Blog Post
</a>
<a href='https://microsoft.github.io/PromptWizard/'>
<img src=images/github.png width="16">
Project Website
</a>
</p>
> **PromptWizard: Task-Aware Prompt Optimization Framework**<br>
> Eshaan Agarwal, Joykirat Singh, Vivek Dani, Raghav Magazine, Tanuja Ganu, Akshay Nambi <br>
## Overview 🌟
<p align="center">Overview of the PromptWizard framework</p>
<img src="./images/overview.png" >
PromptWizard is a discrete prompt optimization framework that employs a self-evolving mechanism where the LLM generates, critiques, and refines its own prompts and examples, continuously improving through iterative feedback and synthesis. This self-adaptive approach ensures holistic optimization by evolving both the instructions and in-context learning examples for better task performance.
Three key components of PromptWizard are the following :
- Feedback-driven Refinement: LLM generates, critiques, and refines its own prompts and examples, continuously improving through iterative feedback and synthesis
- Critique and Synthesize diverse examples: Generates synthetic examples that are robust, diverse and task-aware. Also it optimizes both prompt and examples in tandem
- Self generated Chain of Thought (CoT) steps with combination of positive, negative and synthetic examples
<p align="center">Stage 1: Iterative optimization of instructions</p>
<p align="center">
<img src="./images/iterative_flowchart-1.png" width="49.5%" />
</p>
<p align="center">Stage 2: Sequential optimization of instruction and examples</p>
<p align="center">
<img src="./images/sequential_flowchart-1.png" width="49.5%" />
</p>
## Installation ⬇️
Follow these steps to set up the development environment and install the package:
1) Clone the repository
```
git clone https://github.com/microsoft/PromptWizard
cd PromptWizard
```
2) Create and activate a virtual environment
On Windows
```
python -m venv venv
venv\Scripts\activate
```
On macOS/Linux:
```
python -m venv venv
source venv/bin/activate
```
3) Install the package in development mode:
```
pip install -e .
```
## Quickstart 🏃
There are three main ways to use PromptWizard:
- Scenario 1 : Optimizing prompts without examples
- Scenario 2 : Generating synthetic examples and using them to optimize prompts
- Scenario 3 : Optimizing prompts with training data
**NOTE** : Refer this [notebook](demos/scenarios/dataset_scenarios_demo.ipynb) to get a detailed understanding of the usage for each of the scenarios. **This serves as a starting point to understand the usage of PromptWizard**
#### High level overview of using PromptWizard
- Decide your scenario
- Fix the configuration and environmental varibles for API calling
- Use ```promptopt_config.yaml``` to set configurations. For example for GSM8k this [file](demos/gsm8k/configs/promptopt_config.yaml) can be used
- Use ```.env``` to set environmental varibles. For GSM8k this [file](demos/gsm8k/.env) can be used
```
USE_OPENAI_API_KEY="XXXX"
# Replace with True/False based on whether or not to use OPENAI API key
# If the first variable is set to True then fill the following two
OPENAI_API_KEY="XXXX"
OPENAI_MODEL_NAME ="XXXX"
# If the first variable is set to False then fill the following three
AZURE_OPENAI_ENDPOINT="XXXXX"
# Replace with your Azure OpenAI Endpoint
OPENAI_API_VERSION="XXXX"
# Replace with the version of your API
AZURE_OPENAI_CHAT_DEPLOYMENT_NAME="XXXXX"
# Create a deployment for the model and place the deployment name here.
```
- Run the code
- To run PrompExcerpt of 17,144 characters
Read on GitHub62
Microsoft Open Source · Microsoft · United States
5
4
2
1
1
1
1
Would you bet a product on this? Bounded 0–100 and slow moving.
matched fp:bc7597c5d2773749, desc:prompt optimization