Skip to content

Commit 3b74431

Browse files
committed
refac: filters
1 parent 53fe7c4 commit 3b74431

File tree

3 files changed

+24
-10
lines changed

3 files changed

+24
-10
lines changed

backend/open_webui/utils/chat.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -328,9 +328,14 @@ async def chat_completed(request: Request, form_data: dict, user: Any):
328328
}
329329

330330
try:
331+
filter_functions = [
332+
Functions.get_function_by_id(filter_id)
333+
for filter_id in get_sorted_filter_ids(model)
334+
]
335+
331336
result, _ = await process_filter_functions(
332337
request=request,
333-
filter_ids=get_sorted_filter_ids(model),
338+
filter_functions=filter_functions,
334339
filter_type="outlet",
335340
form_data=data,
336341
extra_params=extra_params,

backend/open_webui/utils/filter.py

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,12 +33,13 @@ def get_priority(function_id):
3333

3434

3535
async def process_filter_functions(
36-
request, filter_ids, filter_type, form_data, extra_params
36+
request, filter_functions, filter_type, form_data, extra_params
3737
):
3838
skip_files = None
3939

40-
for filter_id in filter_ids:
41-
filter = Functions.get_function_by_id(filter_id)
40+
for function in filter_functions:
41+
filter = function
42+
filter_id = function.id
4243
if not filter:
4344
continue
4445

backend/open_webui/utils/middleware.py

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -715,9 +715,14 @@ async def process_chat_payload(request, form_data, user, metadata, model):
715715
raise e
716716

717717
try:
718+
filter_functions = [
719+
Functions.get_function_by_id(filter_id)
720+
for filter_id in get_sorted_filter_ids(model)
721+
]
722+
718723
form_data, flags = await process_filter_functions(
719724
request=request,
720-
filter_ids=get_sorted_filter_ids(model),
725+
filter_functions=filter_functions,
721726
filter_type="inlet",
722727
form_data=form_data,
723728
extra_params=extra_params,
@@ -1071,9 +1076,12 @@ async def background_tasks_handler():
10711076
"__request__": request,
10721077
"__model__": model,
10731078
}
1074-
filter_ids = get_sorted_filter_ids(model)
1079+
filter_functions = [
1080+
Functions.get_function_by_id(filter_id)
1081+
for filter_id in get_sorted_filter_ids(model)
1082+
]
10751083

1076-
print(f"{filter_ids=}")
1084+
print(f"{filter_functions=}")
10771085

10781086
# Streaming response
10791087
if event_emitter and event_caller:
@@ -1480,7 +1488,7 @@ async def stream_body_handler(response):
14801488

14811489
data, _ = await process_filter_functions(
14821490
request=request,
1483-
filter_ids=filter_ids,
1491+
filter_functions=filter_functions,
14841492
filter_type="stream",
14851493
form_data=data,
14861494
extra_params=extra_params,
@@ -2077,7 +2085,7 @@ def wrap_item(item):
20772085
for event in events:
20782086
event, _ = await process_filter_functions(
20792087
request=request,
2080-
filter_ids=filter_ids,
2088+
filter_functions=filter_functions,
20812089
filter_type="stream",
20822090
form_data=event,
20832091
extra_params=extra_params,
@@ -2089,7 +2097,7 @@ def wrap_item(item):
20892097
async for data in original_generator:
20902098
data, _ = await process_filter_functions(
20912099
request=request,
2092-
filter_ids=filter_ids,
2100+
filter_functions=filter_functions,
20932101
filter_type="stream",
20942102
form_data=data,
20952103
extra_params=extra_params,

0 commit comments

Comments
 (0)