diff --git a/api/constants/model_template.py b/api/constants/model_template.py index c8aaba23cb..42e182236f 100644 --- a/api/constants/model_template.py +++ b/api/constants/model_template.py @@ -1,3 +1,5 @@ +import json + from models.model import AppMode default_app_templates = { @@ -10,6 +12,35 @@ default_app_templates = { } }, + # completion default mode + AppMode.COMPLETION: { + 'app': { + 'mode': AppMode.COMPLETION.value, + 'enable_site': True, + 'enable_api': True + }, + 'model_config': { + 'model': { + "provider": "openai", + "name": "gpt-4", + "mode": "chat", + "completion_params": {} + }, + 'user_input_form': json.dumps([ + { + "paragraph": { + "label": "Query", + "variable": "query", + "required": True, + "default": "" + } + } + ]), + 'pre_prompt': '{{query}}' + }, + + }, + # chat default mode AppMode.CHAT: { 'app': { diff --git a/api/controllers/console/app/app.py b/api/controllers/console/app/app.py index 9440603069..9c8ebfac6c 100644 --- a/api/controllers/console/app/app.py +++ b/api/controllers/console/app/app.py @@ -22,7 +22,7 @@ from core.tools.utils.configuration import ToolParameterConfigurationManager from core.tools.tool_manager import ToolManager -ALLOW_CREATE_APP_MODES = ['chat', 'agent-chat', 'advanced-chat', 'workflow'] +ALLOW_CREATE_APP_MODES = ['chat', 'agent-chat', 'advanced-chat', 'workflow', 'completion'] class AppListApi(Resource): diff --git a/api/services/app_service.py b/api/services/app_service.py index 58b102f826..940d4eac6c 100644 --- a/api/services/app_service.py +++ b/api/services/app_service.py @@ -150,10 +150,10 @@ class AppService: if not workflow: raise ValueError("Missing workflow in data argument " "when app mode is advanced-chat or workflow") - elif app_mode in [AppMode.CHAT, AppMode.AGENT_CHAT]: + elif app_mode in [AppMode.CHAT, AppMode.AGENT_CHAT, AppMode.COMPLETION]: if not model_config_data: raise ValueError("Missing model_config in data argument " - "when app mode is chat or agent-chat") + "when app mode is chat, agent-chat or completion") else: raise ValueError("Invalid app mode")