main.py 1.1 KB

12345678910111213141516171819202122232425
  1. import argparse
  2. import agenthub # for the agent registry
  3. from opendevin.agent import Agent
  4. from opendevin.controller import AgentController
  5. if __name__ == "__main__":
  6. parser = argparse.ArgumentParser(description="Run an agent with a specific task")
  7. parser.add_argument("-d", "--directory", required=True, type=str, help="The working directory for the agent")
  8. parser.add_argument("-t", "--task", required=True, type=str, help="The task for the agent to perform")
  9. parser.add_argument("-c", "--agent-cls", default="LangchainsAgent", type=str, help="The agent class to use")
  10. parser.add_argument("-m", "--model-name", default="gpt-4-0125-preview", type=str, help="The (litellm) model name to use")
  11. args = parser.parse_args()
  12. print(f"Running agent {args.agent_cls} (model: {args.model_name}, directory: {args.directory}) with task: \"{args.task}\"")
  13. AgentCls: Agent = Agent.get_cls(args.agent_cls)
  14. agent = AgentCls(
  15. instruction=args.task,
  16. workspace_dir=args.directory,
  17. model_name=args.model_name
  18. )
  19. controller = AgentController(agent, args.directory)
  20. controller.start_loop()