From d45804d7f4fa0ef85b539d80c1b558010dc8dd71 Mon Sep 17 00:00:00 2001 From: Jun Siang Cheah Date: Sun, 12 May 2024 15:19:52 +0800 Subject: [PATCH] feat: web search available is inferred from env vars --- backend/config.py | 7 +++++++ backend/main.py | 2 ++ src/lib/components/chat/MessageInput.svelte | 2 +- src/lib/stores/index.ts | 1 + src/routes/(app)/+page.svelte | 1 + src/routes/(app)/c/[id]/+page.svelte | 1 + 6 files changed, 13 insertions(+), 1 deletion(-) diff --git a/backend/config.py b/backend/config.py index 5390483e6..3abb893e3 100644 --- a/backend/config.py +++ b/backend/config.py @@ -563,6 +563,13 @@ BRAVE_SEARCH_API_KEY = os.getenv("BRAVE_SEARCH_API_KEY", "") SERPSTACK_API_KEY = os.getenv("SERPSTACK_API_KEY", "") SERPSTACK_HTTPS = os.getenv("SERPSTACK_HTTPS", "True").lower() == "true" SERPER_API_KEY = os.getenv("SERPER_API_KEY", "") +RAG_WEB_SEARCH_ENABLED = ( + SEARXNG_QUERY_URL != "" + or (GOOGLE_PSE_API_KEY != "" and GOOGLE_PSE_ENGINE_ID != "") + or BRAVE_SEARCH_API_KEY != "" + or SERPSTACK_API_KEY != "" + or SERPER_API_KEY != "" +) RAG_WEB_SEARCH_RESULT_COUNT = int(os.getenv("RAG_WEB_SEARCH_RESULT_COUNT", "10")) RAG_WEB_SEARCH_CONCURRENT_REQUESTS = int( os.getenv("RAG_WEB_SEARCH_CONCURRENT_REQUESTS", "10") diff --git a/backend/main.py b/backend/main.py index 139819f7c..735926103 100644 --- a/backend/main.py +++ b/backend/main.py @@ -58,6 +58,7 @@ from config import ( SRC_LOG_LEVELS, WEBHOOK_URL, ENABLE_ADMIN_EXPORT, + RAG_WEB_SEARCH_ENABLED, ) from constants import ERROR_MESSAGES @@ -248,6 +249,7 @@ async def get_app_config(): "default_prompt_suggestions": webui_app.state.DEFAULT_PROMPT_SUGGESTIONS, "trusted_header_auth": bool(webui_app.state.AUTH_TRUSTED_EMAIL_HEADER), "admin_export_enabled": ENABLE_ADMIN_EXPORT, + "websearch": RAG_WEB_SEARCH_ENABLED, } diff --git a/src/lib/components/chat/MessageInput.svelte b/src/lib/components/chat/MessageInput.svelte index 0ecb7331a..00479897c 100644 --- a/src/lib/components/chat/MessageInput.svelte +++ b/src/lib/components/chat/MessageInput.svelte @@ -47,7 +47,7 @@ export let fileUploadEnabled = true; export let speechRecognitionEnabled = true; - export let webSearchAvailable = true; // TODO: Default to false + export let webSearchAvailable = false; export let useWebSearch = false; export let prompt = ''; diff --git a/src/lib/stores/index.ts b/src/lib/stores/index.ts index c4ccb5eec..7de2e8540 100644 --- a/src/lib/stores/index.ts +++ b/src/lib/stores/index.ts @@ -129,6 +129,7 @@ type Config = { default_models?: string[]; default_prompt_suggestions?: PromptSuggestion[]; trusted_header_auth?: boolean; + websearch?: boolean; }; type PromptSuggestion = { diff --git a/src/routes/(app)/+page.svelte b/src/routes/(app)/+page.svelte index ce6529a91..62719dda1 100644 --- a/src/routes/(app)/+page.svelte +++ b/src/routes/(app)/+page.svelte @@ -977,4 +977,5 @@ {messages} {submitPrompt} {stopResponse} + webSearchAvailable={$config.websearch ?? false} /> diff --git a/src/routes/(app)/c/[id]/+page.svelte b/src/routes/(app)/c/[id]/+page.svelte index 713ac0c27..45000acb1 100644 --- a/src/routes/(app)/c/[id]/+page.svelte +++ b/src/routes/(app)/c/[id]/+page.svelte @@ -994,5 +994,6 @@ {messages} {submitPrompt} {stopResponse} + webSearchAvailable={$config.websearch ?? false} /> {/if}