From ece82b87bfa9a9b555af73c49884c9be870129b1 Mon Sep 17 00:00:00 2001 From: Yeuoly Date: Thu, 29 Aug 2024 21:14:23 +0800 Subject: [PATCH] feat: invoke app --- api/controllers/inner_api/plugin/plugin.py | 7 ++----- api/core/plugin/backwards_invocation/base.py | 2 +- api/core/plugin/entities/request.py | 2 +- 3 files changed, 4 insertions(+), 7 deletions(-) diff --git a/api/controllers/inner_api/plugin/plugin.py b/api/controllers/inner_api/plugin/plugin.py index c7886b5773..1586d39b41 100644 --- a/api/controllers/inner_api/plugin/plugin.py +++ b/api/controllers/inner_api/plugin/plugin.py @@ -1,6 +1,6 @@ import time -from flask_restful import Resource, reqparse +from flask_restful import Resource from controllers.console.setup import setup_required from controllers.inner_api import api @@ -117,16 +117,13 @@ class PluginInvokeAppApi(Resource): @get_tenant @plugin_data(payload_type=RequestInvokeApp) def post(self, user_id: str, tenant_model: Tenant, payload: RequestInvokeApp): - parser = reqparse.RequestParser() - args = parser.parse_args() - response = PluginAppBackwardsInvocation.invoke_app( app_id=payload.app_id, user_id=user_id, tenant_id=tenant_model.id, conversation_id=payload.conversation_id, query=payload.query, - stream=payload.stream, + stream=payload.response_mode == 'streaming', inputs=payload.inputs, files=payload.files ) diff --git a/api/core/plugin/backwards_invocation/base.py b/api/core/plugin/backwards_invocation/base.py index 065e713594..7b699b4d67 100644 --- a/api/core/plugin/backwards_invocation/base.py +++ b/api/core/plugin/backwards_invocation/base.py @@ -11,7 +11,7 @@ class BaseBackwardsInvocation: for chunk in response: if isinstance(chunk, BaseModel): yield chunk.model_dump_json().encode() + b'\n\n' - if isinstance(chunk, str): + elif isinstance(chunk, str): yield f"event: {chunk}\n\n".encode() else: yield json.dumps(chunk).encode() + b'\n\n' diff --git a/api/core/plugin/entities/request.py b/api/core/plugin/entities/request.py index 2a24beb0c8..fd22d1f057 100644 --- a/api/core/plugin/entities/request.py +++ b/api/core/plugin/entities/request.py @@ -105,4 +105,4 @@ class RequestInvokeApp(BaseModel): conversation_id: Optional[str] = None user: Optional[str] = None files: list[dict] = Field(default_factory=list) - stream: bool = Field(default=False) \ No newline at end of file + \ No newline at end of file