From d2ff8a2381b044a31f06d3b7aa410bf9fd860ce7 Mon Sep 17 00:00:00 2001 From: Yeuoly Date: Mon, 6 Jan 2025 14:59:40 +0800 Subject: [PATCH] fix: bugs --- api/commands.py | 2 +- api/controllers/inner_api/plugin/plugin.py | 109 ++++++++++++--------- 2 files changed, 62 insertions(+), 49 deletions(-) diff --git a/api/commands.py b/api/commands.py index 1b1abcd9c3..9146075cf2 100644 --- a/api/commands.py +++ b/api/commands.py @@ -695,7 +695,7 @@ def extract_unique_plugins(output_file: str, input_file: str): """ click.echo(click.style("Starting extract unique plugins.", fg="white")) - PluginMigration.extract_unique_plugins(input_file, output_file) + PluginMigration.extract_unique_plugins_to_file(input_file, output_file) click.echo(click.style("Extract unique plugins completed.", fg="green")) diff --git a/api/controllers/inner_api/plugin/plugin.py b/api/controllers/inner_api/plugin/plugin.py index d147404517..f3a9a45c54 100644 --- a/api/controllers/inner_api/plugin/plugin.py +++ b/api/controllers/inner_api/plugin/plugin.py @@ -5,6 +5,7 @@ from controllers.inner_api import api from controllers.inner_api.plugin.wraps import get_user_tenant, plugin_data from controllers.inner_api.wraps import plugin_inner_api_only from core.file.helpers import get_signed_file_url_for_plugin +from core.model_runtime.utils.encoders import jsonable_encoder from core.plugin.backwards_invocation.app import PluginAppBackwardsInvocation from core.plugin.backwards_invocation.base import BaseBackwardsInvocationResponse from core.plugin.backwards_invocation.encrypt import PluginEncrypter @@ -52,15 +53,17 @@ class PluginInvokeTextEmbeddingApi(Resource): @plugin_data(payload_type=RequestInvokeTextEmbedding) def post(self, user_model: Account | EndUser, tenant_model: Tenant, payload: RequestInvokeTextEmbedding): try: - return BaseBackwardsInvocationResponse( - data=PluginModelBackwardsInvocation.invoke_text_embedding( - user_id=user_model.id, - tenant=tenant_model, - payload=payload, + return jsonable_encoder( + BaseBackwardsInvocationResponse( + data=PluginModelBackwardsInvocation.invoke_text_embedding( + user_id=user_model.id, + tenant=tenant_model, + payload=payload, + ) ) - ).model_dump() + ) except Exception as e: - return BaseBackwardsInvocationResponse(error=str(e)).model_dump() + return jsonable_encoder(BaseBackwardsInvocationResponse(error=str(e))) class PluginInvokeRerankApi(Resource): @@ -70,15 +73,17 @@ class PluginInvokeRerankApi(Resource): @plugin_data(payload_type=RequestInvokeRerank) def post(self, user_model: Account | EndUser, tenant_model: Tenant, payload: RequestInvokeRerank): try: - return BaseBackwardsInvocationResponse( - data=PluginModelBackwardsInvocation.invoke_rerank( - user_id=user_model.id, - tenant=tenant_model, - payload=payload, + return jsonable_encoder( + BaseBackwardsInvocationResponse( + data=PluginModelBackwardsInvocation.invoke_rerank( + user_id=user_model.id, + tenant=tenant_model, + payload=payload, + ) ) - ).model_dump() + ) except Exception as e: - return BaseBackwardsInvocationResponse(error=str(e)).model_dump() + return jsonable_encoder(BaseBackwardsInvocationResponse(error=str(e))) class PluginInvokeTTSApi(Resource): @@ -105,15 +110,17 @@ class PluginInvokeSpeech2TextApi(Resource): @plugin_data(payload_type=RequestInvokeSpeech2Text) def post(self, user_model: Account | EndUser, tenant_model: Tenant, payload: RequestInvokeSpeech2Text): try: - return BaseBackwardsInvocationResponse( - data=PluginModelBackwardsInvocation.invoke_speech2text( - user_id=user_model.id, - tenant=tenant_model, - payload=payload, + return jsonable_encoder( + BaseBackwardsInvocationResponse( + data=PluginModelBackwardsInvocation.invoke_speech2text( + user_id=user_model.id, + tenant=tenant_model, + payload=payload, + ) ) - ).model_dump() + ) except Exception as e: - return BaseBackwardsInvocationResponse(error=str(e)).model_dump() + return jsonable_encoder(BaseBackwardsInvocationResponse(error=str(e))) class PluginInvokeModerationApi(Resource): @@ -123,15 +130,17 @@ class PluginInvokeModerationApi(Resource): @plugin_data(payload_type=RequestInvokeModeration) def post(self, user_model: Account | EndUser, tenant_model: Tenant, payload: RequestInvokeModeration): try: - return BaseBackwardsInvocationResponse( - data=PluginModelBackwardsInvocation.invoke_moderation( - user_id=user_model.id, - tenant=tenant_model, - payload=payload, + return jsonable_encoder( + BaseBackwardsInvocationResponse( + data=PluginModelBackwardsInvocation.invoke_moderation( + user_id=user_model.id, + tenant=tenant_model, + payload=payload, + ) ) - ).model_dump() + ) except Exception as e: - return BaseBackwardsInvocationResponse(error=str(e)).model_dump() + return jsonable_encoder(BaseBackwardsInvocationResponse(error=str(e))) class PluginInvokeToolApi(Resource): @@ -162,18 +171,20 @@ class PluginInvokeParameterExtractorNodeApi(Resource): @plugin_data(payload_type=RequestInvokeParameterExtractorNode) def post(self, user_model: Account | EndUser, tenant_model: Tenant, payload: RequestInvokeParameterExtractorNode): try: - return BaseBackwardsInvocationResponse( - data=PluginNodeBackwardsInvocation.invoke_parameter_extractor( - tenant_id=tenant_model.id, - user_id=user_model.id, - parameters=payload.parameters, - model_config=payload.model, - instruction=payload.instruction, - query=payload.query, + return jsonable_encoder( + BaseBackwardsInvocationResponse( + data=PluginNodeBackwardsInvocation.invoke_parameter_extractor( + tenant_id=tenant_model.id, + user_id=user_model.id, + parameters=payload.parameters, + model_config=payload.model, + instruction=payload.instruction, + query=payload.query, + ) ) - ).model_dump() + ) except Exception as e: - return BaseBackwardsInvocationResponse(error=str(e)).model_dump() + return jsonable_encoder(BaseBackwardsInvocationResponse(error=str(e))) class PluginInvokeQuestionClassifierNodeApi(Resource): @@ -183,18 +194,20 @@ class PluginInvokeQuestionClassifierNodeApi(Resource): @plugin_data(payload_type=RequestInvokeQuestionClassifierNode) def post(self, user_model: Account | EndUser, tenant_model: Tenant, payload: RequestInvokeQuestionClassifierNode): try: - return BaseBackwardsInvocationResponse( - data=PluginNodeBackwardsInvocation.invoke_question_classifier( - tenant_id=tenant_model.id, - user_id=user_model.id, - query=payload.query, - model_config=payload.model, - classes=payload.classes, - instruction=payload.instruction, + return jsonable_encoder( + BaseBackwardsInvocationResponse( + data=PluginNodeBackwardsInvocation.invoke_question_classifier( + tenant_id=tenant_model.id, + user_id=user_model.id, + query=payload.query, + model_config=payload.model, + classes=payload.classes, + instruction=payload.instruction, + ) ) - ).model_dump() + ) except Exception as e: - return BaseBackwardsInvocationResponse(error=str(e)).model_dump() + return jsonable_encoder(BaseBackwardsInvocationResponse(error=str(e))) class PluginInvokeAppApi(Resource):