| from __future__ import annotations |
|
|
| import os |
| import sys |
| from pathlib import Path |
| from typing import Dict |
|
|
| REPO_ROOT = Path(__file__).resolve().parent |
| if str(REPO_ROOT) not in sys.path: |
| sys.path.insert(0, str(REPO_ROOT)) |
|
|
| try: |
| from openai import OpenAI |
| except ModuleNotFoundError: |
| OpenAI = None |
|
|
| from baseline.run_baseline import main as baseline_main |
|
|
|
|
| DEFAULT_API_BASE_URL = "https://generativelanguage.googleapis.com/v1beta/openai/" |
| DEFAULT_MODEL_NAME = "gemini-2.5-flash" |
|
|
|
|
| def validate_submission_env() -> Dict[str, str]: |
| api_base_url = os.getenv("API_BASE_URL", DEFAULT_API_BASE_URL) |
| model_name = os.getenv("MODEL_NAME", DEFAULT_MODEL_NAME) |
| hf_token = os.getenv("HF_TOKEN") |
| local_image_name = os.getenv("LOCAL_IMAGE_NAME") |
|
|
| if not hf_token: |
| raise RuntimeError("Missing required inference environment variable: HF_TOKEN.") |
|
|
| if OpenAI is None: |
| raise RuntimeError("The openai package is required for submission inference.") |
|
|
| config = { |
| "API_BASE_URL": api_base_url, |
| "MODEL_NAME": model_name, |
| "HF_TOKEN": hf_token, |
| "LOCAL_IMAGE_NAME": local_image_name, |
| } |
|
|
| |
| OpenAI(base_url=config["API_BASE_URL"], api_key=config["HF_TOKEN"]) |
| return config |
|
|
|
|
| def main() -> None: |
| validate_submission_env() |
| os.environ["BASELINE_AGENT"] = "openai" |
| os.environ["BASELINE_OUTPUT_MODE"] = "submission" |
| os.environ.setdefault("EPISODES_PER_DIFFICULTY", "1") |
| os.environ.setdefault("BASELINE_RESULTS_PATH", "baseline/submission_results.json") |
| baseline_main() |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|