Currently our agents are purely defined by the dataset configuration. Specifically, the Predicate Language configuration defines the class of questions answerable by each agent. Internally, the configuration is used to create a Model Executer that can answer questions matching the language (specified in the config) by executing the steps (specified in the config).
Agents have to be built for each example since each example has a different world context. To build an agent for a given question in your code, refer to code in participant_execution.py
The operations (as shown in Table 1 and Table 2) are implemented in operation_executer.py
. You can
add more operations to this class by modifying the execute_operation
function.