synth_ai.sdk.artifacts.parsing
Artifact ID parsing and resolution utilities.
This module provides centralized logic for parsing and validating artifact identifiers,
including model IDs (peft:, ft:, rl:) and prompt job IDs (pl_, job_pl_).
Functions
parse_model_id
- peft:BASE_MODEL:JOB_ID (canonical fine-tuned model)
- ft:BASE_MODEL:JOB_ID (legacy fine-tuned model)
- rl:BASE_MODEL:JOB_ID (RL model)
model_id: Model identifier string
- ParsedModelId with prefix, base_model, job_id, and full_id
ValueError: If model_id format is invalid
parse_prompt_id
- pl_JOB_ID (canonical prompt learning job ID)
- job_pl_JOB_ID (alternative format)
- JOB_ID (bare job ID, assumed to be prompt learning)
prompt_id: Prompt job identifier string
- ParsedPromptId with job_id and full_id
ValueError: If prompt_id format is invalid
detect_artifact_type
artifact_id: Artifact identifier string
- “model”, “prompt”, or “unknown”
is_model_id
is_prompt_id
resolve_wasabi_key_for_model
parsed: Parsed model IDprefer_merged: For fine-tuned models, prefer merged checkpoint over adapter
- Wasabi storage key path
ValueError: If model type is unsupported
validate_model_id
model_id: Model identifier to validate
- True if valid, False otherwise
validate_prompt_id
prompt_id: Prompt identifier to validate
- True if valid, False otherwise