Spaces:
Running
Running
Commit Β·
407fc42
1
Parent(s): 3985d80
working...
Browse files- inference.py +24 -3
inference.py
CHANGED
|
@@ -2,7 +2,7 @@
|
|
| 2 |
"""
|
| 3 |
inference.py - Code Debug Environment Baseline Agent
|
| 4 |
|
| 5 |
-
Required env vars: API_BASE_URL, MODEL_NAME, HF_TOKEN
|
| 6 |
Usage:
|
| 7 |
python inference.py
|
| 8 |
python inference.py --url https://Souravdanyal-code-debug-env.hf.space
|
|
@@ -18,16 +18,28 @@ import os, sys, json, time, argparse, requests, re
|
|
| 18 |
from openai import OpenAI
|
| 19 |
from typing import List, Optional
|
| 20 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 21 |
# ββ Config ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 22 |
API_BASE_URL = os.environ.get("API_BASE_URL", "https://api.groq.com/openai/v1")
|
| 23 |
MODEL_NAME = os.environ.get("MODEL_NAME", "llama-3.1-8b-instant")
|
| 24 |
-
|
|
|
|
|
|
|
| 25 |
ENV_URL = os.environ.get("ENV_URL", "http://localhost:7860")
|
| 26 |
BENCHMARK = "code-debug-env"
|
| 27 |
MAX_STEPS = 5
|
| 28 |
SUCCESS_SCORE_THRESHOLD = 0.5
|
| 29 |
|
| 30 |
-
client = OpenAI(api_key=
|
| 31 |
|
| 32 |
# ββ Logging β STRICT FORMAT βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 33 |
def log_start(task_id: str, env: str, model: str) -> None:
|
|
@@ -248,6 +260,15 @@ def main():
|
|
| 248 |
args = parser.parse_args()
|
| 249 |
url = args.url.rstrip("/")
|
| 250 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 251 |
# Health check
|
| 252 |
try:
|
| 253 |
requests.get(f"{url}/health", timeout=10).raise_for_status()
|
|
|
|
| 2 |
"""
|
| 3 |
inference.py - Code Debug Environment Baseline Agent
|
| 4 |
|
| 5 |
+
Required env vars: API_BASE_URL, MODEL_NAME, and one of API_KEY/GROQ_API_KEY/OPENAI_API_KEY/HF_TOKEN
|
| 6 |
Usage:
|
| 7 |
python inference.py
|
| 8 |
python inference.py --url https://Souravdanyal-code-debug-env.hf.space
|
|
|
|
| 18 |
from openai import OpenAI
|
| 19 |
from typing import List, Optional
|
| 20 |
|
| 21 |
+
|
| 22 |
+
def _read_env(*names: str) -> tuple[str, Optional[str]]:
|
| 23 |
+
"""Return first non-empty env value and the matched variable name."""
|
| 24 |
+
for name in names:
|
| 25 |
+
for candidate in (name, name.lower()):
|
| 26 |
+
val = os.environ.get(candidate)
|
| 27 |
+
if val and val.strip():
|
| 28 |
+
return val.strip(), candidate
|
| 29 |
+
return "", None
|
| 30 |
+
|
| 31 |
# ββ Config ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 32 |
API_BASE_URL = os.environ.get("API_BASE_URL", "https://api.groq.com/openai/v1")
|
| 33 |
MODEL_NAME = os.environ.get("MODEL_NAME", "llama-3.1-8b-instant")
|
| 34 |
+
|
| 35 |
+
# Accept common provider key names, including lowercase variants.
|
| 36 |
+
API_KEY, API_KEY_SOURCE = _read_env("API_KEY", "GROQ_API_KEY", "OPENAI_API_KEY", "HF_TOKEN")
|
| 37 |
ENV_URL = os.environ.get("ENV_URL", "http://localhost:7860")
|
| 38 |
BENCHMARK = "code-debug-env"
|
| 39 |
MAX_STEPS = 5
|
| 40 |
SUCCESS_SCORE_THRESHOLD = 0.5
|
| 41 |
|
| 42 |
+
client = OpenAI(api_key=API_KEY or "dummy", base_url=API_BASE_URL)
|
| 43 |
|
| 44 |
# ββ Logging β STRICT FORMAT βββββββββββββββββββββββββββββββββββββββββββββββββββ
|
| 45 |
def log_start(task_id: str, env: str, model: str) -> None:
|
|
|
|
| 260 |
args = parser.parse_args()
|
| 261 |
url = args.url.rstrip("/")
|
| 262 |
|
| 263 |
+
if not API_KEY:
|
| 264 |
+
print(
|
| 265 |
+
"# Missing API key. Set one of: API_KEY, GROQ_API_KEY, OPENAI_API_KEY, HF_TOKEN (or lowercase variants)",
|
| 266 |
+
file=sys.stderr,
|
| 267 |
+
flush=True,
|
| 268 |
+
)
|
| 269 |
+
sys.exit(1)
|
| 270 |
+
print(f"# Using API key from {API_KEY_SOURCE}", file=sys.stderr, flush=True)
|
| 271 |
+
|
| 272 |
# Health check
|
| 273 |
try:
|
| 274 |
requests.get(f"{url}/health", timeout=10).raise_for_status()
|