Add prompt hygiene architecture pass
This commit is contained in:
+28
-10
@@ -4,6 +4,11 @@ import json
|
||||
import re
|
||||
from typing import Any
|
||||
|
||||
try:
|
||||
from .prompt_hygiene import sanitize_negative_text, sanitize_tag_prompt
|
||||
except ImportError: # Allows local smoke tests with `python -c`.
|
||||
from prompt_hygiene import sanitize_negative_text, sanitize_tag_prompt
|
||||
|
||||
|
||||
TRIGGER_CANDIDATES = (
|
||||
"sxcpinup_coloredpencil",
|
||||
@@ -432,11 +437,14 @@ def _assemble_prompt(
|
||||
custom_quality: str,
|
||||
extra_positive: str,
|
||||
) -> str:
|
||||
return _combine_tags(
|
||||
_style_prefix(style_preset, trigger, prepend_trigger, custom_style),
|
||||
body_tags,
|
||||
_quality_tail(quality_preset, custom_quality),
|
||||
extra_positive,
|
||||
return sanitize_tag_prompt(
|
||||
_combine_tags(
|
||||
_style_prefix(style_preset, trigger, prepend_trigger, custom_style),
|
||||
body_tags,
|
||||
_quality_tail(quality_preset, custom_quality),
|
||||
extra_positive,
|
||||
),
|
||||
triggers=(trigger,),
|
||||
)
|
||||
|
||||
|
||||
@@ -504,14 +512,22 @@ def format_sdxl_prompt(
|
||||
extra_positive,
|
||||
)
|
||||
selected = hard_prompt if target == "hardcore" else soft_prompt
|
||||
selected_negative = row.get("hardcore_negative_prompt") if target == "hardcore" else row.get("softcore_negative_prompt")
|
||||
selected_negative = (
|
||||
row.get("hardcore_negative_prompt") if target == "hardcore" else row.get("softcore_negative_prompt")
|
||||
)
|
||||
return {
|
||||
"sdxl_prompt": selected,
|
||||
"negative_prompt": _combine_negative(SDXL_DEFAULT_NEGATIVE, selected_negative, negative_prompt, extra_negative),
|
||||
"negative_prompt": sanitize_negative_text(
|
||||
_combine_negative(SDXL_DEFAULT_NEGATIVE, selected_negative, negative_prompt, extra_negative)
|
||||
),
|
||||
"sdxl_softcore_prompt": soft_prompt,
|
||||
"sdxl_hardcore_prompt": hard_prompt,
|
||||
"softcore_negative_prompt": _combine_negative(SDXL_DEFAULT_NEGATIVE, row.get("softcore_negative_prompt"), extra_negative),
|
||||
"hardcore_negative_prompt": _combine_negative(SDXL_DEFAULT_NEGATIVE, row.get("hardcore_negative_prompt"), extra_negative),
|
||||
"softcore_negative_prompt": sanitize_negative_text(
|
||||
_combine_negative(SDXL_DEFAULT_NEGATIVE, row.get("softcore_negative_prompt"), extra_negative)
|
||||
),
|
||||
"hardcore_negative_prompt": sanitize_negative_text(
|
||||
_combine_negative(SDXL_DEFAULT_NEGATIVE, row.get("hardcore_negative_prompt"), extra_negative)
|
||||
),
|
||||
"method": f"{method}:sdxl(insta_of_pair)",
|
||||
}
|
||||
|
||||
@@ -534,7 +550,9 @@ def format_sdxl_prompt(
|
||||
)
|
||||
return {
|
||||
"sdxl_prompt": prompt,
|
||||
"negative_prompt": _combine_negative(SDXL_DEFAULT_NEGATIVE, extracted_negative, negative_prompt, extra_negative),
|
||||
"negative_prompt": sanitize_negative_text(
|
||||
_combine_negative(SDXL_DEFAULT_NEGATIVE, extracted_negative, negative_prompt, extra_negative)
|
||||
),
|
||||
"sdxl_softcore_prompt": "",
|
||||
"sdxl_hardcore_prompt": "",
|
||||
"softcore_negative_prompt": "",
|
||||
|
||||
Reference in New Issue
Block a user