Added automatic LoRA's at the back of the prompt

This commit is contained in:
AIrjen
2023-06-20 15:26:24 +02:00
parent fe2df0d98a
commit abd8bfae6c
2 changed files with 19 additions and 15 deletions
+18 -14
View File
@@ -1127,19 +1127,7 @@ def build_dynamic_prompt(insanitylevel = 5, forcesubject = "all", artists = "all
if(unique_dist(insanitylevel)): # sometimes, its just nice to have descriptor and a normal "outfit". We use mini outfits for this!
completeprompt = completeprompt.replace("-outfit-", "-minioutfit-",1)
# do the hybrid/swap thing in here instead
# if(rare_dist(insanitylevel)):
# hybridorswaplist = ["hybrid", "swap"]
# hybridorswap = random.choice(hybridorswaplist)
# hybridorswapreplacementvalue = "[" + random.choice(outfitlist)
#
# if(hybridorswap == "hybrid"):
# hybridorswapreplacementvalue += "|" + random.choice(outfitlist) + "] "
# if(hybridorswap == "swap"):
# if(uncommon_dist(insanitylevel)):
# hybridorswapreplacementvalue += ":" + random.choice(outfitlist) + ":" + str(random.randint(1,20)) + "] "
#
# completeprompt = completeprompt.replace('-outfit-', hybridorswapreplacementvalue,1)
# lol, this needs a rewrite :D
while "-color-" in completeprompt or "-material-" in completeprompt or "-animal-" in completeprompt or "-object-" in completeprompt or "-fictional-" in completeprompt or "-nonfictional-" in completeprompt or "-conceptsuffix-" in completeprompt or "-building-" in completeprompt or "-vehicle-" in completeprompt or "-outfit-" in completeprompt or "-location-" in completeprompt or "-conceptprefix-" in completeprompt or "-descriptor-" in completeprompt or "-food-" in completeprompt or "-haircolor-" in completeprompt or "-hairstyle-" in completeprompt or "-job-" in completeprompt or "-culture-" in completeprompt or "-accessory-" in completeprompt or "-humanoid-" in completeprompt or "-manwoman-" in completeprompt or "-human-" in completeprompt or "-colorscheme-" in completeprompt or "-mood-" in completeprompt or "-genderdescription-" in completeprompt or "-artmovement-" in completeprompt or "-malefemale-" in completeprompt or "-objecttotal-" in completeprompt or "-bodytype-" in completeprompt or "-minilocation-" in completeprompt or "-minilocationaddition-" in completeprompt or "-pose-" in completeprompt or "-season-" in completeprompt or "-minioutfit-" in completeprompt or "-elaborateoutfit-" in completeprompt or "-minivomit-" in completeprompt or "-vomit-" in completeprompt or "-rpgclass-" in completeprompt or "-subjectfromfile-" in completeprompt or "-brand-" in completeprompt or "-space-" in completeprompt:
@@ -1198,6 +1186,18 @@ def replacewildcard(completeprompt, insanitylevel, wildcard,listname, activatehy
return completeprompt
def cleanup(completeprompt):
# first, move LoRA's to the back dynamically
# Find all occurrences of text between < and > using regex
matches = re.findall(r"<[^>]+>", completeprompt)
# Remove the extracted matches from completeprompt
completeprompt = re.sub(r"<[^>]+>", "", completeprompt)
# Move the extracted matches to the end of completeprompt
completeprompt += " " + " ".join(matches)
# all cleanup steps moved here
completeprompt = re.sub('\[ ', '[', completeprompt)
completeprompt = re.sub('\[,', '[', completeprompt)
@@ -1217,9 +1217,11 @@ def cleanup(completeprompt):
completeprompt = re.sub(',,,', ', ', completeprompt)
completeprompt = re.sub(', ,', ',', completeprompt)
completeprompt = re.sub(' , ', ', ', completeprompt)
completeprompt = re.sub(' ,', ',', completeprompt)
completeprompt = re.sub(',\(', ', (', completeprompt)
completeprompt = re.sub(' ', ' ', completeprompt)
while " " in completeprompt:
completeprompt = re.sub(' ', ' ', completeprompt)
completeprompt = re.sub('a The', 'The', completeprompt)
completeprompt = re.sub(', ,', ',', completeprompt)
completeprompt = re.sub(',,', ',', completeprompt)
@@ -1228,6 +1230,8 @@ def cleanup(completeprompt):
completeprompt = re.sub('of a,', 'of a', completeprompt)
completeprompt = re.sub('of a of a', 'of a', completeprompt)
completeprompt = completeprompt.strip(", ")
+1 -1
View File
@@ -46,4 +46,4 @@ def generateprompts(amount = 1,insanitylevel="5",subject="all", artist="all", im
print("")
print("All done!")
generateprompts(10,5,"object","all","all",False,"","","PREFIXPROMPT" ,"SUFFIXPROMPT","",1,"","")
generateprompts(10,5,"object","all","all",False,"","","PREFIXPROMPT" ,"SUFFIXPROMPT","",1,"","HELLO, <lora:add_detail:1>, <lora:bla:1>")