mirror of
				https://github.com/SillyTavern/SillyTavern.git
				synced 2025-06-05 21:59:27 +02:00 
			
		
		
		
	Add caption ask prompt mode
This commit is contained in:
		| @@ -217,7 +217,16 @@ async function captionHorde(base64Img) { | |||||||
|  * @returns {Promise<{caption: string}>} Generated caption |  * @returns {Promise<{caption: string}>} Generated caption | ||||||
|  */ |  */ | ||||||
| async function captionMultimodal(base64Img) { | async function captionMultimodal(base64Img) { | ||||||
|     const prompt = extension_settings.caption.prompt || PROMPT_DEFAULT; |     let prompt = extension_settings.caption.prompt || PROMPT_DEFAULT; | ||||||
|  |  | ||||||
|  |     if (extension_settings.caption.prompt_ask) { | ||||||
|  |         const customPrompt = await callPopup('<h3>Enter a comment or question:</h3>', 'input', prompt, { rows: 2 }); | ||||||
|  |         if (!customPrompt) { | ||||||
|  |             throw new Error('User aborted the caption sending.'); | ||||||
|  |         } | ||||||
|  |         prompt = String(customPrompt).trim(); | ||||||
|  |     } | ||||||
|  |  | ||||||
|     const caption = await getMultimodalCaption(base64Img, prompt); |     const caption = await getMultimodalCaption(base64Img, prompt); | ||||||
|     return { caption }; |     return { caption }; | ||||||
| } | } | ||||||
| @@ -374,6 +383,10 @@ jQuery(function () { | |||||||
|                     <div id="caption_prompt_block"> |                     <div id="caption_prompt_block"> | ||||||
|                         <label for="caption_prompt">Caption Prompt</label> |                         <label for="caption_prompt">Caption Prompt</label> | ||||||
|                         <textarea id="caption_prompt" class="text_pole" rows="1" placeholder="< Use default >">${PROMPT_DEFAULT}</textarea> |                         <textarea id="caption_prompt" class="text_pole" rows="1" placeholder="< Use default >">${PROMPT_DEFAULT}</textarea> | ||||||
|  |                         <label class="checkbox_label margin-bot-10px" for="caption_prompt_ask" title="Ask for a custom prompt every time an image is captioned."> | ||||||
|  |                             <input id="caption_prompt_ask" type="checkbox" class="checkbox"> | ||||||
|  |                             Ask every time | ||||||
|  |                         </label> | ||||||
|                     </div> |                     </div> | ||||||
|                     <label for="caption_template">Message Template <small>(use <code>{{caption}}</code> macro)</small></label> |                     <label for="caption_template">Message Template <small>(use <code>{{caption}}</code> macro)</small></label> | ||||||
|                     <textarea id="caption_template" class="text_pole" rows="2" placeholder="< Use default >">${TEMPLATE_DEFAULT}</textarea> |                     <textarea id="caption_template" class="text_pole" rows="2" placeholder="< Use default >">${TEMPLATE_DEFAULT}</textarea> | ||||||
| @@ -397,6 +410,7 @@ jQuery(function () { | |||||||
|  |  | ||||||
|     $('#caption_refine_mode').prop('checked', !!(extension_settings.caption.refine_mode)); |     $('#caption_refine_mode').prop('checked', !!(extension_settings.caption.refine_mode)); | ||||||
|     $('#caption_allow_reverse_proxy').prop('checked', !!(extension_settings.caption.allow_reverse_proxy)); |     $('#caption_allow_reverse_proxy').prop('checked', !!(extension_settings.caption.allow_reverse_proxy)); | ||||||
|  |     $('#caption_prompt_ask').prop('checked', !!(extension_settings.caption.prompt_ask)); | ||||||
|     $('#caption_source').val(extension_settings.caption.source); |     $('#caption_source').val(extension_settings.caption.source); | ||||||
|     $('#caption_prompt').val(extension_settings.caption.prompt); |     $('#caption_prompt').val(extension_settings.caption.prompt); | ||||||
|     $('#caption_template').val(extension_settings.caption.template); |     $('#caption_template').val(extension_settings.caption.template); | ||||||
| @@ -418,4 +432,8 @@ jQuery(function () { | |||||||
|         extension_settings.caption.allow_reverse_proxy = $('#caption_allow_reverse_proxy').prop('checked'); |         extension_settings.caption.allow_reverse_proxy = $('#caption_allow_reverse_proxy').prop('checked'); | ||||||
|         saveSettingsDebounced(); |         saveSettingsDebounced(); | ||||||
|     }); |     }); | ||||||
|  |     $('#caption_prompt_ask').on('input', () => { | ||||||
|  |         extension_settings.caption.prompt_ask = $('#caption_prompt_ask').prop('checked'); | ||||||
|  |         saveSettingsDebounced(); | ||||||
|  |     }); | ||||||
| }); | }); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user