| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- #!/bin/bash
- set -eo pipefail
- source "evaluation/utils/version_control.sh"
- MODEL_CONFIG=$1
- COMMIT_HASH=$2
- AGENT=$3
- DATASET=$4
- EVAL_LIMIT=$5
- checkout_eval_branch
- if [ -z "$AGENT" ]; then
- echo "Agent not specified, use default CodeActAgent"
- AGENT="CodeActAgent"
- fi
- get_agent_version
- if [ -z "$DATASET" ]; then
- echo "Dataset not specified, use default 'things'"
- DATASET="things"
- fi
- # check if OPENAI_API_KEY is set
- if [ -z "$OPENAI_API_KEY" ]; then
- echo "OPENAI_API_KEY is not set, please set it to run the script"
- exit 1
- fi
- # IMPORTANT: Because Agent's prompt changes fairly often in the rapidly evolving codebase of OpenDevin
- # We need to track the version of Agent in the evaluation to make sure results are comparable
- AGENT_VERSION=v$(poetry run python -c "import agenthub; from opendevin.controller.agent import Agent; print(Agent.get_cls('$AGENT').VERSION)")
- echo "AGENT: $AGENT"
- echo "AGENT_VERSION: $AGENT_VERSION"
- echo "MODEL_CONFIG: $MODEL_CONFIG"
- echo "DATASET: $DATASET"
- COMMAND="poetry run python evaluation/EDA/run_infer.py \
- --agent-cls $AGENT \
- --llm-config $MODEL_CONFIG \
- --dataset $DATASET \
- --data-split test \
- --max-iterations 20 \
- --OPENAI_API_KEY $OPENAI_API_KEY \
- --max-chars 10000000 \
- --eval-num-workers 1 \
- --eval-note ${AGENT_VERSION}_${DATASET}"
- if [ -n "$EVAL_LIMIT" ]; then
- echo "EVAL_LIMIT: $EVAL_LIMIT"
- COMMAND="$COMMAND --eval-n-limit $EVAL_LIMIT"
- fi
- # Run the command
- echo $COMMAND
- eval $COMMAND
|