|
@@ -349,6 +349,7 @@ async def get_rag_config(request: Request, user=Depends(get_admin_user)):
|
|
|
"ENABLE_RAG_HYBRID_SEARCH": request.app.state.config.ENABLE_RAG_HYBRID_SEARCH,
|
|
|
"TOP_K_RERANKER": request.app.state.config.TOP_K_RERANKER,
|
|
|
"RELEVANCE_THRESHOLD": request.app.state.config.RELEVANCE_THRESHOLD,
|
|
|
+ "BM25_WEIGHT": request.app.state.config.BM25_WEIGHT,
|
|
|
# Content extraction settings
|
|
|
"CONTENT_EXTRACTION_ENGINE": request.app.state.config.CONTENT_EXTRACTION_ENGINE,
|
|
|
"PDF_EXTRACT_IMAGES": request.app.state.config.PDF_EXTRACT_IMAGES,
|
|
@@ -492,6 +493,7 @@ class ConfigForm(BaseModel):
|
|
|
ENABLE_RAG_HYBRID_SEARCH: Optional[bool] = None
|
|
|
TOP_K_RERANKER: Optional[int] = None
|
|
|
RELEVANCE_THRESHOLD: Optional[float] = None
|
|
|
+ BM25_WEIGHT: Optional[float] = None
|
|
|
|
|
|
# Content extraction settings
|
|
|
CONTENT_EXTRACTION_ENGINE: Optional[str] = None
|
|
@@ -578,6 +580,11 @@ async def update_rag_config(
|
|
|
if form_data.RELEVANCE_THRESHOLD is not None
|
|
|
else request.app.state.config.RELEVANCE_THRESHOLD
|
|
|
)
|
|
|
+ request.app.state.config.BM25_WEIGHT = (
|
|
|
+ form_data.BM25_WEIGHT
|
|
|
+ if form_data.BM25_WEIGHT is not None
|
|
|
+ else request.app.state.config.BM25_WEIGHT
|
|
|
+ )
|
|
|
|
|
|
# Content extraction settings
|
|
|
request.app.state.config.CONTENT_EXTRACTION_ENGINE = (
|
|
@@ -837,6 +844,7 @@ async def update_rag_config(
|
|
|
"ENABLE_RAG_HYBRID_SEARCH": request.app.state.config.ENABLE_RAG_HYBRID_SEARCH,
|
|
|
"TOP_K_RERANKER": request.app.state.config.TOP_K_RERANKER,
|
|
|
"RELEVANCE_THRESHOLD": request.app.state.config.RELEVANCE_THRESHOLD,
|
|
|
+ "BM25_WEIGHT": request.app.state.config.BM25_WEIGHT,
|
|
|
# Content extraction settings
|
|
|
"CONTENT_EXTRACTION_ENGINE": request.app.state.config.CONTENT_EXTRACTION_ENGINE,
|
|
|
"PDF_EXTRACT_IMAGES": request.app.state.config.PDF_EXTRACT_IMAGES,
|