Преглед изворни кода

fix: workflow_as_tool output files raise error (#12061)

tags/0.15.0
非法操作 пре 10 месеци
родитељ
комит
b66c03dfe9
No account linked to committer's email address
1 измењених фајлова са 12 додато и 3 уклоњено
  1. 12
    3
      api/core/tools/tool/workflow_tool.py

+ 12
- 3
api/core/tools/tool/workflow_tool.py Прегледај датотеку

@@ -1,12 +1,13 @@
import json
import logging
from copy import deepcopy
from typing import Any, Optional, Union
from typing import Any, Optional, Union, cast

from core.file import FILE_MODEL_IDENTITY, File, FileTransferMethod
from core.tools.entities.tool_entities import ToolInvokeMessage, ToolParameter, ToolProviderType
from core.tools.tool.tool import Tool
from extensions.ext_database import db
from factories.file_factory import build_from_mapping
from models.account import Account
from models.model import App, EndUser
from models.workflow import Workflow
@@ -194,10 +195,18 @@ class WorkflowTool(Tool):
if isinstance(value, list):
for item in value:
if isinstance(item, dict) and item.get("dify_model_identity") == FILE_MODEL_IDENTITY:
file = File.model_validate(item)
item["tool_file_id"] = item.get("related_id")
file = build_from_mapping(
mapping=item,
tenant_id=str(cast(Tool.Runtime, self.runtime).tenant_id),
)
files.append(file)
elif isinstance(value, dict) and value.get("dify_model_identity") == FILE_MODEL_IDENTITY:
file = File.model_validate(value)
value["tool_file_id"] = value.get("related_id")
file = build_from_mapping(
mapping=value,
tenant_id=str(cast(Tool.Runtime, self.runtime).tenant_id),
)
files.append(file)

result[key] = value

Loading…
Откажи
Сачувај