Jelajahi Sumber

feat: web search available is inferred from env vars

Jun Siang Cheah 11 bulan lalu
induk
melakukan
d45804d7f4

+ 7 - 0
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")

+ 2 - 0
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,
     }
 
 

+ 1 - 1
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 = '';

+ 1 - 0
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 = {

+ 1 - 0
src/routes/(app)/+page.svelte

@@ -977,4 +977,5 @@
 	{messages}
 	{submitPrompt}
 	{stopResponse}
+	webSearchAvailable={$config.websearch ?? false}
 />

+ 1 - 0
src/routes/(app)/c/[id]/+page.svelte

@@ -994,5 +994,6 @@
 		{messages}
 		{submitPrompt}
 		{stopResponse}
+		webSearchAvailable={$config.websearch ?? false}
 	/>
 {/if}