Add README.md with project description, quick-start instructions, and AGPL-3.0 license badge. Add .gitignore for Python, Node, and Docker artifacts. Include existing CLAUDE.md, spec, docker-compose.yml, and env.example.
65 lines
2.5 KiB
Markdown
65 lines
2.5 KiB
Markdown
# PromptLooper
|
|
|
|
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
[]()
|
|
|
|
> The one who loops prompts — a universal LLM pipeline tuning workbench.
|
|
|
|
PromptLooper is a self-hosted tool for systematically optimizing LLM prompts, model selection, and inference parameters. It runs experiments across prompt x model x parameter combinations, caches every response, scores results against pluggable evaluation functions, and surfaces the best configurations through a real-time observability dashboard with human-in-the-loop steering.
|
|
|
|
It ships as a single Docker container (SQLite mode) for zero-config quickstart, or a Docker Compose stack (Postgres + Redis) for production use. An MCP server enables any AI agent to drive PromptLooper programmatically — creating experiments, running sweeps, and reading results without human intervention.
|
|
|
|
## Quick Start
|
|
|
|
### Single Container (zero dependencies)
|
|
|
|
```bash
|
|
docker run -p 8400:8400 -v promptlooper-data:/data ghcr.io/xpltdco/promptlooper
|
|
```
|
|
|
|
Open `http://localhost:8400` — you'll be prompted to create an admin account on first boot.
|
|
|
|
### Production (Docker Compose)
|
|
|
|
```bash
|
|
git clone git@git.xpltd.co:xpltdco/promptlooper.git
|
|
cd promptlooper
|
|
cp .env.example .env
|
|
# Edit .env — set POSTGRES_PASSWORD and JWT_SECRET at minimum
|
|
docker compose up -d
|
|
```
|
|
|
|
## Features
|
|
|
|
- **Systematic experimentation** — grid, random, and guided sweeps across prompt x model x parameter space
|
|
- **Response caching** — SHA-256 deduplication means re-runs cost zero tokens
|
|
- **Pluggable scoring** — embedding similarity, format compliance, keyword presence, LLM-as-judge, human rating, custom webhooks
|
|
- **Real-time dashboard** — live progress, leaderboard, side-by-side comparison, steering controls
|
|
- **MCP server** — AI agents can create experiments, run sweeps, and export results programmatically
|
|
- **Single-container mode** — SQLite + in-process queue when no external dependencies are configured
|
|
|
|
## Development
|
|
|
|
```bash
|
|
# Start backing services
|
|
docker compose up -d promptlooper-db promptlooper-redis
|
|
|
|
# Backend
|
|
cd backend && pip install -r requirements.txt
|
|
alembic upgrade head
|
|
uvicorn main:app --reload --host 0.0.0.0 --port 8000
|
|
|
|
# Frontend (separate terminal)
|
|
cd frontend && npm install && npm run dev
|
|
```
|
|
|
|
## Testing
|
|
|
|
```bash
|
|
cd backend && pytest
|
|
cd frontend && npm test
|
|
```
|
|
|
|
## License
|
|
|
|
[AGPL-3.0](https://www.gnu.org/licenses/agpl-3.0.html)
|