Skip to content

Commit febe139

Browse files
committed
perf: single yield per line in stream chunks handler
1 parent 3cf4177 commit febe139

1 file changed

Lines changed: 4 additions & 8 deletions

File tree

backend/open_webui/utils/misc.py

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1001,18 +1001,15 @@ async def yield_safe_stream_chunks():
10011001
skip_mode = False
10021002
yield line
10031003
else:
1004-
yield b'data: {}'
1005-
yield b'\n'
1004+
yield b'data: {}\n'
10061005
else:
10071006
# Normal mode: check if line exceeds limit
10081007
if len(line) > max_buffer_size:
10091008
skip_mode = True
1010-
yield b'data: {}'
1011-
yield b'\n'
1009+
yield b'data: {}\n'
10121010
log.info(f'Skip mode triggered, line size: {len(line)}')
10131011
else:
1014-
yield line
1015-
yield b'\n'
1012+
yield line + b'\n'
10161013

10171014
# Save the last incomplete fragment
10181015
buffer = lines[-1]
@@ -1026,7 +1023,6 @@ async def yield_safe_stream_chunks():
10261023

10271024
# Process remaining buffer data
10281025
if buffer and not skip_mode:
1029-
yield buffer
1030-
yield b'\n'
1026+
yield buffer + b'\n'
10311027

10321028
return yield_safe_stream_chunks()

0 commit comments

Comments
 (0)