@@ -371,7 +371,8 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
371371 "proxy_url" : request .app .state .config .YOUTUBE_LOADER_PROXY_URL ,
372372 },
373373 "web" : {
374- "web_loader_ssl_verification" : request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION ,
374+ "ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION" : request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION ,
375+ "RAG_WEB_SEARCH_FULL_CONTEXT" : request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT ,
375376 "search" : {
376377 "enabled" : request .app .state .config .ENABLE_RAG_WEB_SEARCH ,
377378 "drive" : request .app .state .config .ENABLE_GOOGLE_DRIVE_INTEGRATION ,
@@ -457,7 +458,8 @@ class WebSearchConfig(BaseModel):
457458
458459class WebConfig (BaseModel ):
459460 search : WebSearchConfig
460- web_loader_ssl_verification : Optional [bool ] = None
461+ ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION : Optional [bool ] = None
462+ RAG_WEB_SEARCH_FULL_CONTEXT : Optional [bool ] = None
461463
462464
463465class ConfigUpdateForm (BaseModel ):
@@ -512,11 +514,16 @@ async def update_rag_config(
512514 if form_data .web is not None :
513515 request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION = (
514516 # Note: When UI "Bypass SSL verification for Websites"=True then ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION=False
515- form_data .web .web_loader_ssl_verification
517+ form_data .web .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION
516518 )
517519
518520 request .app .state .config .ENABLE_RAG_WEB_SEARCH = form_data .web .search .enabled
519521 request .app .state .config .RAG_WEB_SEARCH_ENGINE = form_data .web .search .engine
522+
523+ request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT = (
524+ form_data .web .RAG_WEB_SEARCH_FULL_CONTEXT
525+ )
526+
520527 request .app .state .config .SEARXNG_QUERY_URL = (
521528 form_data .web .search .searxng_query_url
522529 )
@@ -600,7 +607,8 @@ async def update_rag_config(
600607 "translation" : request .app .state .YOUTUBE_LOADER_TRANSLATION ,
601608 },
602609 "web" : {
603- "web_loader_ssl_verification" : request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION ,
610+ "ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION" : request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION ,
611+ "RAG_WEB_SEARCH_FULL_CONTEXT" : request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT ,
604612 "search" : {
605613 "enabled" : request .app .state .config .ENABLE_RAG_WEB_SEARCH ,
606614 "engine" : request .app .state .config .RAG_WEB_SEARCH_ENGINE ,
@@ -1349,21 +1357,36 @@ async def process_web_search(
13491357 trust_env = request .app .state .config .RAG_WEB_SEARCH_TRUST_ENV ,
13501358 )
13511359 docs = await loader .aload ()
1352- await run_in_threadpool (
1353- save_docs_to_vector_db ,
1354- request ,
1355- docs ,
1356- collection_name ,
1357- overwrite = True ,
1358- user = user ,
1359- )
13601360
1361- return {
1362- "status" : True ,
1363- "collection_name" : collection_name ,
1364- "filenames" : urls ,
1365- "loaded_count" : len (docs ),
1366- }
1361+ if request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT :
1362+ return {
1363+ "status" : True ,
1364+ "docs" : [
1365+ {
1366+ "content" : doc .page_content ,
1367+ "metadata" : doc .metadata ,
1368+ }
1369+ for doc in docs
1370+ ],
1371+ "filenames" : urls ,
1372+ "loaded_count" : len (docs ),
1373+ }
1374+ else :
1375+ await run_in_threadpool (
1376+ save_docs_to_vector_db ,
1377+ request ,
1378+ docs ,
1379+ collection_name ,
1380+ overwrite = True ,
1381+ user = user ,
1382+ )
1383+
1384+ return {
1385+ "status" : True ,
1386+ "collection_name" : collection_name ,
1387+ "filenames" : urls ,
1388+ "loaded_count" : len (docs ),
1389+ }
13671390 except Exception as e :
13681391 log .exception (e )
13691392 raise HTTPException (
0 commit comments