#272 [Feature] Prompt format: Whether to use NovelAI's weight symbol

【功能】是否使用NovelAI的权重符号
pull/292/head
Physton 2023-11-26 20:14:43 +08:00
parent 6e4f3cd2cb
commit e0c89b3a51
11 changed files with 114 additions and 34 deletions

View File

@ -179,7 +179,8 @@
"move_up": "上移",
"move_down": "下移",
"is_remove_lora_before_comma": "是否去除Lora前面的逗号。<br/>勾选后Lora输出为“aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd”。<br/>取消勾选Lora输出为“aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd”。",
"is_remove_lora_after_comma": "是否去除Lora后面的逗号。<br/>勾选后Lora输出为“aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd”。<br/>取消勾选Lora输出为“aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd”。"
"is_remove_lora_after_comma": "是否去除Lora后面的逗号。<br/>勾选后Lora输出为“aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd”。<br/>取消勾选Lora输出为“aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd”。",
"is_use_novel_ai_weight_symbol": "是否使用NovelAI的权重符号。<br/>勾选后权重符号 () 将变为 {}"
}
},
{
@ -360,7 +361,8 @@
"move_up": "上移",
"move_down": "下移",
"is_remove_lora_before_comma": "是否去除Lora前面的逗號。<br/>勾選後Lora輸出為「aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd」。<br/>取消勾選Lora輸出為「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」。",
"is_remove_lora_after_comma": "是否去除Lora後面的逗號。<br/>勾選後Lora輸出為「aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd」。<br/>取消勾選Lora輸出為「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」。"
"is_remove_lora_after_comma": "是否去除Lora後面的逗號。<br/>勾選後Lora輸出為「aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd」。<br/>取消勾選Lora輸出為「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」。",
"is_use_novel_ai_weight_symbol": "是否使用NovelAI的權重符號。<br/>勾選後權重符號 () 將變為 {}"
}
},
{
@ -541,7 +543,8 @@
"move_up": "上移",
"move_down": "下移",
"is_remove_lora_before_comma": "是否移除Lora前面的逗號。<br/>勾選後Lora輸出為「aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd」。<br/>取消勾選Lora輸出為「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」。",
"is_remove_lora_after_comma": "是否移除Lora後面的逗號。<br/>勾選後Lora輸出為「aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd」。<br/>取消勾選Lora輸出為「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」。"
"is_remove_lora_after_comma": "是否移除Lora後面的逗號。<br/>勾選後Lora輸出為「aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd」。<br/>取消勾選Lora輸出為「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」。",
"is_use_novel_ai_weight_symbol": "是否使用NovelAI的權重符號。<br/>勾選後權重符號 () 將變為 {}"
}
},
{
@ -722,7 +725,8 @@
"move_up": "Move Up",
"move_down": "Move Down",
"is_remove_lora_before_comma": "Remove the comma before Lora or not.<br/>If selected, the Lora output will be 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>If unselected, the Lora output will be 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "Remove the comma after Lora or not.<br/>If selected, the Lora output will be 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>If unselected, the Lora output will be 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "Remove the comma after Lora or not.<br/>If selected, the Lora output will be 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>If unselected, the Lora output will be 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "Whether to use NovelAI's weight symbol.<br/>Checking this will change the weight symbol () to {}"
}
},
{
@ -914,7 +918,8 @@
"move_up": "الانتقال لأعلى",
"move_down": "الانتقال لأسفل",
"is_remove_lora_before_comma": "هل ترغب في إزالة الفاصلة قبل Lora أم لا؟<br/>إذا تم تحديده، سيكون إخراج Lora على النحو التالي 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>إذا تم إلغاء التحديد، سيكون إخراج Lora على النحو التالي 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "هل ترغب في إزالة الفاصلة بعد Lora أم لا؟<br/>إذا تم تحديده، سيكون إخراج Lora على النحو التالي 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>إذا تم إلغاء التحديد، سيكون إخراج Lora على النحو التالي 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "هل ترغب في إزالة الفاصلة بعد Lora أم لا؟<br/>إذا تم تحديده، سيكون إخراج Lora على النحو التالي 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>إذا تم إلغاء التحديد، سيكون إخراج Lora على النحو التالي 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "هل ترغب في استخدام رمز الوزن من NovelAI؟<br/>بعد التحقق من هذا، ستتغير رمز الوزن () إلى {}"
}
},
{
@ -1194,7 +1199,8 @@
"move_up": "Déplacer vers le haut",
"move_down": "Déplacer vers le bas",
"is_remove_lora_before_comma": "Supprimer la virgule avant Lora ou non.<br/>Si sélectionné, la sortie Lora sera 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>Si non sélectionné, la sortie Lora sera 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "Supprimer la virgule après Lora ou non.<br/>Si sélectionné, la sortie Lora sera 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Si non sélectionné, la sortie Lora sera 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "Supprimer la virgule après Lora ou non.<br/>Si sélectionné, la sortie Lora sera 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Si non sélectionné, la sortie Lora sera 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "Utiliser le symbole de poids de NovelAI.<br/>En cochant cette option, le symbole de poids () sera remplacé par {}"
}
},
{
@ -1389,7 +1395,8 @@
"move_up": "Nach oben bewegen",
"move_down": "Nach unten bewegen",
"is_remove_lora_before_comma": "Komma vor Lora entfernen oder nicht.<br/>Wenn ausgewählt, wird die Lora-Ausgabe 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd' sein.<br/>Wenn nicht ausgewählt, wird die Lora-Ausgabe 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd' sein.",
"is_remove_lora_after_comma": "Komma nach Lora entfernen oder nicht.<br/>Wenn ausgewählt, wird die Lora-Ausgabe 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd' sein.<br/>Wenn nicht ausgewählt, wird die Lora-Ausgabe 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd' sein."
"is_remove_lora_after_comma": "Komma nach Lora entfernen oder nicht.<br/>Wenn ausgewählt, wird die Lora-Ausgabe 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd' sein.<br/>Wenn nicht ausgewählt, wird die Lora-Ausgabe 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd' sein.",
"is_use_novel_ai_weight_symbol": "Ob das Gewichtssymbol von NovelAI verwendet werden soll.<br/>Wenn diese Option aktiviert ist, wird das Gewichtssymbol () zu {} geändert"
}
},
{
@ -1634,7 +1641,8 @@
"move_up": "Sposta in alto",
"move_down": "Sposta in basso",
"is_remove_lora_before_comma": "Rimuovere la virgola prima di Lora o meno.<br/>Se selezionato, l'output di Lora sarà 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>Se non selezionato, l'output di Lora sarà 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "Rimuovere la virgola dopo Lora o meno.<br/>Se selezionato, l'output di Lora sarà 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Se non selezionato, l'output di Lora sarà 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "Rimuovere la virgola dopo Lora o meno.<br/>Se selezionato, l'output di Lora sarà 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Se non selezionato, l'output di Lora sarà 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "Se utilizzare il simbolo di peso di NovelAI.<br/>Selezionando questa opzione, il simbolo di peso () verrà sostituito con {}"
}
},
{
@ -1814,7 +1822,8 @@
"move_up": "上に移動",
"move_down": "下に移動",
"is_remove_lora_before_comma": "コンマの前にLoraを削除するかどうか。<br/>選択すると、Loraの出力は「aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd」となります。<br/>選択しない場合、Loraの出力は「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」となります。",
"is_remove_lora_after_comma": "コンマの後にLoraを削除するかどうか。<br/>選択すると、Loraの出力は「aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd」となります。<br/>選択しない場合、Loraの出力は「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」となります。"
"is_remove_lora_after_comma": "コンマの後にLoraを削除するかどうか。<br/>選択すると、Loraの出力は「aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd」となります。<br/>選択しない場合、Loraの出力は「aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd」となります。",
"is_use_novel_ai_weight_symbol": "NovelAIの重み記号を使用するかどうか。<br/>このオプションを選択すると、重み記号 () が {} に変更されます"
}
},
{
@ -2019,7 +2028,8 @@
"move_up": "위로 이동",
"move_down": "아래로 이동",
"is_remove_lora_before_comma": "쉼표 앞의 Lora를 제거할지 여부입니다.<br/>선택한 경우 Lora 출력은 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'가 됩니다.<br/>선택하지 않은 경우 Lora 출력은 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'가 됩니다.",
"is_remove_lora_after_comma": "쉼표 뒤의 Lora를 제거할지 여부입니다.<br/>선택한 경우 Lora 출력은 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'가 됩니다.<br/>선택하지 않은 경우 Lora 출력은 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'가 됩니다."
"is_remove_lora_after_comma": "쉼표 뒤의 Lora를 제거할지 여부입니다.<br/>선택한 경우 Lora 출력은 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'가 됩니다.<br/>선택하지 않은 경우 Lora 출력은 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'가 됩니다.",
"is_use_novel_ai_weight_symbol": "NovelAI의 가중치 기호를 사용하시겠습니까?<br/>이 옵션을 선택하면 가중치 기호 () 가 {} 로 변경됩니다"
}
},
{
@ -2314,7 +2324,8 @@
"move_up": "Mover para cima",
"move_down": "Mover para baixo",
"is_remove_lora_before_comma": "Remover a vírgula antes de Lora ou não.<br/>Se selecionado, a saída de Lora será 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>Se não selecionado, a saída de Lora será 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "Remover a vírgula depois de Lora ou não.<br/>Se selecionado, a saída de Lora será 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Se não selecionado, a saída de Lora será 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "Remover a vírgula depois de Lora ou não.<br/>Se selecionado, a saída de Lora será 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Se não selecionado, a saída de Lora será 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "Se deve usar o símbolo de peso da NovelAI.<br/>Ao marcar esta opção, o símbolo de peso () será alterado para {}"
}
},
{
@ -2509,7 +2520,8 @@
"move_up": "Переместить вверх",
"move_down": "Переместить вниз",
"is_remove_lora_before_comma": "Удалить запятую перед Lora или нет.<br/>Если выбрано, то вывод Lora будет 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>Если не выбрано, то вывод Lora будет 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "Удалить запятую после Lora или нет.<br/>Если выбрано, то вывод Lora будет 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Если не выбрано, то вывод Lora будет 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "Удалить запятую после Lora или нет.<br/>Если выбрано, то вывод Lora будет 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Если не выбрано, то вывод Lora будет 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "Использовать символ веса NovelAI.<br/>При выборе этой опции символ веса () будет заменен на {}"
}
},
{
@ -2719,7 +2731,8 @@
"move_up": "Mover hacia arriba",
"move_down": "Mover hacia abajo",
"is_remove_lora_before_comma": "Eliminar la coma antes de Lora o no.<br/>Si se selecciona, la salida de Lora será 'aaa &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt;, ddd'.<br/>Si no se selecciona, la salida de Lora será 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_remove_lora_after_comma": "Eliminar la coma después de Lora o no.<br/>Si se selecciona, la salida de Lora será 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Si no se selecciona, la salida de Lora será 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'."
"is_remove_lora_after_comma": "Eliminar la coma después de Lora o no.<br/>Si se selecciona, la salida de Lora será 'aaa, &lt;lora:bbb:0.1&gt; &lt;lora:ccc:0.1&gt; ddd'.<br/>Si no se selecciona, la salida de Lora será 'aaa, &lt;lora:bbb:0.1&gt;, &lt;lora:ccc:0.1&gt;, ddd'.",
"is_use_novel_ai_weight_symbol": "Si se debe usar el símbolo de peso de NovelAI.<br/>Al marcar esta opción, el símbolo de peso () se cambiará a {}"
}
},
{

View File

@ -22,6 +22,7 @@
v-model:auto-break-after-wrap="autoBreakAfterWrap"
v-model:auto-remove-lora-before-comma="autoRemoveLoraBeforeComma"
v-model:auto-remove-lora-after-comma="autoRemoveLoraAfterComma"
v-model:use-novel-ai-weight-symbol="useNovelAiWeightSymbol"
:hide-default-input="item.hideDefaultInput"
@update:hide-default-input="onUpdateHideDefaultInput(item.id, $event)"
:hide-panel="item.hidePanel"
@ -89,6 +90,7 @@
v-model:auto-break-after-wrap="autoBreakAfterWrap"
v-model:auto-remove-lora-before-comma="autoRemoveLoraBeforeComma"
v-model:auto-remove-lora-after-comma="autoRemoveLoraAfterComma"
v-model:use-novel-ai-weight-symbol="useNovelAiWeightSymbol"
></prompt-format>
<blacklist ref="blacklist" v-model:language-code="languageCode"
:translate-apis="translateApis"
@ -291,6 +293,7 @@ export default {
autoBreakAfterWrap: false,
autoRemoveLoraBeforeComma: false,
autoRemoveLoraAfterComma: false,
useNovelAiWeightSymbol: false,
// hideDefaultInput: false,
enableTooltip: true,
tagCompleteFile: '',
@ -481,6 +484,16 @@ export default {
},
immediate: false,
},
useNovelAiWeightSymbol: {
handler: function (val, oldVal) {
if (!this.startWatchSave) return
console.log('onUseNovelAiWeightSymbolChange', val)
this.gradioAPI.setData('useNovelAiWeightSymbol', val).then(data => {
}).catch(err => {
})
},
immediate: false,
},
/*hideDefaultInput: {
handler: function (val, oldVal) {
if (!this.startWatchSave) return
@ -639,7 +652,7 @@ export default {
},
init() {
this.loadExtraNetworks()
let dataListsKeys = ['languageCode', 'autoTranslate', 'autoTranslateToEnglish', 'autoTranslateToLocal', 'autoRemoveSpace', 'autoRemoveLastComma', 'autoKeepWeightZero', 'autoKeepWeightOne', 'autoBreakBeforeWrap', 'autoBreakAfterWrap', 'autoRemoveLoraBeforeComma', 'autoRemoveLoraAfterComma', /*'hideDefaultInput', */'translateApi', 'enableTooltip', 'tagCompleteFile', 'onlyCsvOnAuto', 'extensionSelect.minimalist', 'groupTagsColor', 'groupTagsTranslate', 'blacklist', 'cancelBlacklistConfirm', 'hotkey', 'extraNetworksWidth', 'extraNetworksHeight']
let dataListsKeys = ['languageCode', 'autoTranslate', 'autoTranslateToEnglish', 'autoTranslateToLocal', 'autoRemoveSpace', 'autoRemoveLastComma', 'autoKeepWeightZero', 'autoKeepWeightOne', 'autoBreakBeforeWrap', 'autoBreakAfterWrap', 'autoRemoveLoraBeforeComma', 'autoRemoveLoraAfterComma', 'useNovelAiWeightSymbol', /*'hideDefaultInput', */'translateApi', 'enableTooltip', 'tagCompleteFile', 'onlyCsvOnAuto', 'extensionSelect.minimalist', 'groupTagsColor', 'groupTagsTranslate', 'blacklist', 'cancelBlacklistConfirm', 'hotkey', 'extraNetworksWidth', 'extraNetworksHeight']
this.prompts.forEach(item => {
dataListsKeys.push(item.hideDefaultInputKey)
dataListsKeys.push(item.hidePanelKey)
@ -721,6 +734,9 @@ export default {
if (data.autoRemoveLoraAfterComma !== null) {
this.autoRemoveLoraAfterComma = data.autoRemoveLoraAfterComma
}
if (data.useNovelAiWeightSymbol !== null) {
this.useNovelAiWeightSymbol = data.useNovelAiWeightSymbol
}
/*if (data.hideDefaultInput !== null) {
this.hideDefaultInput = data.hideDefaultInput
}*/

View File

@ -339,11 +339,11 @@
@update:model-value="onTagWeightNumChange(tag.id, $event)"></vue-number-input>
<button type="button" name="weight-parentheses-inc" v-tooltip="getLang('increase_weight_add_parentheses')"
@click="onIncWeightClick(tag.id, +1)">
<icon-svg name="weight-parentheses-inc"/>
<icon-svg :name="useNovelAiWeightSymbol ? 'weight-braces-inc' : 'weight-parentheses-inc'"/>
</button>
<button type="button" name="weight-parentheses-dec" v-tooltip="getLang('increase_weight_subtract_parentheses')"
@click="onIncWeightClick(tag.id, -1)">
<icon-svg name="weight-parentheses-dec"/>
<icon-svg :name="useNovelAiWeightSymbol ? 'weight-braces-dec' : 'weight-parentheses-dec'"/>
</button>
<button type="button" name="weight-brackets-inc" v-tooltip="getLang('decrease_weight_add_brackets')"
@click="onDecWeightClick(tag.id, +1)">
@ -631,6 +631,10 @@ export default {
type: Boolean,
default: false,
},
useNovelAiWeightSymbol: {
type: Boolean,
default: false,
},
hideDefaultInput: {
type: Boolean,
default: false,

View File

@ -48,6 +48,12 @@
@change="$emit('update:autoRemoveLoraAfterComma', $event.target.checked)">
<div class="format-desc" v-html="getLang('is_remove_lora_after_comma')"></div>
</div>
<div class="format-item">
<input class="format-checkbox" type="checkbox"
:checked="useNovelAiWeightSymbol"
@change="$emit('update:useNovelAiWeightSymbol', $event.target.checked)">
<div class="format-desc" v-html="getLang('is_use_novel_ai_weight_symbol')"></div>
</div>
</div>
</div>
</div>
@ -94,13 +100,17 @@ export default {
type: Boolean,
default: false,
},
useNovelAiWeightSymbol: {
type: Boolean,
default: false,
},
},
data() {
return {
isOpen: false,
}
},
emits: ['update:autoRemoveSpace', 'update:autoRemoveLastComma', 'update:autoKeepWeightZero', 'update:autoKeepWeightOne', 'update:autoBreakBeforeWrap', 'update:autoBreakAfterWrap', 'update:autoRemoveLoraBeforeComma', 'update:autoRemoveLoraAfterComma'],
emits: ['update:autoRemoveSpace', 'update:autoRemoveLastComma', 'update:autoKeepWeightZero', 'update:autoKeepWeightOne', 'update:autoBreakBeforeWrap', 'update:autoBreakAfterWrap', 'update:autoRemoveLoraBeforeComma', 'update:autoRemoveLoraAfterComma', 'update:useNovelAiWeightSymbol'],
computed: {},
mounted() {
},

View File

@ -23,7 +23,7 @@ export default {
tag.weightNum = common.getTagWeightNum(tag.value)
// tag.weightNum = tag.weightNum <= 0 ? 1 : tag.weightNum
// tag.weightNum = tag.weightNum === 0 ? 1 : tag.weightNum
tag.incWeight = common.getTagIncWeight(tag.value)
tag.incWeight = common.getTagIncWeight(tag.value, this.useNovelAiWeightSymbol)
tag.decWeight = common.getTagDecWeight(tag.value)
// const bracket = common.hasBrackets(tag.value)
@ -32,7 +32,7 @@ export default {
// tag.weightNum = tag.weightNum <= 0 ? 1 : tag.weightNum
let value = tag.value
const bracket = common.hasBrackets(value)
if ((bracket[0] === '(' && bracket[1] === ')') || (bracket[0] === '[' && bracket[1] === ']')) {
if ((bracket[0] === '(' && bracket[1] === ')') || (bracket[0] === '[' && bracket[1] === ']') || (this.useNovelAiWeightSymbol && bracket[0] === '{' && bracket[1] === '}')) {
// 移除括号
value = common.setLayers(value, 0, bracket[0], bracket[1])
// 移除权重数
@ -198,11 +198,19 @@ export default {
} else {
value = common.escapeHtml(value)
if (tag.incWeight > 0) {
value = common.setLayers(value, 0, '(', ')')
value = '<div class="character">' + value + '</div>'
let start = '<div class="weight-character">' + '('.repeat(tag.incWeight) + '</div>'
let end = '<div class="weight-character">' + ')'.repeat(tag.incWeight) + '</div>'
value = start + value + end
if (this.useNovelAiWeightSymbol) {
value = common.setLayers(value, 0, '{', '}')
value = '<div class="character">' + value + '</div>'
let start = '<div class="weight-character">' + '{'.repeat(tag.incWeight) + '</div>'
let end = '<div class="weight-character">' + '}'.repeat(tag.incWeight) + '</div>'
value = start + value + end
} else {
value = common.setLayers(value, 0, '(', ')')
value = '<div class="character">' + value + '</div>'
let start = '<div class="weight-character">' + '('.repeat(tag.incWeight) + '</div>'
let end = '<div class="weight-character">' + ')'.repeat(tag.incWeight) + '</div>'
value = start + value + end
}
} else if (tag.decWeight > 0) {
value = common.setLayers(value, 0, '[', ']')
value = '<div class="character">' + value + '</div>'
@ -372,7 +380,7 @@ export default {
if (weightNum === 1 && !this.autoKeepWeightOne) {
// 如果权重数是1那么就去掉权重数
const bracket = common.hasBrackets(value)
if (bracket[0] === '(' && bracket[1] === ')') {
if (bracket[0] === '(' && bracket[1] === ')' || (this.useNovelAiWeightSymbol && bracket[0] === '{' && bracket[1] === '}')) {
// 移除括号
value = common.setLayers(value, 0, bracket[0], bracket[1])
if (localValue !== '') localValue = common.setLayers(localValue, 0, bracket[0], bracket[1])
@ -397,8 +405,13 @@ export default {
}
// 如果原来没有括号() [] {} <>,那么就加上括号
if (!common.hasBrackets(value)) {
value = common.setLayers(value, 1, '(', ')')
if (localValue !== '') localValue = common.setLayers(localValue, 1, '(', ')')
if (this.useNovelAiWeightSymbol) {
value = common.setLayers(value, 1, '{', '}')
if (localValue !== '') localValue = common.setLayers(localValue, 1, '{', '}')
} else {
value = common.setLayers(value, 1, '(', ')')
if (localValue !== '') localValue = common.setLayers(localValue, 1, '(', ')')
}
}
}
if (value !== tag.value) {
@ -462,13 +475,22 @@ export default {
let localValue = tag.localValue
value = common.setLayers(value, 0, '[', ']')
if (localValue !== '') localValue = common.setLayers(localValue, 0, '[', ']')
if (this.useNovelAiWeightSymbol) {
value = common.setLayers(value, 0, '(', ')')
if (localValue !== '') localValue = common.setLayers(localValue, 0, '(', ')')
}
let incWeight = tag.incWeight
incWeight += num
if (incWeight < 0) incWeight = 0
tag.incWeight = incWeight
tag.decWeight = 0
value = common.setLayers(value, incWeight, '(', ')')
if (localValue !== '') localValue = common.setLayers(localValue, incWeight, '(', ')')
if (this.useNovelAiWeightSymbol) {
value = common.setLayers(value, incWeight, '{', '}')
if (localValue !== '') localValue = common.setLayers(localValue, incWeight, '{', '}')
} else {
value = common.setLayers(value, incWeight, '(', ')')
if (localValue !== '') localValue = common.setLayers(localValue, incWeight, '(', ')')
}
tag.value = value
if (localValue !== '') tag.localValue = localValue
this.updateTags()
@ -480,6 +502,10 @@ export default {
let localValue = tag.localValue
value = common.setLayers(value, 0, '(', ')')
if (localValue !== '') localValue = common.setLayers(localValue, 0, '(', ')')
if (this.useNovelAiWeightSymbol) {
value = common.setLayers(value, 0, '{', '}')
if (localValue !== '') localValue = common.setLayers(localValue, 0, '{', '}')
}
let decWeight = tag.decWeight
decWeight += num
if (decWeight < 0) decWeight = 0

View File

@ -310,10 +310,15 @@ export default {
/**
* 获取标签的加权数
* @param tag {string}
* @param useNovelAiWeightSymbol {boolean}
* @returns {number}
*/
getTagIncWeight(tag) {
return this.countLayers(tag, '(', ')')
getTagIncWeight(tag, useNovelAiWeightSymbol = false) {
if (useNovelAiWeightSymbol) {
return this.countLayers(tag, '{', '}')
} else {
return this.countLayers(tag, '(', ')')
}
},
/**

View File

@ -128,6 +128,10 @@ export default (tags, autoBreakBeforeWrap = false, autoBreakAfterWrap = false) =
result2.push(value)
continue
}
if (start === '{' && end === '}') {
result2.push(value)
continue
}
// aaa <lora:KuutanKoihime:0.7> <lora:add_detail:0.6><lora:clothesTransparent_v20:1:1,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0>, [<lora:A:1>:<lora:B:1>:10], [lora:A:1::10], [<lora:A:1>:10], [<lora:A:1>:0.5], [[<lora:A:1>::25]:10], [<lora:A:1> #increment:10], [<lora:A:1> #decrease:10], [<lora:A:1> #cmd\(warmup\(0.5\)\):10]
let regex = /\<lora:[^\>]+\>/

View File

@ -1,6 +1,6 @@
.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend
{
button[name="weight-parentheses-inc"], button[name="weight-parentheses-dec"], button[name="weight-brackets-inc"], button[name="weight-brackets-dec"] {
button[name="weight-parentheses-inc"], button[name="weight-parentheses-dec"], button[name="weight-braces-inc"], button[name="weight-braces-dec"], button[name="weight-brackets-inc"], button[name="weight-brackets-dec"] {
display: none !important;
}
}

View File

@ -1 +1 @@
.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-parentheses-inc],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-parentheses-dec],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-brackets-inc],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-brackets-dec]{display:none!important}
.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-parentheses-inc],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-parentheses-dec],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-braces-inc],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-braces-dec],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-brackets-inc],.physton-prompt .prompt-tags .prompt-tags-list .prompt-tag .prompt-tag-main .btn-tag-extend button[name=weight-brackets-dec]{display:none!important}

View File

@ -2930,6 +2930,8 @@
.btn-tag-extend {
.set-icon-svg(var(--pp-pt-bte-iconSvgWeightParenthesesInc-width), var(--pp-pt-bte-iconSvgWeightParenthesesInc-height), var(--pp-pt-bte-iconSvgWeightParenthesesInc-color), icon-svg-weight-parentheses-inc);
.set-icon-svg(var(--pp-pt-bte-iconSvgWeightParenthesesDec-width), var(--pp-pt-bte-iconSvgWeightParenthesesDec-height), var(--pp-pt-bte-iconSvgWeightParenthesesDec-color), icon-svg-weight-parentheses-dec);
.set-icon-svg(var(--pp-pt-bte-iconSvgWeightParenthesesInc-width), var(--pp-pt-bte-iconSvgWeightParenthesesInc-height), var(--pp-pt-bte-iconSvgWeightParenthesesInc-color), icon-svg-weight-braces-inc);
.set-icon-svg(var(--pp-pt-bte-iconSvgWeightParenthesesDec-width), var(--pp-pt-bte-iconSvgWeightParenthesesDec-height), var(--pp-pt-bte-iconSvgWeightParenthesesDec-color), icon-svg-weight-braces-dec);
.set-icon-svg(var(--pp-pt-bte-iconSvgWeightBracketsInc-width), var(--pp-pt-bte-iconSvgWeightBracketsInc-height), var(--pp-pt-bte-iconSvgWeightBracketsInc-color), icon-svg-weight-brackets-inc);
.set-icon-svg(var(--pp-pt-bte-iconSvgWeightBracketsDec-width), var(--pp-pt-bte-iconSvgWeightBracketsDec-height), var(--pp-pt-bte-iconSvgWeightBracketsDec-color), icon-svg-weight-brackets-dec);
.set-icon-svg(var(--pp-pt-bte-iconSvgEnglish-width), var(--pp-pt-bte-iconSvgEnglish-height), var(--pp-pt-bte-iconSvgEnglish-color), icon-svg-english);

2
styles/main.min.css vendored

File diff suppressed because one or more lines are too long