From 8d30ecb91adc59d36d325b4867e5ad83d73a6129 Mon Sep 17 00:00:00 2001 From: Dinesh Yeduguru Date: Thu, 16 Jan 2025 11:02:42 -0800 Subject: [PATCH] Idiomatic REST API: Evals (#782) # What does this PR do? Changes Evals API to follow more idiomatic REST ## Test Plan TBD, once i get an approval for rest endpoints --- llama_stack/apis/eval/eval.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/llama_stack/apis/eval/eval.py b/llama_stack/apis/eval/eval.py index 1b8f768ad..c9d2fb70b 100644 --- a/llama_stack/apis/eval/eval.py +++ b/llama_stack/apis/eval/eval.py @@ -74,14 +74,14 @@ class EvaluateResponse(BaseModel): class Eval(Protocol): - @webmethod(route="/eval/run", method="POST") + @webmethod(route="/eval/tasks/{task_id}/jobs", method="POST") async def run_eval( self, task_id: str, task_config: EvalTaskConfig, ) -> Job: ... - @webmethod(route="/eval/evaluate-rows", method="POST") + @webmethod(route="/eval/tasks/{task_id}/evaluations", method="POST") async def evaluate_rows( self, task_id: str, @@ -90,11 +90,11 @@ class Eval(Protocol): task_config: EvalTaskConfig, ) -> EvaluateResponse: ... - @webmethod(route="/eval/jobs/{job_id}", method="GET") - async def job_status(self, job_id: str, task_id: str) -> Optional[JobStatus]: ... + @webmethod(route="/eval/tasks/{task_id}/jobs/{job_id}", method="GET") + async def job_status(self, task_id: str, job_id: str) -> Optional[JobStatus]: ... - @webmethod(route="/eval/jobs/cancel", method="POST") - async def job_cancel(self, job_id: str, task_id: str) -> None: ... + @webmethod(route="/eval/tasks/{task_id}/jobs/{job_id}", method="DELETE") + async def job_cancel(self, task_id: str, job_id: str) -> None: ... - @webmethod(route="/eval/jobs/{job_id}/result", method="GET") + @webmethod(route="/eval/tasks/{task_id}/jobs/{job_id}/result", method="GET") async def job_result(self, job_id: str, task_id: str) -> EvaluateResponse: ...