Adjusted naming and validation

f8bccb472f2c088161c2c878165649b30a8c8f61

pl752 <maximpl752@gmail.com>

2 files changed, +18 -11Showing whitespace changes
public/scripts/extensions/vectors/index.js+13 -6
@@ -111,7 +111,7 @@ const settings = {
111111const moduleWorker = new ModuleWorkerWrapper(synchronizeChat);
112112const webllmProvider = new WebLlmVectorProvider();
113113const cachedSummaries = new Map();
114114const vector_api_requires_urlvectorApiRequiresUrl = ['llamacpp', 'vllm', 'ollama', 'koboldcpp'];
115115
116116/**
117117 * Gets the Collection ID for a file embedded in the chat.
@@ -886,12 +886,19 @@ function throwIfSourceInvalid() {
886886 throw new Error('Vectors: API key missing', { cause: 'api_key_missing' });
887887 }
888888
889+ if (vectorApiRequiresUrl.includes(settings.source) && settings.use_alt_endpoint) {
890+ if (!settings.alt_endpoint_url) {
891+ throw new Error('Vectors: API URL missing', { cause: 'api_url_missing' });
892+ }
893+ }
894+ else {
889895 if (settings.source === 'ollama' && !textgenerationwebui_settings.server_urls[textgen_types.OLLAMA] ||
890896 settings.source === 'vllm' && !textgenerationwebui_settings.server_urls[textgen_types.VLLM] ||
891897 settings.source === 'koboldcpp' && !textgenerationwebui_settings.server_urls[textgen_types.KOBOLDCPP] ||
892898 settings.source === 'llamacpp' && !textgenerationwebui_settings.server_urls[textgen_types.LLAMACPP]) {
893899 throw new Error('Vectors: API URL missing', { cause: 'api_url_missing' });
894900 }
901+ }
895902
896903 if (settings.source === 'ollama' && !settings.ollama_model || settings.source === 'vllm' && !settings.vllm_model) {
897904 throw new Error('Vectors: API model missing', { cause: 'api_model_missing' });
@@ -1090,7 +1097,7 @@ function toggleSettings() {
10901097 $('#webllm_vectorsModel').toggle(settings.source === 'webllm');
10911098 $('#koboldcpp_vectorsModel').toggle(settings.source === 'koboldcpp');
10921099 $('#google_vectorsModel').toggle(settings.source === 'palm');
10931100 $('#altEndpointUrlvector_altEndpointUrl').toggle(vector_api_requires_urlvectorApiRequiresUrl.includes(settings.source));
10941101 if (settings.source === 'webllm') {
10951102 loadWebLlmModels();
10961103 }
@@ -1471,13 +1478,13 @@ jQuery(async () => {
14711478 saveSettingsDebounced();
14721479 toggleSettings();
14731480 });
14741481 $('#altEndpointUrl_enabledvector_altEndpointUrl_enabled').prop('checked', settings.use_alt_endpoint).on('input', () => {
14751482 settings.use_alt_endpoint = $('#altEndpointUrl_enabledvector_altEndpointUrl_enabled').prop('checked');
14761483 Object.assign(extension_settings.vectors, settings);
14771484 saveSettingsDebounced();
14781485 });
14791486 $('#altEndpoint_addressvector_altEndpoint_address').val(settings.alt_endpoint_url).on('change', () => {
14801487 settings.alt_endpoint_url = String($('#altEndpoint_addressvector_altEndpoint_address').val());
14811488 Object.assign(extension_settings.vectors, settings);
14821489 saveSettingsDebounced();
14831490 });
public/scripts/extensions/vectors/settings.html+5 -5
@@ -25,15 +25,15 @@
2525 <option value="webllm" data-i18n="WebLLM Extension">WebLLM Extension</option>
2626 </select>
2727 </div>
2828 <div class="flex-container flexFlowColumn" id="altEndpointUrlvector_altEndpointUrl">
2929 <label class="checkbox_label" for="altEndpointUrl_enabledvector_altEndpointUrl_enabled" title="Enable secondary endpoint URL usage, instead of the main one.">
3030 <input id="altEndpointUrl_enabledvector_altEndpointUrl_enabled" type="checkbox" class="checkbox">
3131 <span data-i18n="Use secondary URL">Use secondary URL</span>
3232 </label>
3333 <label for="altEndpoint_addressvector_altEndpoint_address" data-i18n="Secondary Embedding endpoint URL">
3434 Secondary Embedding endpoint URL
3535 </label>
3636 <input id="altEndpoint_addressvector_altEndpoint_address" class="text_pole" type="text" placeholder="URL for secondary endpoint" />
3737 </div>
3838 <div class="flex-container flexFlowColumn" id="webllm_vectorsModel">
3939 <label for="vectors_webllm_model" data-i18n="Vectorization Model">