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
- Automatic MAJOR/MINOR/PATCH versioning
- Metrics tracking: tokens, latency, quality, cost
- Export & share prompt history
- Optional Git integration
🧪 Advanced Testing & Monitoring
- A/B Testing framework
- Automated regression detection
- Live metrics dashboards
- Custom alert thresholds
👥 Collaboration & Management
- Team annotations and feedback
- Version comparison & visual diff
- Search & filtering by metadata, performance, and tags
🎨 Modern Web Interface
- Interactive dashboard with responsive layout
- Dark/Light themes
- Tab navigation for Prompts, Testing, Comparison, Alerts
- Real-time updates
📦 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",
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
🧪 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
pv init
pv list
pv versions <prompt>
pv show <prompt> <version>
pv diff <prompt> <v1> <v2>
pv compare <prompt> <v1> <v2>
pv delete <prompt> <version>
pv rollback <prompt> <version>
pv dashboard --port 5000
📖 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 |
| 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.1.7.tar.gz.
File metadata
- Download URL: prompt_versioner-0.1.7.tar.gz
- Upload date:
- Size: 90.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.13 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
668ee08834d905c4a8c15d17a2986eb1a97a195acd751f3e28920c52fa2dcb67
|
|
| MD5 |
89d2fc5b859b535250ab50396f844fb6
|
|
| BLAKE2b-256 |
d0aac8724bad8e3b99a6fd8c104d40dad63a2e4e548377a8206b2b52855baca8
|
File details
Details for the file prompt_versioner-0.1.7-py3-none-any.whl.
File metadata
- Download URL: prompt_versioner-0.1.7-py3-none-any.whl
- Upload date:
- Size: 124.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.3 CPython/3.11.13 Linux/6.11.0-1018-azure
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2cc630d2aa77c9a5eb1147af8bb74d25ca4d32f958ef9e1bca432766f101163
|
|
| MD5 |
e856a3cc6b33000e414aa79349ae40b8
|
|
| BLAKE2b-256 |
21cdc2eefe5c011377bc8bb27c4ed3144ea3f1766b196db2768b97ad1e13d2a4
|