run_infer.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/bash
  2. MODEL_CONFIG=$1
  3. AGENT=$2
  4. EVAL_LIMIT=$3
  5. HUBS=$4
  6. if [ -z "$AGENT" ]; then
  7. echo "Agent not specified, use default CodeActAgent"
  8. AGENT="CodeActAgent"
  9. fi
  10. if [ -z "$HUBS" ]; then
  11. HUBS="hf,torch,tf"
  12. echo "Hubs not specified, use default $HUBS"
  13. fi
  14. # IMPORTANT: Because Agent's prompt changes fairly often in the rapidly evolving codebase of OpenDevin
  15. # We need to track the version of Agent in the evaluation to make sure results are comparable
  16. AGENT_VERSION=v$(poetry run python -c "import agenthub; from opendevin.controller.agent import Agent; print(Agent.get_cls('$AGENT').VERSION)")
  17. echo "AGENT: $AGENT"
  18. echo "AGENT_VERSION: $AGENT_VERSION"
  19. echo "MODEL_CONFIG: $MODEL_CONFIG"
  20. echo "HUBS: $HUBS"
  21. COMMAND="poetry run python evaluation/gorilla/run_infer.py \
  22. --agent-cls $AGENT \
  23. --llm-config $MODEL_CONFIG \
  24. --max-iterations 30 \
  25. --hubs $HUBS \
  26. --data-split validation \
  27. --max-chars 10000000 \
  28. --eval-num-workers 1 \
  29. --eval-note ${AGENT_VERSION}_${LEVELS}"
  30. if [ -n "$EVAL_LIMIT" ]; then
  31. echo "EVAL_LIMIT: $EVAL_LIMIT"
  32. COMMAND="$COMMAND --eval-n-limit $EVAL_LIMIT"
  33. fi
  34. # Run the command
  35. eval $COMMAND