mirror of
https://git.mirrors.martin98.com/https://github.com/langgenius/dify.git
synced 2025-08-16 17:15:59 +08:00
chore(agent_node): refactor the code supported old version SDK
This commit is contained in:
parent
7704eea233
commit
d2fdd77aee
@ -6,7 +6,7 @@ from core.agent.entities import AgentToolEntity
|
|||||||
from core.agent.plugin_entities import AgentStrategyParameter
|
from core.agent.plugin_entities import AgentStrategyParameter
|
||||||
from core.memory.token_buffer_memory import TokenBufferMemory
|
from core.memory.token_buffer_memory import TokenBufferMemory
|
||||||
from core.model_manager import ModelInstance, ModelManager
|
from core.model_manager import ModelInstance, ModelManager
|
||||||
from core.model_runtime.entities.model_entities import AIModelEntity, ModelFeature, ModelType
|
from core.model_runtime.entities.model_entities import AIModelEntity, ModelType
|
||||||
from core.plugin.manager.exc import PluginDaemonClientSideError
|
from core.plugin.manager.exc import PluginDaemonClientSideError
|
||||||
from core.plugin.manager.plugin import PluginInstallationManager
|
from core.plugin.manager.plugin import PluginInstallationManager
|
||||||
from core.provider_manager import ProviderManager
|
from core.provider_manager import ProviderManager
|
||||||
@ -16,7 +16,7 @@ from core.variables.segments import StringSegment
|
|||||||
from core.workflow.entities.node_entities import NodeRunResult
|
from core.workflow.entities.node_entities import NodeRunResult
|
||||||
from core.workflow.entities.variable_pool import VariablePool
|
from core.workflow.entities.variable_pool import VariablePool
|
||||||
from core.workflow.enums import SystemVariableKey
|
from core.workflow.enums import SystemVariableKey
|
||||||
from core.workflow.nodes.agent.entities import AgentNodeData, ParamsAutoGenerated
|
from core.workflow.nodes.agent.entities import AgentNodeData, AgentOldVersionModelFeatures, ParamsAutoGenerated
|
||||||
from core.workflow.nodes.base.entities import BaseNodeData
|
from core.workflow.nodes.base.entities import BaseNodeData
|
||||||
from core.workflow.nodes.enums import NodeType
|
from core.workflow.nodes.enums import NodeType
|
||||||
from core.workflow.nodes.event.event import RunCompletedEvent
|
from core.workflow.nodes.event.event import RunCompletedEvent
|
||||||
@ -253,8 +253,10 @@ class AgentNode(ToolNode):
|
|||||||
value["history_prompt_messages"] = history_prompt_messages
|
value["history_prompt_messages"] = history_prompt_messages
|
||||||
if model_schema:
|
if model_schema:
|
||||||
# remove structured output feature to support old version agent plugin
|
# remove structured output feature to support old version agent plugin
|
||||||
if model_schema.features and ModelFeature.STRUCTURED_OUTPUT in model_schema.features:
|
if model_schema.features:
|
||||||
model_schema.features.remove(ModelFeature.STRUCTURED_OUTPUT)
|
for feature in model_schema.features:
|
||||||
|
if feature.value not in AgentOldVersionModelFeatures:
|
||||||
|
model_schema.features.remove(feature)
|
||||||
value["entity"] = model_schema.model_dump(mode="json")
|
value["entity"] = model_schema.model_dump(mode="json")
|
||||||
else:
|
else:
|
||||||
value["entity"] = None
|
value["entity"] = None
|
||||||
|
@ -24,3 +24,18 @@ class AgentNodeData(BaseNodeData):
|
|||||||
class ParamsAutoGenerated(Enum):
|
class ParamsAutoGenerated(Enum):
|
||||||
CLOSE = 0
|
CLOSE = 0
|
||||||
OPEN = 1
|
OPEN = 1
|
||||||
|
|
||||||
|
|
||||||
|
class AgentOldVersionModelFeatures(Enum):
|
||||||
|
"""
|
||||||
|
Enum class for old SDK version llm feature.
|
||||||
|
"""
|
||||||
|
|
||||||
|
TOOL_CALL = "tool-call"
|
||||||
|
MULTI_TOOL_CALL = "multi-tool-call"
|
||||||
|
AGENT_THOUGHT = "agent-thought"
|
||||||
|
VISION = "vision"
|
||||||
|
STREAM_TOOL_CALL = "stream-tool-call"
|
||||||
|
DOCUMENT = "document"
|
||||||
|
VIDEO = "video"
|
||||||
|
AUDIO = "audio"
|
||||||
|
Loading…
x
Reference in New Issue
Block a user