From 5d104abd08c6f0e6142da32a060b35ab56d5ad39 Mon Sep 17 00:00:00 2001 From: Algorithm5838 <108630393+Algorithm5838@users.noreply.github.com> Date: Tue, 19 May 2026 21:07:56 +0300 Subject: [PATCH] fix: emit [DONE] for AsyncGenerator pipe returns (#24763) --- backend/open_webui/functions.py | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/backend/open_webui/functions.py b/backend/open_webui/functions.py index 7c50ca3d2d..4a82cf7f26 100644 --- a/backend/open_webui/functions.py +++ b/backend/open_webui/functions.py @@ -318,11 +318,10 @@ async def generate_function_chat_completion(request, form_data, user, models: di async for line in res: yield process_line(form_data, line) - if isinstance(res, str) or isinstance(res, Generator): - finish_message = openai_chat_chunk_message_template(form_data['model'], '') - finish_message['choices'][0]['finish_reason'] = 'stop' - yield f'data: {json.dumps(finish_message)}\n\n' - yield 'data: [DONE]' + finish_message = openai_chat_chunk_message_template(form_data['model'], '') + finish_message['choices'][0]['finish_reason'] = 'stop' + yield f'data: {json.dumps(finish_message)}\n\n' + yield 'data: [DONE]' return StreamingResponse(stream_content(), media_type='text/event-stream') else: