dify/api/factories/agent_factory.py

16 lines
711 B
Python
Raw Normal View History

2024-12-09 23:02:11 +08:00
from core.agent.strategy.plugin import PluginAgentStrategy
from core.plugin.manager.agent import PluginAgentManager
def get_plugin_agent_strategy(
2025-01-08 07:41:17 +08:00
tenant_id: str, agent_strategy_provider_name: str, agent_strategy_name: str
2024-12-09 23:02:11 +08:00
) -> PluginAgentStrategy:
# TODO: use contexts to cache the agent provider
manager = PluginAgentManager()
agent_provider = manager.fetch_agent_strategy_provider(tenant_id, agent_strategy_provider_name)
2024-12-09 23:02:11 +08:00
for agent_strategy in agent_provider.declaration.strategies:
if agent_strategy.identity.name == agent_strategy_name:
2025-01-08 07:41:17 +08:00
return PluginAgentStrategy(tenant_id, agent_strategy)
2024-12-09 23:02:11 +08:00
raise ValueError(f"Agent strategy {agent_strategy_name} not found")