Merge pull request #17744 from Classic298/fix-rag-full-context

Fix: Prevent RAG queries when all files are in full context
This commit is contained in:
Tim Jaeryang Baek 2025-09-25 11:55:41 -05:00 committed by GitHub
commit cd417ca0ba
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -641,7 +641,11 @@ async def chat_completion_files_handler(
sources = [] sources = []
if files := body.get("metadata", {}).get("files", None): if files := body.get("metadata", {}).get("files", None):
# Check if all files are in full context mode
all_full_context = all(item.get("context") == "full" for item in files)
queries = [] queries = []
if not all_full_context:
try: try:
queries_response = await generate_queries( queries_response = await generate_queries(
request, request,
@ -673,6 +677,7 @@ async def chat_completion_files_handler(
if len(queries) == 0: if len(queries) == 0:
queries = [get_last_user_message(body["messages"])] queries = [get_last_user_message(body["messages"])]
if not all_full_context:
await __event_emitter__( await __event_emitter__(
{ {
"type": "status", "type": "status",
@ -711,7 +716,8 @@ async def chat_completion_files_handler(
r=request.app.state.config.RELEVANCE_THRESHOLD, r=request.app.state.config.RELEVANCE_THRESHOLD,
hybrid_bm25_weight=request.app.state.config.HYBRID_BM25_WEIGHT, hybrid_bm25_weight=request.app.state.config.HYBRID_BM25_WEIGHT,
hybrid_search=request.app.state.config.ENABLE_RAG_HYBRID_SEARCH, hybrid_search=request.app.state.config.ENABLE_RAG_HYBRID_SEARCH,
full_context=request.app.state.config.RAG_FULL_CONTEXT, full_context=all_full_context
or request.app.state.config.RAG_FULL_CONTEXT,
user=user, user=user,
), ),
) )