Spaces:
Sleeping
Sleeping
Upload folder using huggingface_hub
Browse files- inference.py +14 -8
inference.py
CHANGED
|
@@ -5,10 +5,10 @@ Runs all 3 scenarios (easy/medium/hard) end-to-end against a containerised env,
|
|
| 5 |
calling an LLM via the OpenAI client against a Hugging Face Router endpoint.
|
| 6 |
|
| 7 |
Environment variables (all read via os.getenv):
|
| 8 |
-
HF_TOKEN -- HuggingFace token used as the OpenAI API key.
|
| 9 |
API_BASE_URL -- LLM base URL (default: HF Router).
|
| 10 |
MODEL_NAME -- LLM model id (default: Qwen/Qwen2.5-72B-Instruct).
|
| 11 |
-
|
| 12 |
|
| 13 |
Strict stdout format enforced by the grader:
|
| 14 |
[START] task=<id> env=<benchmark> model=<model>
|
|
@@ -40,11 +40,17 @@ except ModuleNotFoundError:
|
|
| 40 |
|
| 41 |
|
| 42 |
# ---------- Config ----------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 43 |
|
| 44 |
-
API_KEY = os.getenv("HF_TOKEN") or os.getenv("API_KEY")
|
| 45 |
-
API_BASE_URL = os.getenv("API_BASE_URL") or "https://router.huggingface.co/v1"
|
| 46 |
-
MODEL_NAME = os.getenv("MODEL_NAME") or "Qwen/Qwen2.5-72B-Instruct"
|
| 47 |
-
IMAGE_NAME = os.getenv("IMAGE_NAME") or "postmortem_env-env:latest"
|
| 48 |
BENCHMARK = "postmortem_env"
|
| 49 |
|
| 50 |
MAX_STEPS = 12
|
|
@@ -260,11 +266,11 @@ async def run_one_task(client: OpenAI, env: PostmortemEnv) -> None:
|
|
| 260 |
|
| 261 |
|
| 262 |
async def main() -> None:
|
| 263 |
-
client = OpenAI(base_url=API_BASE_URL, api_key=
|
| 264 |
|
| 265 |
# Spin up one containerised env; run the 3 scenarios back-to-back
|
| 266 |
# by issuing 3 resets (the env rotates scenarios on each reset).
|
| 267 |
-
env = await PostmortemEnv.from_docker_image(
|
| 268 |
try:
|
| 269 |
for _ in range(3):
|
| 270 |
await run_one_task(client, env)
|
|
|
|
| 5 |
calling an LLM via the OpenAI client against a Hugging Face Router endpoint.
|
| 6 |
|
| 7 |
Environment variables (all read via os.getenv):
|
| 8 |
+
HF_TOKEN -- HuggingFace token used as the OpenAI API key (no default).
|
| 9 |
API_BASE_URL -- LLM base URL (default: HF Router).
|
| 10 |
MODEL_NAME -- LLM model id (default: Qwen/Qwen2.5-72B-Instruct).
|
| 11 |
+
LOCAL_IMAGE_NAME -- optional; local Docker image tag when using from_docker_image().
|
| 12 |
|
| 13 |
Strict stdout format enforced by the grader:
|
| 14 |
[START] task=<id> env=<benchmark> model=<model>
|
|
|
|
| 40 |
|
| 41 |
|
| 42 |
# ---------- Config ----------
|
| 43 |
+
# Follows hackathon pre-submission checklist:
|
| 44 |
+
# - Defaults are set only for API_BASE_URL and MODEL_NAME (not HF_TOKEN).
|
| 45 |
+
# - LOCAL_IMAGE_NAME is optional, used when calling from_docker_image().
|
| 46 |
+
|
| 47 |
+
API_BASE_URL = os.getenv("API_BASE_URL", "https://router.huggingface.co/v1")
|
| 48 |
+
MODEL_NAME = os.getenv("MODEL_NAME", "Qwen/Qwen2.5-72B-Instruct")
|
| 49 |
+
HF_TOKEN = os.getenv("HF_TOKEN")
|
| 50 |
+
|
| 51 |
+
# Optional — used only when launching the env from a local Docker image.
|
| 52 |
+
LOCAL_IMAGE_NAME = os.getenv("LOCAL_IMAGE_NAME", "postmortem_env-env:latest")
|
| 53 |
|
|
|
|
|
|
|
|
|
|
|
|
|
| 54 |
BENCHMARK = "postmortem_env"
|
| 55 |
|
| 56 |
MAX_STEPS = 12
|
|
|
|
| 266 |
|
| 267 |
|
| 268 |
async def main() -> None:
|
| 269 |
+
client = OpenAI(base_url=API_BASE_URL, api_key=HF_TOKEN)
|
| 270 |
|
| 271 |
# Spin up one containerised env; run the 3 scenarios back-to-back
|
| 272 |
# by issuing 3 resets (the env rotates scenarios on each reset).
|
| 273 |
+
env = await PostmortemEnv.from_docker_image(LOCAL_IMAGE_NAME)
|
| 274 |
try:
|
| 275 |
for _ in range(3):
|
| 276 |
await run_one_task(client, env)
|