|
12 | 12 | ) |
13 | 13 | from controllers.console.wraps import account_initialization_required, setup_required |
14 | 14 | from core.errors.error import ModelCurrentlyNotSupportError, ProviderTokenNotInitError, QuotaExceededError |
| 15 | +from core.helper.code_executor.code_node_provider import CodeNodeProvider |
| 16 | +from core.helper.code_executor.javascript.javascript_code_provider import JavascriptCodeProvider |
| 17 | +from core.helper.code_executor.python3.python3_code_provider import Python3CodeProvider |
15 | 18 | from core.llm_generator.llm_generator import LLMGenerator |
16 | 19 | from core.model_runtime.errors.invoke import InvokeError |
17 | 20 | from libs.login import login_required |
@@ -123,9 +126,14 @@ def post(self): |
123 | 126 | parser.add_argument("model_config", type=dict, required=True, nullable=False, location="json") |
124 | 127 | parser.add_argument("ideal_output", type=str, required=False, default="", location="json") |
125 | 128 | args = parser.parse_args() |
126 | | - |
| 129 | + providers: list[type[CodeNodeProvider]] = [Python3CodeProvider, JavascriptCodeProvider] |
| 130 | + code_provider: type[CodeNodeProvider] | None = next( |
| 131 | + (p for p in providers if p.is_accept_language(args["language"])), None |
| 132 | + ) |
| 133 | + code_template = code_provider.get_default_code() if code_provider else "" |
127 | 134 | try: |
128 | | - if args["current"] == "" and args["node_id"] != "": # Generate from nothing for a workflow node |
| 135 | + # Generate from nothing for a workflow node |
| 136 | + if (args["current"] == code_template or args["current"] == "") and args["node_id"] != "": |
129 | 137 | from models import App, db |
130 | 138 | from services.workflow_service import WorkflowService |
131 | 139 |
|
|
0 commit comments