Files
Auto-GPT/benchmark/agbenchmark/agent_interface.py
merwanehamadi c09a0e7afa Implement old polling mechanism (#5248)
Implement old polling mechanism

Signed-off-by: Merwane Hamadi <merwanehamadi@gmail.com>
2023-09-18 16:23:06 -07:00

46 lines
1.3 KiB
Python

import os
import shutil
import sys
from typing import List
from dotenv import load_dotenv
from agbenchmark.execute_sub_process import execute_subprocess
load_dotenv()
helicone_graphql_logs = os.getenv("HELICONE_GRAPHQL_LOGS")
HELICONE_GRAPHQL_LOGS = (
helicone_graphql_logs.lower() == "true" if helicone_graphql_logs else False
)
def run_agent(task: str, timeout: int) -> None:
print(f"Running agbenchmark/benchmarks.py with timeout {timeout}")
command = [sys.executable, "-m", "agbenchmark_config.benchmarks", str(task)]
execute_subprocess(command, timeout)
def get_list_of_file_paths(
challenge_dir_path: str, artifact_folder_name: str
) -> List[str]:
# this file is at agbenchmark\agent_interface.py
source_dir = os.path.join(
challenge_dir_path,
artifact_folder_name,
)
if not os.path.exists(source_dir):
return []
return [os.path.join(source_dir, file_name) for file_name in os.listdir(source_dir)]
def copy_artifacts_into_temp_folder(
workspace: str | dict[str, str], artifact_folder_name: str, challenge_dir_path: str
) -> None:
file_paths = get_list_of_file_paths(challenge_dir_path, artifact_folder_name)
for file_path in file_paths:
if os.path.isfile(file_path):
shutil.copy(file_path, workspace)