@@ -352,6 +352,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
352352 "status" : True ,
353353 "pdf_extract_images" : request .app .state .config .PDF_EXTRACT_IMAGES ,
354354 "RAG_FULL_CONTEXT" : request .app .state .config .RAG_FULL_CONTEXT ,
355+ "BYPASS_EMBEDDING_AND_RETRIEVAL" : request .app .state .config .BYPASS_EMBEDDING_AND_RETRIEVAL ,
355356 "enable_google_drive_integration" : request .app .state .config .ENABLE_GOOGLE_DRIVE_INTEGRATION ,
356357 "enable_onedrive_integration" : request .app .state .config .ENABLE_ONEDRIVE_INTEGRATION ,
357358 "content_extraction" : {
@@ -378,7 +379,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
378379 },
379380 "web" : {
380381 "ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION" : request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION ,
381- "RAG_WEB_SEARCH_FULL_CONTEXT " : request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT ,
382+ "BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL " : request .app .state .config .BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL ,
382383 "search" : {
383384 "enabled" : request .app .state .config .ENABLE_RAG_WEB_SEARCH ,
384385 "drive" : request .app .state .config .ENABLE_GOOGLE_DRIVE_INTEGRATION ,
@@ -473,11 +474,12 @@ class WebSearchConfig(BaseModel):
473474class WebConfig (BaseModel ):
474475 search : WebSearchConfig
475476 ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION : Optional [bool ] = None
476- RAG_WEB_SEARCH_FULL_CONTEXT : Optional [bool ] = None
477+ BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL : Optional [bool ] = None
477478
478479
479480class ConfigUpdateForm (BaseModel ):
480481 RAG_FULL_CONTEXT : Optional [bool ] = None
482+ BYPASS_EMBEDDING_AND_RETRIEVAL : Optional [bool ] = None
481483 pdf_extract_images : Optional [bool ] = None
482484 enable_google_drive_integration : Optional [bool ] = None
483485 enable_onedrive_integration : Optional [bool ] = None
@@ -504,6 +506,12 @@ async def update_rag_config(
504506 else request .app .state .config .RAG_FULL_CONTEXT
505507 )
506508
509+ request .app .state .config .BYPASS_EMBEDDING_AND_RETRIEVAL = (
510+ form_data .BYPASS_EMBEDDING_AND_RETRIEVAL
511+ if form_data .BYPASS_EMBEDDING_AND_RETRIEVAL is not None
512+ else request .app .state .config .BYPASS_EMBEDDING_AND_RETRIEVAL
513+ )
514+
507515 request .app .state .config .ENABLE_GOOGLE_DRIVE_INTEGRATION = (
508516 form_data .enable_google_drive_integration
509517 if form_data .enable_google_drive_integration is not None
@@ -557,8 +565,8 @@ async def update_rag_config(
557565 request .app .state .config .ENABLE_RAG_WEB_SEARCH = form_data .web .search .enabled
558566 request .app .state .config .RAG_WEB_SEARCH_ENGINE = form_data .web .search .engine
559567
560- request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT = (
561- form_data .web .RAG_WEB_SEARCH_FULL_CONTEXT
568+ request .app .state .config .BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL = (
569+ form_data .web .BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL
562570 )
563571
564572 request .app .state .config .SEARXNG_QUERY_URL = (
@@ -626,6 +634,7 @@ async def update_rag_config(
626634 "status" : True ,
627635 "pdf_extract_images" : request .app .state .config .PDF_EXTRACT_IMAGES ,
628636 "RAG_FULL_CONTEXT" : request .app .state .config .RAG_FULL_CONTEXT ,
637+ "BYPASS_EMBEDDING_AND_RETRIEVAL" : request .app .state .config .BYPASS_EMBEDDING_AND_RETRIEVAL ,
629638 "file" : {
630639 "max_size" : request .app .state .config .FILE_MAX_SIZE ,
631640 "max_count" : request .app .state .config .FILE_MAX_COUNT ,
@@ -650,7 +659,7 @@ async def update_rag_config(
650659 },
651660 "web" : {
652661 "ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION" : request .app .state .config .ENABLE_RAG_WEB_LOADER_SSL_VERIFICATION ,
653- "RAG_WEB_SEARCH_FULL_CONTEXT " : request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT ,
662+ "BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL " : request .app .state .config .BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL ,
654663 "search" : {
655664 "enabled" : request .app .state .config .ENABLE_RAG_WEB_SEARCH ,
656665 "engine" : request .app .state .config .RAG_WEB_SEARCH_ENGINE ,
@@ -1019,36 +1028,45 @@ def process_file(
10191028 hash = calculate_sha256_string (text_content )
10201029 Files .update_file_hash_by_id (file .id , hash )
10211030
1022- try :
1023- result = save_docs_to_vector_db (
1024- request ,
1025- docs = docs ,
1026- collection_name = collection_name ,
1027- metadata = {
1028- "file_id" : file .id ,
1029- "name" : file .filename ,
1030- "hash" : hash ,
1031- },
1032- add = (True if form_data .collection_name else False ),
1033- user = user ,
1034- )
1035-
1036- if result :
1037- Files .update_file_metadata_by_id (
1038- file .id ,
1039- {
1040- "collection_name" : collection_name ,
1031+ if not request .app .state .config .BYPASS_EMBEDDING_AND_RETRIEVAL :
1032+ try :
1033+ result = save_docs_to_vector_db (
1034+ request ,
1035+ docs = docs ,
1036+ collection_name = collection_name ,
1037+ metadata = {
1038+ "file_id" : file .id ,
1039+ "name" : file .filename ,
1040+ "hash" : hash ,
10411041 },
1042+ add = (True if form_data .collection_name else False ),
1043+ user = user ,
10421044 )
10431045
1044- return {
1045- "status" : True ,
1046- "collection_name" : collection_name ,
1047- "filename" : file .filename ,
1048- "content" : text_content ,
1049- }
1050- except Exception as e :
1051- raise e
1046+ if result :
1047+ Files .update_file_metadata_by_id (
1048+ file .id ,
1049+ {
1050+ "collection_name" : collection_name ,
1051+ },
1052+ )
1053+
1054+ return {
1055+ "status" : True ,
1056+ "collection_name" : collection_name ,
1057+ "filename" : file .filename ,
1058+ "content" : text_content ,
1059+ }
1060+ except Exception as e :
1061+ raise e
1062+ else :
1063+ return {
1064+ "status" : True ,
1065+ "collection_name" : None ,
1066+ "filename" : file .filename ,
1067+ "content" : text_content ,
1068+ }
1069+
10521070 except Exception as e :
10531071 log .exception (e )
10541072 if "No pandoc was found" in str (e ):
@@ -1408,17 +1426,18 @@ async def process_web_search(
14081426 )
14091427 docs = await loader .aload ()
14101428
1411- if request .app .state .config .RAG_WEB_SEARCH_FULL_CONTEXT :
1429+ if request .app .state .config .BYPASS_WEB_SEARCH_EMBEDDING_AND_RETRIEVAL :
14121430 return {
14131431 "status" : True ,
1432+ "collection_name" : None ,
1433+ "filenames" : urls ,
14141434 "docs" : [
14151435 {
14161436 "content" : doc .page_content ,
14171437 "metadata" : doc .metadata ,
14181438 }
14191439 for doc in docs
14201440 ],
1421- "filenames" : urls ,
14221441 "loaded_count" : len (docs ),
14231442 }
14241443 else :
0 commit comments