run_infer.sh 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #!/bin/bash
  2. set -eo pipefail
  3. source "evaluation/utils/version_control.sh"
  4. MODEL_CONFIG=$1
  5. COMMIT_HASH=$2
  6. AGENT=$3
  7. EVAL_LIMIT=$4
  8. MAX_ITER=$5
  9. NUM_WORKERS=$6
  10. if [ -z "$NUM_WORKERS" ]; then
  11. NUM_WORKERS=1
  12. echo "Number of workers not specified, use default $NUM_WORKERS"
  13. fi
  14. checkout_eval_branch
  15. if [ -z "$AGENT" ]; then
  16. echo "Agent not specified, use default CodeActAgent"
  17. AGENT="CodeActAgent"
  18. fi
  19. if [ -z "$MAX_ITER" ]; then
  20. echo "MAX_ITER not specified, use default 30"
  21. MAX_ITER=30
  22. fi
  23. get_agent_version
  24. echo "AGENT: $AGENT"
  25. echo "AGENT_VERSION: $AGENT_VERSION"
  26. echo "MODEL_CONFIG: $MODEL_CONFIG"
  27. # Default to use Hint
  28. if [ -z "$USE_HINT_TEXT" ]; then
  29. export USE_HINT_TEXT=true
  30. fi
  31. echo "USE_HINT_TEXT: $USE_HINT_TEXT"
  32. EVAL_NOTE="$AGENT_VERSION"
  33. # if not using Hint, add -no-hint to the eval note
  34. if [ "$USE_HINT_TEXT" = false ]; then
  35. EVAL_NOTE="$EVAL_NOTE-no-hint"
  36. fi
  37. unset SANDBOX_ENV_GITHUB_TOKEN # prevent the agent from using the github token to push
  38. COMMAND="poetry run python evaluation/swe_bench/run_infer.py \
  39. --agent-cls $AGENT \
  40. --llm-config $MODEL_CONFIG \
  41. --max-iterations $MAX_ITER \
  42. --max-chars 10000000 \
  43. --eval-num-workers $NUM_WORKERS \
  44. --eval-note $EVAL_NOTE"
  45. if [ -n "$EVAL_LIMIT" ]; then
  46. echo "EVAL_LIMIT: $EVAL_LIMIT"
  47. COMMAND="$COMMAND --eval-n-limit $EVAL_LIMIT"
  48. fi
  49. # Run the command
  50. eval $COMMAND
  51. checkout_original_branch