|
# CLI Usage |
|
|
|
LLMPromptKit provides a command-line interface (CLI) for managing prompts, versions, tests, and evaluations. |
|
|
|
## Basic Commands |
|
|
|
### Prompt Management |
|
|
|
```bash |
|
# Create a prompt |
|
llmpromptkit prompt create "Weather Forecast" --content "Provide a weather forecast for {location} on {date}" --tags "weather,forecast" |
|
|
|
# List all prompts |
|
llmpromptkit prompt list |
|
|
|
# Get prompt details |
|
llmpromptkit prompt get <prompt_id> |
|
|
|
# Update a prompt |
|
llmpromptkit prompt update <prompt_id> --content "New content" --tags "new,tags" |
|
|
|
# Delete a prompt |
|
llmpromptkit prompt delete <prompt_id> |
|
``` |
|
|
|
### Version Control |
|
|
|
```bash |
|
# Commit a version |
|
llmpromptkit version commit <prompt_id> --message "Version description" |
|
|
|
# List versions |
|
llmpromptkit version list <prompt_id> |
|
|
|
# Check out (revert to) a specific version |
|
llmpromptkit version checkout <prompt_id> <version_number> |
|
|
|
# Compare versions |
|
llmpromptkit version diff <prompt_id> <version1> <version2> |
|
``` |
|
|
|
### Testing |
|
|
|
```bash |
|
# Create a test case |
|
llmpromptkit test create <prompt_id> --input '{"location": "New York", "date": "tomorrow"}' --expected "Expected output" |
|
|
|
# List test cases |
|
llmpromptkit test list <prompt_id> |
|
|
|
# Run a specific test case |
|
llmpromptkit test run <test_case_id> --llm openai |
|
|
|
# Run all test cases for a prompt |
|
llmpromptkit test run-all <prompt_id> --llm openai |
|
|
|
# Run an A/B test between two prompts |
|
llmpromptkit test ab <prompt_id_a> <prompt_id_b> --inputs '[{"var": "value1"}, {"var": "value2"}]' --llm openai |
|
``` |
|
|
|
### Evaluation |
|
|
|
```bash |
|
# Evaluate a prompt |
|
llmpromptkit eval run <prompt_id> --inputs '[{"var": "value1"}, {"var": "value2"}]' --llm openai |
|
|
|
# List available metrics |
|
llmpromptkit eval metrics |
|
|
|
# Register a custom metric |
|
llmpromptkit eval register-metric <metric_file.py> |
|
``` |
|
|
|
## Environment Configuration |
|
|
|
The CLI supports environment variables for configuration: |
|
|
|
- `LLMPROMPTKIT_STORAGE`: Path to store prompts and related data |
|
- `LLMPROMPTKIT_OPENAI_API_KEY`: OpenAI API key for built-in LLM support |
|
- `LLMPROMPTKIT_DEFAULT_LLM`: Default LLM to use for testing and evaluation |
|
|
|
You can also create a config file at `~/.llmpromptkit/config.json`: |
|
|
|
```json |
|
{ |
|
"storage_path": "/path/to/storage", |
|
"default_llm": "openai", |
|
"api_keys": { |
|
"openai": "your-openai-key" |
|
} |
|
} |
|
``` |
|
|
|
## Advanced Usage |
|
|
|
### Multiple Storage Locations |
|
|
|
```bash |
|
# Specify a storage location for a command |
|
llmpromptkit --storage /path/to/storage prompt list |
|
|
|
# Export a prompt to another storage |
|
llmpromptkit prompt export <prompt_id> --output /path/to/output.json |
|
|
|
# Import a prompt from a file |
|
llmpromptkit prompt import /path/to/prompt.json |
|
``` |
|
|
|
### Automation and Scripting |
|
|
|
```bash |
|
# Get output in JSON format |
|
llmpromptkit --json prompt list |
|
|
|
# Use in shell scripts |
|
PROMPT_ID=$(llmpromptkit --json prompt create "Script Prompt" --content "Content" | jq -r '.id') |
|
echo "Created prompt with ID: $PROMPT_ID" |
|
``` |
|
|