From 26c8beb8048217e61122cdba250f54efaf7c9322 Mon Sep 17 00:00:00 2001 From: -LAN- Date: Tue, 1 Oct 2024 13:21:25 +0800 Subject: [PATCH] refactor(identity): update model identity key - Change "model_identity" to "dify_model_identity" for consistency - Adjust file validation logic to use updated key in various components and tests --- api/core/app/task_pipeline/workflow_cycle_manage.py | 2 +- api/core/tools/tool/workflow_tool.py | 4 ++-- api/core/workflow/nodes/answer/answer_stream_processor.py | 2 +- api/models/model.py | 8 ++++---- api/tests/unit_tests/core/test_file.py | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/api/core/app/task_pipeline/workflow_cycle_manage.py b/api/core/app/task_pipeline/workflow_cycle_manage.py index 6c206da39d..4538acaa6c 100644 --- a/api/core/app/task_pipeline/workflow_cycle_manage.py +++ b/api/core/app/task_pipeline/workflow_cycle_manage.py @@ -652,7 +652,7 @@ class WorkflowCycleManage: if not value: return None - if isinstance(value, dict) and value.get("model_identity") == FILE_MODEL_IDENTITY: + if isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY: return value elif isinstance(value, File): return value.to_dict() diff --git a/api/core/tools/tool/workflow_tool.py b/api/core/tools/tool/workflow_tool.py index 8df4a1e03e..ce5201dce6 100644 --- a/api/core/tools/tool/workflow_tool.py +++ b/api/core/tools/tool/workflow_tool.py @@ -190,10 +190,10 @@ class WorkflowTool(Tool): for key, value in outputs.items(): if isinstance(value, list): for item in value: - if isinstance(item, dict) and item.get("model_identity") == FILE_MODEL_IDENTITY: + if isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY: file = File.model_validate(item) files.append(file) - elif isinstance(value, dict) and value.get("model_identity") == FILE_MODEL_IDENTITY: + elif isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY: file = File.model_validate(value) files.append(file) diff --git a/api/core/workflow/nodes/answer/answer_stream_processor.py b/api/core/workflow/nodes/answer/answer_stream_processor.py index 072dbfe3f4..e3889941ca 100644 --- a/api/core/workflow/nodes/answer/answer_stream_processor.py +++ b/api/core/workflow/nodes/answer/answer_stream_processor.py @@ -213,7 +213,7 @@ class AnswerStreamProcessor(StreamProcessor): return None if isinstance(value, dict): - if "model_identity" in value and value["model_identity"] == FILE_MODEL_IDENTITY: + if "dify_model_identity" in value and value["dify_model_identity"] == FILE_MODEL_IDENTITY: return value elif isinstance(value, File): return value.to_dict() diff --git a/api/models/model.py b/api/models/model.py index de5d7b03e7..440ab6976b 100644 --- a/api/models/model.py +++ b/api/models/model.py @@ -569,10 +569,10 @@ class Conversation(db.Model): def inputs(self): inputs = self._inputs.copy() for key, value in inputs.items(): - if isinstance(value, dict) and value.get("model_identity") == FILE_MODEL_IDENTITY: + if isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY: inputs[key] = File.model_validate(value) elif isinstance(value, list) and all( - isinstance(item, dict) and item.get("model_identity") == FILE_MODEL_IDENTITY for item in value + isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY for item in value ): inputs[key] = [File.model_validate(item) for item in value] return inputs @@ -765,10 +765,10 @@ class Message(db.Model): def inputs(self): inputs = self._inputs.copy() for key, value in inputs.items(): - if isinstance(value, dict) and value.get("model_identity") == FILE_MODEL_IDENTITY: + if isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY: inputs[key] = File.model_validate(value) elif isinstance(value, list) and all( - isinstance(item, dict) and item.get("model_identity") == FILE_MODEL_IDENTITY for item in value + isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY for item in value ): inputs[key] = [File.model_validate(item) for item in value] return inputs diff --git a/api/tests/unit_tests/core/test_file.py b/api/tests/unit_tests/core/test_file.py index 8cb2af4dd5..537490db4c 100644 --- a/api/tests/unit_tests/core/test_file.py +++ b/api/tests/unit_tests/core/test_file.py @@ -13,7 +13,7 @@ def test_file_loads_and_dumps(): ) file_dict = file.model_dump() - assert file_dict["model_identity"] == FILE_MODEL_IDENTITY + assert file_dict["dify_model_identity"] == FILE_MODEL_IDENTITY assert file_dict["type"] == file.type.value assert isinstance(file_dict["type"], str) assert file_dict["transfer_method"] == file.transfer_method.value