From 7eae377c01f8d2de94a694b72279f769c82658cd Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Tue, 24 Mar 2026 16:24:46 -0500 Subject: [PATCH] perf: lookup Co-Authored-By: alifurkanstahl <180474740+alifurkanstahl@users.noreply.github.com> --- backend/open_webui/utils/filter.py | 6 +++--- backend/open_webui/utils/models.py | 12 ++++++------ 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/backend/open_webui/utils/filter.py b/backend/open_webui/utils/filter.py index 7777ad3ea..df07dea4a 100644 --- a/backend/open_webui/utils/filter.py +++ b/backend/open_webui/utils/filter.py @@ -34,17 +34,17 @@ def get_sorted_filter_ids(request, model: dict, enabled_filter_ids: list = None) if 'info' in model and 'meta' in model['info']: filter_ids.extend(model['info']['meta'].get('filterIds', [])) filter_ids = list(set(filter_ids)) - active_filter_ids = [function.id for function in Functions.get_functions_by_type('filter', active_only=True)] + active_filter_ids = {function.id for function in Functions.get_functions_by_type('filter', active_only=True)} def get_active_status(filter_id): function_module = get_function_module(request, filter_id) if getattr(function_module, 'toggle', None): - return filter_id in (enabled_filter_ids or []) + return filter_id in (enabled_filter_ids or set()) return True - active_filter_ids = [filter_id for filter_id in active_filter_ids if get_active_status(filter_id)] + active_filter_ids = {filter_id for filter_id in active_filter_ids if get_active_status(filter_id)} filter_ids = [fid for fid in filter_ids if fid in active_filter_ids] filter_ids.sort(key=lambda fid: (get_priority(fid), fid)) diff --git a/backend/open_webui/utils/models.py b/backend/open_webui/utils/models.py index e579a3e3e..60ef87e5f 100644 --- a/backend/open_webui/utils/models.py +++ b/backend/open_webui/utils/models.py @@ -130,11 +130,11 @@ async def get_all_models(request, refresh: bool = False, user: UserModel = None) ] models = models + arena_models - global_action_ids = [function.id for function in Functions.get_global_action_functions()] - enabled_action_ids = [function.id for function in Functions.get_functions_by_type('action', active_only=True)] + global_action_ids = {function.id for function in Functions.get_global_action_functions()} + enabled_action_ids = {function.id for function in Functions.get_functions_by_type('action', active_only=True)} - global_filter_ids = [function.id for function in Functions.get_global_filter_functions()] - enabled_filter_ids = [function.id for function in Functions.get_functions_by_type('filter', active_only=True)] + global_filter_ids = {function.id for function in Functions.get_global_filter_functions()} + enabled_filter_ids = {function.id for function in Functions.get_functions_by_type('filter', active_only=True)} custom_models = Models.get_all_models() @@ -328,14 +328,14 @@ async def get_all_models(request, refresh: bool = False, user: UserModel = None) for model in models: action_ids = [ action_id - for action_id in list(set(model.pop('action_ids', []) + global_action_ids)) + for action_id in set(model.pop('action_ids', [])) | global_action_ids if action_id in enabled_action_ids ] action_ids.sort(key=lambda aid: (get_action_priority(aid), aid)) filter_ids = [ filter_id - for filter_id in list(set(model.pop('filter_ids', []) + global_filter_ids)) + for filter_id in set(model.pop('filter_ids', [])) | global_filter_ids if filter_id in enabled_filter_ids ]