Spaces:
Runtime error
Runtime error
""" | |
This file is the entry point for MLAgentBench. | |
""" | |
import argparse | |
from dotenv import load_dotenv | |
load_dotenv() | |
from reactagent import llm | |
from reactagent.environment import Environment | |
from reactagent.agents.agent_research import ResearchAgent | |
from reactagent.users.console_user import ConsoleUser | |
def run(args): | |
with Environment(args) as env: | |
print("=====================================") | |
agent = ResearchAgent(args, env) | |
user = ConsoleUser() | |
coro = agent.run(env) | |
try: | |
info = coro.send(None) | |
while True: | |
feedback = user.interact(info) | |
info = coro.send(feedback) | |
except StopIteration: | |
pass | |
env.save("final") | |
def create_parser() -> argparse.ArgumentParser: | |
parser = argparse.ArgumentParser() | |
parser.add_argument("--research-problem", type=str, required=True, help="research problem") | |
parser.add_argument("--log-dir", type=str, default="./logs", help="log dir") | |
parser.add_argument("--work-dir", type=str, default="./workspace", help="work dir") | |
parser.add_argument("--max-steps", type=int, default=50, help="number of steps") | |
parser.add_argument("--max-time", type=int, default=2 * 60 * 60, help="max time") | |
parser.add_argument("--device", type=int, default=0, help="device id") | |
parser.add_argument("--python", type=str, default="python3", help="python command") | |
parser.add_argument("--resume", type=str, default=None, help="resume from a previous run") | |
parser.add_argument("--resume-step", type=int, default=0, help="the step to resume from") | |
# general agent configs | |
parser.add_argument("--llm-name", type=str, help="llm name") | |
parser.add_argument("--fast-llm-name", type=str, help="llm name") | |
parser.add_argument("--edit-script-llm-name", type=str, help="llm name") | |
parser.add_argument("--edit-script-llm-max-tokens", type=int, default=4000, help="llm max tokens") | |
parser.add_argument("--agent-max-steps", type=int, default=50, help="max iterations for agent") | |
# research agent configs | |
parser.add_argument("--actions-remove-from-prompt", type=str, nargs='+', default=[], help="actions to remove in addition to the default ones: Read File, Write File, Append File, Retrieval from Research Log, Append Summary to Research Log, Python REPL, Edit Script Segment (AI)") | |
parser.add_argument("--actions-add-to-prompt", type=str, nargs='+', default=[], help="actions to add") | |
parser.add_argument("--valid-format-entires", type=str, nargs='+', default=None, help="valid format entries") | |
parser.add_argument("--max-steps-in-context", type=int, default=3, help="max steps in context") | |
parser.add_argument("--max-observation-steps-in-context", type=int, default=3, help="max observation steps in context") | |
parser.add_argument("--max-retries", type=int, default=5, help="max retries") | |
return parser | |
if __name__ == "__main__": | |
parser = create_parser() | |
args = parser.parse_args() | |
llm.FAST_MODEL = args.fast_llm_name | |
run(args) | |