scipious commited on
Commit
5777af7
·
verified ·
1 Parent(s): 66916b6

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +42 -24
app.py CHANGED
@@ -437,40 +437,58 @@ def Gemma3_AI_Translate(query_txt):
437
  return query_txt
438
 
439
  # --- 검색 ---
440
- def search_DB_from_multiple_regions(query, selected_regions, region_rag_objects):
441
- selected_regions = selected_regions or list(region_rag_objects.keys())
442
- logger.info(f"번역된 쿼리: {query}")
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
443
 
444
  combined_results = []
 
445
  for region in selected_regions:
446
  rag = region_rag_objects.get(region)
447
  if not rag:
448
  continue
449
 
450
- retriever = rag["ensemble_retriever"]
451
  vectorstore = rag["vectorstore"]
452
  sqlite_conn = rag["sqlite_conn"]
453
 
454
- if Filtered_search:
455
- results = reg_embedding_system.search_with_metadata_filter(
456
- ensemble_retriever=retriever,
457
- vectorstore=vectorstore,
458
- query=query,
459
- k=search_document_number,
460
- metadata_filter=filters,
461
- sqlite_conn=sqlite_conn
462
- )
463
- else:
464
- results = reg_embedding_system.smart_search_vectorstore(
465
- retriever=retriever,
466
- query=query,
467
- k=search_document_number,
468
- vectorstore=vectorstore,
469
- sqlite_conn=sqlite_conn,
470
- enable_detailed_search=True
471
- )
472
- logger.info(f"[{region}] 검색: {len(results)}건")
473
- combined_results.extend(results)
 
 
474
 
475
  return combined_results
476
 
 
437
  return query_txt
438
 
439
  # --- 검색 ---
440
+ # 검색 함수 수정
441
+ def search_DB_from_multiple_regions(query, selected_regions, region_rag_objects, custom_filters=None):
442
+ global Filtered_search
443
+ global filters
444
+
445
+ if not selected_regions:
446
+ selected_regions = list(region_rag_objects.keys())
447
+
448
+ print(f"Translated Query : {query}")
449
+
450
+ # 커스텀 필터가 제공된 경우 사용
451
+ search_filters = custom_filters if custom_filters is not None else filters
452
+
453
+ # 필터가 설정되어 있는지 확인
454
+ has_filters = any(search_filters.get(key, []) for key in search_filters.keys())
455
+
456
+ print(f"사용된 검색 필터: {search_filters}")
457
+ print(f"필터 사용 여부: {has_filters}")
458
 
459
  combined_results = []
460
+
461
  for region in selected_regions:
462
  rag = region_rag_objects.get(region)
463
  if not rag:
464
  continue
465
 
466
+ ensemble_retriever = rag["ensemble_retriever"]
467
  vectorstore = rag["vectorstore"]
468
  sqlite_conn = rag["sqlite_conn"]
469
 
470
+ if ensemble_retriever:
471
+ if has_filters:
472
+ results = reg_embedding_system.search_with_metadata_filter(
473
+ ensemble_retriever=ensemble_retriever,
474
+ vectorstore=vectorstore,
475
+ query=query,
476
+ k=search_document_number,
477
+ metadata_filter=search_filters,
478
+ sqlite_conn=sqlite_conn
479
+ )
480
+ else:
481
+ results = reg_embedding_system.smart_search_vectorstore(
482
+ retriever=ensemble_retriever,
483
+ query=query,
484
+ k=search_document_number,
485
+ vectorstore=vectorstore,
486
+ sqlite_conn=sqlite_conn,
487
+ enable_detailed_search=True
488
+ )
489
+
490
+ print(f"[{region}] 검색 완료: {len(results)}건")
491
+ combined_results.extend(results)
492
 
493
  return combined_results
494