From 01943bca04d9cdb7fc923dd54e040dc1d39ecc62 Mon Sep 17 00:00:00 2001 From: "hobo.l" Date: Sat, 26 Apr 2025 20:18:49 +0300 Subject: [PATCH] feat: workflow/chatflow api support async --- api/core/app/apps/advanced_chat/generate_task_pipeline.py | 6 +++--- api/core/app/apps/workflow/generate_task_pipeline.py | 7 ++++--- api/core/app/entities/queue_task_bridge.py | 2 +- 3 files changed, 8 insertions(+), 7 deletions(-) diff --git a/api/core/app/apps/advanced_chat/generate_task_pipeline.py b/api/core/app/apps/advanced_chat/generate_task_pipeline.py index b296a64fa3..2c35167bcd 100644 --- a/api/core/app/apps/advanced_chat/generate_task_pipeline.py +++ b/api/core/app/apps/advanced_chat/generate_task_pipeline.py @@ -8,7 +8,6 @@ from threading import Thread from typing import Any, Optional, Union from flask import Flask, current_app - from sqlalchemy import select from sqlalchemy.orm import Session @@ -51,7 +50,7 @@ from core.app.entities.queue_entities import ( QueueWorkflowStartedEvent, QueueWorkflowSucceededEvent, ) -from core.app.entities.queue_task_bridge import advance_chat_queue_task_map, ForwardQueueMessage +from core.app.entities.queue_task_bridge import ForwardQueueMessage, advance_chat_queue_task_map from core.app.entities.task_entities import ( ChatbotAppBlockingResponse, ChatbotAppStreamResponse, @@ -59,8 +58,9 @@ from core.app.entities.task_entities import ( MessageAudioEndStreamResponse, MessageAudioStreamResponse, MessageEndStreamResponse, + MessageStreamResponse, StreamResponse, - WorkflowTaskState, MessageStreamResponse, + WorkflowTaskState, ) from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline from core.app.task_pipeline.message_cycle_manage import MessageCycleManage diff --git a/api/core/app/apps/workflow/generate_task_pipeline.py b/api/core/app/apps/workflow/generate_task_pipeline.py index e9744a2cc1..cdea32135f 100644 --- a/api/core/app/apps/workflow/generate_task_pipeline.py +++ b/api/core/app/apps/workflow/generate_task_pipeline.py @@ -4,8 +4,8 @@ import threading import time from collections.abc import Generator from typing import Optional, Union -from flask import Flask, current_app +from flask import Flask, current_app from sqlalchemy.orm import Session from constants.tts_auto_play_timeout import TTS_AUTO_PLAY_TIMEOUT, TTS_AUTO_PLAY_YIELD_CPU_TIME @@ -43,18 +43,19 @@ from core.app.entities.queue_entities import ( QueueWorkflowStartedEvent, QueueWorkflowSucceededEvent, ) -from core.app.entities.queue_task_bridge import workflow_queue_task_map, ForwardQueueMessage +from core.app.entities.queue_task_bridge import ForwardQueueMessage, workflow_queue_task_map from core.app.entities.task_entities import ( ErrorStreamResponse, MessageAudioEndStreamResponse, MessageAudioStreamResponse, + MessageStreamResponse, StreamResponse, TextChunkStreamResponse, WorkflowAppBlockingResponse, WorkflowAppStreamResponse, WorkflowFinishStreamResponse, WorkflowStartStreamResponse, - WorkflowTaskState, MessageStreamResponse, + WorkflowTaskState, ) from core.app.task_pipeline.based_generate_task_pipeline import BasedGenerateTaskPipeline from core.app.task_pipeline.workflow_cycle_manage import WorkflowCycleManage diff --git a/api/core/app/entities/queue_task_bridge.py b/api/core/app/entities/queue_task_bridge.py index 2e68669ddf..5496b55c26 100644 --- a/api/core/app/entities/queue_task_bridge.py +++ b/api/core/app/entities/queue_task_bridge.py @@ -1,4 +1,4 @@ -from core.app.entities.queue_entities import QueueEvent, AppQueueEvent +from core.app.entities.queue_entities import AppQueueEvent, QueueEvent from core.app.entities.task_entities import StreamEvent, StreamResponse workflow_queue_task_map = {