Intelligent versioning system for LLM prompts with Git integration
Project description
A comprehensive Python library for managing and versioning LLM prompts, with built-in A/B testing, metric tracking, and performance monitoring capabilities.
🎯 Why Prompt Versioner?
Prompt Versioner provides enterprise-grade prompt management with:
- 🔄 Version Control: Full versioning of prompts
- 📊 Performance Tracking: Metrics and regression detection
- 🧪 A/B Testing: Built-in statistical framework
- ⚡ Real-time Monitoring: Alerts and dashboards
- 👥 Team Collaboration: Annotations and reviews
- 🎨 Modern UI: Responsive web dashboard
✨ Features
🔧 Core Functionality
|
🧪 Advanced Testing & Monitoring
|
👥 Collaboration & Management
|
🎨 Modern Web Interface
|
📦 Installation
Prerequisites
- Python 3.11+
- Poetry (recommended) or pip
- Git (optional)
Using PyPI
pip install prompt-versioner
🚀 Quick Start
from prompt_versioner import PromptVersioner, VersionBump
pv = PromptVersioner(project_name="my-first-project", enable_git=False)
pv.save_version(
name="assistant-prompt",
system_prompt="You are a helpful assistant.",
user_prompt="Please answer the following question: {question}",
bump_type=VersionBump.MAJOR
)
print("✅ Created first prompt version 1.0.0!")
🎨 Web Dashboard
Core Features
📋 Prompts Management
- Version history with visual diff
- Semantic search
- Bulk operations
- Live preview
📊 Metrics & Analytics
- Token usage, latency, cost analysis
- Quality score tracking
- Multi-model performance comparison with automatic "best model" detection
Model Comparison: Test the same prompt across different models (GPT-4, Claude, Gemini, etc.) and see aggregated metrics with automatic identification of the fastest, cheapest, and highest-quality model.
🧪 A/B Testing
- Split testing
- Real-time results
🔍 Version Comparison
- Side-by-side visual diff
- Metadata & performance delta
- Smart annotations
⚠️ Smart Alerts
- Automatic detection of regressions
- Cost and error monitoring
- Custom metrics & thresholds
💻 CLI Interface
# Initialization & Setup
pv init # Initialize prompt versioner
# Prompt Operations
pv list # List all tracked prompts
pv versions <prompt> # List versions of a prompt
pv show <prompt> <version> # Show version details
# Model Pricing & Cost Estimation
pv models # List all models with pricing
pv models --sort-by input # Sort by input price
pv models --filter gpt # Filter specific models
pv estimate-cost <model> <in> <out> # Estimate cost for usage
pv compare-costs <in> <out> # Compare costs across models
# Version Comparison
pv diff <prompt> <v1> <v2> # Show diff between versions
pv compare <prompt> <v1> <v2> # Compare with metrics
# Management
pv delete <prompt> <version> # Delete a version
pv rollback <prompt> <version> # Rollback to version
pv clear-db # Clear database
# Dashboard
pv dashboard --port 5000 # Launch web dashboard
📖 Examples
Examples in examples/ are fully functional:
| File | Description |
|---|---|
| basic_usage.py | Getting started |
| version_management.py | Advanced version control |
| metrics_tracking.py | Metrics logging |
| multi_models.py | Multi-model comparison |
| ab_testing.py | Statistical testing |
| performance_monitoring.py | Automated monitoring |
| summarization_example.py | Real-world summarization |
| run_dashboard.py | Launch dashboard |
| clear_db.py | Reset database |
🌟 Contributing
See CONTRIBUTING.md for contribution guidelines.
📄 License
MIT License - LICENSE
📞 Support
- Documentation: https://pepes97.github.io/prompt-versioner/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
Build by Sveva Pepe, NLP Engineer
⭐ Star this project if it helps you build better AI applications!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file prompt_versioner-0.3.1.tar.gz.
File metadata
- Download URL: prompt_versioner-0.3.1.tar.gz
- Upload date:
- Size: 97.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.14 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e4e26a97bd0561f8b4e86d5757f326d91983e902cf76efaca23943f8b96832bb
|
|
| MD5 |
2e7e26136fa4cf3ba6a12dcd033663dc
|
|
| BLAKE2b-256 |
3866e3a04bdda1cc398a4215dbcd7d475d7d837eb2f079d43c6332171457695b
|
File details
Details for the file prompt_versioner-0.3.1-py3-none-any.whl.
File metadata
- Download URL: prompt_versioner-0.3.1-py3-none-any.whl
- Upload date:
- Size: 131.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.14 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5719935d01dfc29594ad877dccbc30438fe8b6cc29cca73a99057a08149cf8b3
|
|
| MD5 |
51a3ba672ff8cbd40890921922987cdb
|
|
| BLAKE2b-256 |
3ed42d16201b2bbb888721afb64e030964086f85c3e3521bff6cb551e35df892
|