Quick Start¶
Get up and running with Prompt Versioner in just a few minutes!
๐ Your First Prompt¶
Let's start by creating and versioning your first prompt:
from prompt_versioner import PromptVersioner, VersionBump
# Initialize the versioner
pv = PromptVersioner(project_name="my-first-project", enable_git=False)
# Create your first prompt version
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!")
๐ Creating Versions¶
Improve the prompt and create a new version:
# Create an improved version
pv.save_version(
name="assistant",
system_prompt="You are an expert AI tutor with deep knowledge.",
user_prompt="Please provide a comprehensive answer to: {question}",
bump_type=VersionBump.MINOR # Creates 1.1.0
)
print("โ
Created version 1.1.0!")
๐ Tracking Metrics¶
Track the performance of your prompts:
# Log performance metrics after using a prompt
pv.log_metrics(
name="assistant",
version="1.1.0",
model_name="gpt-4o-mini",
input_tokens=25,
output_tokens=150,
latency_ms=2300,
quality_score=0.85,
success=True
)
print("๐ Metrics tracked successfully!")
๐ Using Your Prompts¶
Get prompts and their versions:
# Get the latest version
latest = pv.get_latest("assistant")
print(f"Latest version: {latest['version']}")
print(f"System prompt: {latest['system_prompt']}")
# Get a specific version
v1_prompt = pv.get_version("assistant", "1.0.0")
print(f"V1.0.0 system prompt: {v1_prompt['system_prompt']}")
# List all versions
versions = pv.list_versions("assistant")
for v in versions:
print(f" v{v['version']} - {v['timestamp']}")
๐งช Basic A/B Testing¶
Compare two prompt versions:
from prompt_versioner import ABTest
# Create an A/B test
ab_test = ABTest(
versioner=pv,
prompt_name="assistant",
version_a="1.0.0",
version_b="1.1.0",
metric_name="quality_score"
)
# Simulate test results
for i in range(15):
ab_test.log_result("a", 0.7 + (i * 0.01)) # Version A
ab_test.log_result("b", 0.8 + (i * 0.01)) # Version B
# Get results
if ab_test.is_ready(min_samples=10):
result = ab_test.get_result()
print(f"๐ Winner: Version {result.winner}")
print(f"๐ Improvement: {result.improvement:.1f}%")
๐ฏ What's Next?¶
Now that you've got the basics down, explore more:
- Configuration: Customize your setup
- Basic Usage: Learn with practical examples
- Core Concepts: Understand the architecture
- Version Management: Advanced versioning strategies