diff --git a/src/lib/components/AssistantSettings.svelte b/src/lib/components/AssistantSettings.svelte index e0f22d98fb5..4e86bc45bfc 100644 --- a/src/lib/components/AssistantSettings.svelte +++ b/src/lib/components/AssistantSettings.svelte @@ -74,12 +74,14 @@ let loading = false; - let ragMode: false | "links" | "domains" | "all" = assistant?.rag?.allowAllDomains + let ragMode: false | "links" | "domains" | "all" | "preprompt" = assistant?.rag?.allowAllDomains ? "all" : assistant?.rag?.allowedLinks?.length ?? 0 > 0 ? "links" : (assistant?.rag?.allowedDomains?.length ?? 0) > 0 ? "domains" + : (assistant?.rag?.prepromptUrl ?? "").length > 0 + ? "preprompt" : false; @@ -119,18 +121,29 @@ formData.set("ragAllowAll", "false"); formData.set("ragLinkList", ""); formData.set("ragDomainList", ""); + formData.set("ragPrepromptUrl", ""); } else if (ragMode === "all") { formData.set("ragAllowAll", "true"); formData.set("ragLinkList", ""); formData.set("ragDomainList", ""); + formData.set("ragPrepromptUrl", ""); } else if (ragMode === "links") { formData.set("ragAllowAll", "false"); formData.set("ragDomainList", ""); + formData.set("ragPrepromptUrl", ""); } else if (ragMode === "domains") { formData.set("ragAllowAll", "false"); formData.set("ragLinkList", ""); + formData.set("ragPrepromptUrl", ""); + } else if (ragMode === "preprompt") { + formData.set("ragAllowAll", "false"); + formData.set("ragLinkList", ""); + formData.set("ragDomainList", ""); + formData.set( + "preprompt", + "The system prompt input is disabled when using a system prompt URL." + ); } - return async ({ result }) => { loading = false; await applyAction(result); @@ -384,17 +397,50 @@ />
{getError("ragLinkList", form)}
{/if} + + {#if ragMode === "preprompt"} + + Specify a single URL which returns a plain-text response that will be passed directly + as the system prompt. + + +{getError("ragPrepromptUrl", form)}
+ {/if} {/if}{getError("preprompt", form)}