diff --git a/api/constants/model_template.py b/api/constants/model_template.py index 42e182236f..cc5a370254 100644 --- a/api/constants/model_template.py +++ b/api/constants/model_template.py @@ -22,7 +22,7 @@ default_app_templates = { 'model_config': { 'model': { "provider": "openai", - "name": "gpt-4", + "name": "gpt-4o", "mode": "chat", "completion_params": {} }, @@ -51,7 +51,7 @@ default_app_templates = { 'model_config': { 'model': { "provider": "openai", - "name": "gpt-4", + "name": "gpt-4o", "mode": "chat", "completion_params": {} } @@ -77,7 +77,7 @@ default_app_templates = { 'model_config': { 'model': { "provider": "openai", - "name": "gpt-4", + "name": "gpt-4o", "mode": "chat", "completion_params": {} } diff --git a/api/core/app/apps/advanced_chat/app_generator.py b/api/core/app/apps/advanced_chat/app_generator.py index 3b1ee3578d..2483e9f66c 100644 --- a/api/core/app/apps/advanced_chat/app_generator.py +++ b/api/core/app/apps/advanced_chat/app_generator.py @@ -84,6 +84,10 @@ class AdvancedChatAppGenerator(MessageBasedAppGenerator): workflow=workflow ) + if invoke_from == InvokeFrom.DEBUGGER: + # always enable retriever resource in debugger mode + app_config.additional_features.show_retrieve_source = True + # init application generate entity application_generate_entity = AdvancedChatAppGenerateEntity( task_id=str(uuid.uuid4()), diff --git a/api/core/app/apps/agent_chat/app_generator.py b/api/core/app/apps/agent_chat/app_generator.py index 407fb931ec..800dc1616d 100644 --- a/api/core/app/apps/agent_chat/app_generator.py +++ b/api/core/app/apps/agent_chat/app_generator.py @@ -82,6 +82,11 @@ class AgentChatAppGenerator(MessageBasedAppGenerator): config=args.get('model_config') ) + # always enable retriever resource in debugger mode + override_model_config_dict["retriever_resource"] = { + "enabled": True + } + # parse files files = args['files'] if args.get('files') else [] message_file_parser = MessageFileParser(tenant_id=app_model.tenant_id, app_id=app_model.id) diff --git a/api/core/app/apps/chat/app_config_manager.py b/api/core/app/apps/chat/app_config_manager.py index 925062a66a..a286c349b2 100644 --- a/api/core/app/apps/chat/app_config_manager.py +++ b/api/core/app/apps/chat/app_config_manager.py @@ -50,6 +50,9 @@ class ChatAppConfigManager(BaseAppConfigManager): app_model_config_dict = app_model_config.to_dict() config_dict = app_model_config_dict.copy() else: + if not override_config_dict: + raise Exception('override_config_dict is required when config_from is ARGS') + config_dict = override_config_dict app_mode = AppMode.value_of(app_model.mode) diff --git a/api/core/app/apps/chat/app_generator.py b/api/core/app/apps/chat/app_generator.py index 505ada09db..b92eed82c3 100644 --- a/api/core/app/apps/chat/app_generator.py +++ b/api/core/app/apps/chat/app_generator.py @@ -79,6 +79,11 @@ class ChatAppGenerator(MessageBasedAppGenerator): config=args.get('model_config') ) + # always enable retriever resource in debugger mode + override_model_config_dict["retriever_resource"] = { + "enabled": True + } + # parse files files = args['files'] if args.get('files') else [] message_file_parser = MessageFileParser(tenant_id=app_model.tenant_id, app_id=app_model.id) diff --git a/api/models/model.py b/api/models/model.py index 3024be0b4c..7c9fa0477f 100644 --- a/api/models/model.py +++ b/api/models/model.py @@ -265,7 +265,7 @@ class AppModelConfig(db.Model): @property def retriever_resource_dict(self) -> dict: return json.loads(self.retriever_resource) if self.retriever_resource \ - else {"enabled": False} + else {"enabled": True} @property def annotation_reply_dict(self) -> dict: diff --git a/web/app/components/workflow/hooks/use-workflow.ts b/web/app/components/workflow/hooks/use-workflow.ts index fc995ed976..9e3b640e94 100644 --- a/web/app/components/workflow/hooks/use-workflow.ts +++ b/web/app/components/workflow/hooks/use-workflow.ts @@ -485,7 +485,9 @@ export const useWorkflowInit = () => { nodes: nodesTemplate, edges: edgesTemplate, }, - features: {}, + features: { + retriever_resource: { enabled: true }, + }, }, }).then((res) => { workflowStore.getState().setDraftUpdatedAt(res.updated_at)