Add caption naturalizer profiles
This commit is contained in:
@@ -16,6 +16,26 @@ DEFAULT_TRIGGER = "sxcppnl7"
|
||||
|
||||
DETAIL_LEVELS = ("balanced", "concise", "dense")
|
||||
STYLE_POLICIES = ("drop_style_tail", "keep_style_terms")
|
||||
CAPTION_PROFILE_DEFAULT = "manual_controls"
|
||||
|
||||
CAPTION_PROFILES = {
|
||||
"manual_controls": {},
|
||||
"training_concise": {
|
||||
"detail_level": "concise",
|
||||
"style_policy": "drop_style_tail",
|
||||
"include_trigger": True,
|
||||
},
|
||||
"training_dense": {
|
||||
"detail_level": "dense",
|
||||
"style_policy": "drop_style_tail",
|
||||
"include_trigger": True,
|
||||
},
|
||||
"browsing": {
|
||||
"detail_level": "balanced",
|
||||
"style_policy": "keep_style_terms",
|
||||
"include_trigger": False,
|
||||
},
|
||||
}
|
||||
|
||||
STYLE_TAILS = [
|
||||
", coloured pencil comic illustration, crisp linework, hatching, soft pastel palette, warm sensual lighting, textured parchment paper",
|
||||
@@ -59,6 +79,29 @@ def normalize_style_policy(value: str) -> str:
|
||||
return value if value in STYLE_POLICIES else "drop_style_tail"
|
||||
|
||||
|
||||
def caption_profile_choices() -> list[str]:
|
||||
return list(CAPTION_PROFILES)
|
||||
|
||||
|
||||
def normalize_caption_profile(value: str) -> str:
|
||||
return value if value in CAPTION_PROFILES else CAPTION_PROFILE_DEFAULT
|
||||
|
||||
|
||||
def apply_caption_profile(
|
||||
caption_profile: str,
|
||||
*,
|
||||
detail_level: str,
|
||||
style_policy: str,
|
||||
include_trigger: bool,
|
||||
) -> tuple[str, str, bool]:
|
||||
profile = CAPTION_PROFILES[normalize_caption_profile(caption_profile)]
|
||||
return (
|
||||
normalize_detail_level(profile.get("detail_level", detail_level)),
|
||||
normalize_style_policy(profile.get("style_policy", style_policy)),
|
||||
bool(profile.get("include_trigger", include_trigger)),
|
||||
)
|
||||
|
||||
|
||||
def keep_style_terms(style_policy: str) -> bool:
|
||||
return normalize_style_policy(style_policy) == "keep_style_terms"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user