run_infer.sh 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. NUM_WORKERS=$5
  9. EVAL_IDS=$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. get_agent_version
  20. echo "AGENT: $AGENT"
  21. echo "AGENT_VERSION: $AGENT_VERSION"
  22. echo "MODEL_CONFIG: $MODEL_CONFIG"
  23. EVAL_NOTE=$AGENT_VERSION
  24. # Default to NOT use unit tests.
  25. if [ -z "$USE_UNIT_TESTS" ]; then
  26. export USE_UNIT_TESTS=false
  27. fi
  28. echo "USE_UNIT_TESTS: $USE_UNIT_TESTS"
  29. # If use unit tests, set EVAL_NOTE to the commit hash
  30. if [ "$USE_UNIT_TESTS" = true ]; then
  31. EVAL_NOTE=$EVAL_NOTE-w-test
  32. fi
  33. COMMAND="export PYTHONPATH=evaluation/aider_bench:\$PYTHONPATH && poetry run python evaluation/aider_bench/run_infer.py \
  34. --agent-cls $AGENT \
  35. --llm-config $MODEL_CONFIG \
  36. --max-iterations 30 \
  37. --eval-num-workers $NUM_WORKERS \
  38. --eval-note $EVAL_NOTE"
  39. if [ -n "$EVAL_LIMIT" ]; then
  40. echo "EVAL_LIMIT: $EVAL_LIMIT"
  41. COMMAND="$COMMAND --eval-n-limit $EVAL_LIMIT"
  42. fi
  43. if [ -n "$EVAL_IDS" ]; then
  44. echo "EVAL_IDS: $EVAL_IDS"
  45. COMMAND="$COMMAND --eval-ids $EVAL_IDS"
  46. fi
  47. # Run the command
  48. eval $COMMAND