@@ -203,6 +203,10 @@ class CreateEvalSetRequest(common.BaseModel):
203
203
eval_set : EvalSet
204
204
205
205
206
+ class ListEvalSetsResponse (common .BaseModel ):
207
+ eval_set_ids : list [str ]
208
+
209
+
206
210
class AdkWebServer :
207
211
"""Helper class for setting up and running the ADK web server on FastAPI.
208
212
@@ -512,18 +516,38 @@ async def create_eval_set_legacy(
512
516
)
513
517
514
518
@app .get (
515
- "/apps/{app_name}/eval_sets " ,
519
+ "/apps/{app_name}/eval-sets " ,
516
520
response_model_exclude_none = True ,
517
521
tags = [TAG_EVALUATION ],
518
522
)
519
- async def list_eval_sets (app_name : str ) -> list [ str ] :
523
+ async def list_eval_sets (app_name : str ) -> ListEvalSetsResponse :
520
524
"""Lists all eval sets for the given app."""
525
+ eval_sets = []
521
526
try :
522
- return self .eval_sets_manager .list_eval_sets (app_name )
527
+ eval_sets = self .eval_sets_manager .list_eval_sets (app_name )
523
528
except NotFoundError as e :
524
529
logger .warning (e )
525
- return []
530
+
531
+ return ListEvalSetsResponse (eval_set_ids = eval_sets )
532
+
533
+ @deprecated (
534
+ "Please use list_eval_sets instead. This will be removed in future"
535
+ " releases."
536
+ )
537
+ @app .get (
538
+ "/apps/{app_name}/eval_sets" ,
539
+ response_model_exclude_none = True ,
540
+ tags = [TAG_EVALUATION ],
541
+ )
542
+ async def list_eval_sets_legacy (app_name : str ) -> list [str ]:
543
+ list_eval_sets_response = await list_eval_sets (app_name )
544
+ return list_eval_sets_response .eval_set_ids
526
545
546
+ @app .post (
547
+ "/apps/{app_name}/eval-sets/{eval_set_id}/add-session" ,
548
+ response_model_exclude_none = True ,
549
+ tags = [TAG_EVALUATION ],
550
+ )
527
551
@app .post (
528
552
"/apps/{app_name}/eval_sets/{eval_set_id}/add_session" ,
529
553
response_model_exclude_none = True ,
@@ -583,6 +607,11 @@ async def list_evals_in_eval_set(
583
607
584
608
return sorted ([x .eval_id for x in eval_set_data .eval_cases ])
585
609
610
+ @app .get (
611
+ "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}" ,
612
+ response_model_exclude_none = True ,
613
+ tags = [TAG_EVALUATION ],
614
+ )
586
615
@app .get (
587
616
"/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}" ,
588
617
response_model_exclude_none = True ,
@@ -606,6 +635,11 @@ async def get_eval(
606
635
),
607
636
)
608
637
638
+ @app .put (
639
+ "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}" ,
640
+ response_model_exclude_none = True ,
641
+ tags = [TAG_EVALUATION ],
642
+ )
609
643
@app .put (
610
644
"/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}" ,
611
645
response_model_exclude_none = True ,
@@ -638,6 +672,10 @@ async def update_eval(
638
672
except NotFoundError as nfe :
639
673
raise HTTPException (status_code = 404 , detail = str (nfe )) from nfe
640
674
675
+ @app .delete (
676
+ "/apps/{app_name}/eval-sets/{eval_set_id}/eval-cases/{eval_case_id}" ,
677
+ tags = [TAG_EVALUATION ],
678
+ )
641
679
@app .delete (
642
680
"/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}" ,
643
681
tags = [TAG_EVALUATION ],
0 commit comments