diff --git a/backend/open_webui/utils/middleware.py b/backend/open_webui/utils/middleware.py index 18bddc531..5dd8ed3f5 100644 --- a/backend/open_webui/utils/middleware.py +++ b/backend/open_webui/utils/middleware.py @@ -2241,34 +2241,18 @@ async def process_chat_payload(request, form_data, user, metadata, model): folder.data["system_prompt"], form_data, metadata, user ) if "files" in folder.data: - folder_files = folder.data["files"] if ( metadata.get("params", {}).get("function_calling") - == "native" + != "native" ): - # Native FC: knowledge files will be handled by the - # builtin query_knowledge_files tool, not RAG. - knowledge_files = [ - f - for f in folder_files - if f.get("type") == "collection" - or f.get("collection_names") - ] - attachment_files = [ - f - for f in folder_files - if f not in knowledge_files - ] form_data["files"] = [ - *attachment_files, + *folder.data["files"], *form_data.get("files", []), ] - metadata["folder_knowledge"] = knowledge_files else: - form_data["files"] = [ - *folder_files, - *form_data.get("files", []), - ] + # Native FC: skip RAG injection, builtin tools + # will read folder knowledge from metadata. + metadata["folder_knowledge"] = folder.data["files"] # Model "Knowledge" handling user_message = get_last_user_message(form_data["messages"])