Merge pull request #1 from superMC5657/neg_words-fill_up

negWords support; The info file needs to manually add the negWords fi…
pull/101/head
张研 2023-04-08 05:38:22 +08:00 committed by GitHub
commit fe0016b674
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 49 additions and 23 deletions

View File

@ -221,12 +221,15 @@ function add_trigger_words(event, model_type, search_term){
msg["action"] = "add_trigger_words"; msg["action"] = "add_trigger_words";
msg["model_type"] = model_type; msg["model_type"] = model_type;
msg["search_term"] = search_term; msg["search_term"] = search_term;
msg["neg_prompt"] = "";
// get active prompt // get active prompt
let act_prompt = getActivePrompt(); let act_prompt = getActivePrompt();
msg["prompt"] = act_prompt.value; msg["prompt"] = act_prompt.value;
// get active neg prompt
let neg_prompt = getActiveNegativePrompt();
msg["neg_prompt"] = neg_prompt.value;
// fill to msg box // fill to msg box
send_ch_py_msg(msg) send_ch_py_msg(msg)

View File

@ -77,40 +77,63 @@ def add_trigger_words(msg):
model_type = result["model_type"] model_type = result["model_type"]
search_term = result["search_term"] search_term = result["search_term"]
prompt = result["prompt"] prompt = result["prompt"]
neg_prompt = result["neg_prompt"]
trainedWords = []
negWords = []
model_info = civitai.load_model_info_by_search_term(model_type, search_term) model_info = civitai.load_model_info_by_search_term(model_type, search_term)
if not model_info: if not model_info:
util.printD(f"Failed to get model info for {model_type} {search_term}") util.printD(f"Failed to get model info for {model_type} {search_term}")
return [prompt, prompt] return [prompt, prompt, neg_prompt, neg_prompt]
if "trainedWords" not in model_info.keys():
util.printD(f"Failed to get trainedWords from info file for {model_type} {search_term}")
return [prompt, prompt]
if "trainedWords" in model_info.keys():
trainedWords = model_info["trainedWords"] trainedWords = model_info["trainedWords"]
if not trainedWords: if not trainedWords:
util.printD(f"No trainedWords from info file for {model_type} {search_term}") util.printD(f"No trainedWords from info file for {model_type} {search_term}")
return [prompt, prompt] trainedWords = []
if len(trainedWords) == 0: if len(trainedWords) == 0:
util.printD(f"trainedWords from info file for {model_type} {search_term} is empty") util.printD(f"trainedWords from info file for {model_type} {search_term} is empty")
return [prompt, prompt] trainedWords = []
else:
util.printD(f"Failed to get trainedWords from info file for {model_type} {search_term}")
if "negWords" in model_info.keys():
negWords = model_info["negWords"]
if not negWords:
util.printD(f"No negWords from info file for {model_type} {search_term}")
negWords = []
if len(negWords) == 0:
util.printD(f"negWords from info file for {model_type} {search_term} is empty")
negWords = []
else:
util.printD(f"Failed to get negWords from info file for {model_type} {search_term}")
# get ful trigger words # get ful trigger words
trigger_words = "" trigger_words = ""
if trainedWords:
for word in trainedWords: for word in trainedWords:
trigger_words = trigger_words + word + ", " trigger_words = trigger_words + word + ", "
new_prompt = prompt + " " + trigger_words neg_words = ""
if negWords:
for word in negWords:
neg_words = neg_words + word + ", "
new_prompt = prompt + " " + trigger_words if trigger_words != "" else prompt
new_neg_prompt = neg_prompt + " " + neg_words if neg_words != "" else neg_prompt
util.printD("trigger_words: " + trigger_words) util.printD("trigger_words: " + trigger_words)
util.printD("prompt: " + prompt) util.printD("prompt: " + prompt)
util.printD("new_prompt: " + new_prompt) util.printD("new_prompt: " + new_prompt)
util.printD("new_prompt: " + new_prompt)
util.printD("new_neg_prompt: " + new_neg_prompt)
util.printD("End add_trigger_words") util.printD("End add_trigger_words")
# add to prompt # add to prompt
return [new_prompt, new_prompt] return [new_prompt, new_neg_prompt, new_prompt, new_neg_prompt]

View File

@ -204,7 +204,7 @@ def on_ui_tabs():
# js action # js action
js_open_url_btn.click(js_action_civitai.open_model_url, inputs=[js_msg_txtbox, open_url_with_js_ckb], outputs=py_msg_txtbox) js_open_url_btn.click(js_action_civitai.open_model_url, inputs=[js_msg_txtbox, open_url_with_js_ckb], outputs=py_msg_txtbox)
js_add_trigger_words_btn.click(js_action_civitai.add_trigger_words, inputs=[js_msg_txtbox], outputs=[txt2img_prompt, img2img_prompt]) js_add_trigger_words_btn.click(js_action_civitai.add_trigger_words, inputs=[js_msg_txtbox], outputs=[txt2img_prompt, txt2img_neg_prompt, img2img_prompt, img2img_neg_prompt])
js_use_preview_prompt_btn.click(js_action_civitai.use_preview_image_prompt, inputs=[js_msg_txtbox], outputs=[txt2img_prompt, txt2img_neg_prompt, img2img_prompt, img2img_neg_prompt]) js_use_preview_prompt_btn.click(js_action_civitai.use_preview_image_prompt, inputs=[js_msg_txtbox], outputs=[txt2img_prompt, txt2img_neg_prompt, img2img_prompt, img2img_neg_prompt])
js_dl_model_new_version_btn.click(js_action_civitai.dl_model_new_version, inputs=[js_msg_txtbox, max_size_preview_ckb, skip_nsfw_preview_ckb], outputs=dl_log_md) js_dl_model_new_version_btn.click(js_action_civitai.dl_model_new_version, inputs=[js_msg_txtbox, max_size_preview_ckb, skip_nsfw_preview_ckb], outputs=dl_log_md)