Mirror of GitHub source: OpenEnv-compliant LeniencyBench environment + training scripts
6b4f87f verified | """ | |
| Python client for the Email Triage OpenEnv server. | |
| """ | |
| import requests | |
| class EmailTriageClient: | |
| def __init__(self, base_url: str = "http://localhost:8000"): | |
| self.base_url = base_url.rstrip("/") | |
| def reset(self, task_id: str = "task_1") -> dict: | |
| r = requests.post(f"{self.base_url}/reset", json={"task_id": task_id}) | |
| r.raise_for_status() | |
| return r.json() | |
| def step(self, category: str, priority: str, response: str) -> dict: | |
| payload = {"category": category, "priority": priority, "response": response} | |
| r = requests.post(f"{self.base_url}/step", json=payload) | |
| r.raise_for_status() | |
| return r.json() | |
| def state(self) -> dict: | |
| r = requests.get(f"{self.base_url}/state") | |
| r.raise_for_status() | |
| return r.json() | |
| def tasks(self) -> list: | |
| r = requests.get(f"{self.base_url}/tasks") | |
| r.raise_for_status() | |
| return r.json() | |
| def grade(self, task_id: str, category: str, priority: str, response: str) -> float: | |
| payload = { | |
| "task_id": task_id, | |
| "category": category, | |
| "priority": priority, | |
| "response": response, | |
| } | |
| r = requests.post(f"{self.base_url}/grader", json=payload) | |
| r.raise_for_status() | |
| return r.json()["score"] | |