Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

agent_factory.py 735B

123456789101112131415
  1. from core.agent.strategy.plugin import PluginAgentStrategy
  2. from core.plugin.impl.agent import PluginAgentClient
  3. def get_plugin_agent_strategy(
  4. tenant_id: str, agent_strategy_provider_name: str, agent_strategy_name: str
  5. ) -> PluginAgentStrategy:
  6. # TODO: use contexts to cache the agent provider
  7. manager = PluginAgentClient()
  8. agent_provider = manager.fetch_agent_strategy_provider(tenant_id, agent_strategy_provider_name)
  9. for agent_strategy in agent_provider.declaration.strategies:
  10. if agent_strategy.identity.name == agent_strategy_name:
  11. return PluginAgentStrategy(tenant_id, agent_strategy, agent_provider.meta.version)
  12. raise ValueError(f"Agent strategy {agent_strategy_name} not found")