run_infer.sh 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. checkout_eval_branch
  10. if [ -z "$AGENT" ]; then
  11. echo "Agent not specified, use default CodeActAgent"
  12. AGENT="CodeActAgent"
  13. fi
  14. if [ -z "$MAX_ITER" ]; then
  15. echo "MAX_ITER not specified, use default 30"
  16. MAX_ITER=30
  17. fi
  18. get_agent_version
  19. echo "AGENT: $AGENT"
  20. echo "AGENT_VERSION: $AGENT_VERSION"
  21. echo "MODEL_CONFIG: $MODEL_CONFIG"
  22. # Default to use Hint
  23. if [ -z "$USE_HINT_TEXT" ]; then
  24. export USE_HINT_TEXT=true
  25. fi
  26. echo "USE_HINT_TEXT: $USE_HINT_TEXT"
  27. EVAL_NOTE="$AGENT_VERSION"
  28. # if not using Hint, add -no-hint to the eval note
  29. if [ "$USE_HINT_TEXT" = false ]; then
  30. EVAL_NOTE="$EVAL_NOTE-no-hint"
  31. fi
  32. unset SANDBOX_ENV_GITHUB_TOKEN # prevent the agent from using the github token to push
  33. COMMAND="poetry run python evaluation/swe_bench/run_infer.py \
  34. --agent-cls $AGENT \
  35. --llm-config $MODEL_CONFIG \
  36. --max-iterations $MAX_ITER \
  37. --max-chars 10000000 \
  38. --eval-num-workers 8 \
  39. --eval-note $EVAL_NOTE"
  40. if [ -n "$EVAL_LIMIT" ]; then
  41. echo "EVAL_LIMIT: $EVAL_LIMIT"
  42. COMMAND="$COMMAND --eval-n-limit $EVAL_LIMIT"
  43. fi
  44. # Run the command
  45. eval $COMMAND
  46. checkout_original_branch