Skip to content

Commit c323de5

Browse files
DeanChensjcopybara-github
authored andcommitted
chore: Group FastAPI endpoints with tags
PiperOrigin-RevId: 792816574
1 parent b4f1ebe commit c323de5

File tree

1 file changed

+20
-3
lines changed

1 file changed

+20
-3
lines changed

src/google/adk/cli/adk_web_server.py

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,9 @@
8787

8888
_EVAL_SET_FILE_EXTENSION = ".evalset.json"
8989

90+
TAG_DEBUG = "Debug"
91+
TAG_EVALUATION = "Evaluation"
92+
9093

9194
class ApiServerSpanExporter(export_lib.SpanExporter):
9295

@@ -352,14 +355,14 @@ async def internal_lifespan(app: FastAPI):
352355
def list_apps() -> list[str]:
353356
return self.agent_loader.list_agents()
354357

355-
@app.get("/debug/trace/{event_id}")
358+
@app.get("/debug/trace/{event_id}", tags=[TAG_DEBUG])
356359
def get_trace_dict(event_id: str) -> Any:
357360
event_dict = trace_dict.get(event_id, None)
358361
if event_dict is None:
359362
raise HTTPException(status_code=404, detail="Trace not found")
360363
return event_dict
361364

362-
@app.get("/debug/trace/session/{session_id}")
365+
@app.get("/debug/trace/session/{session_id}", tags=[TAG_DEBUG])
363366
def get_session_trace(session_id: str) -> Any:
364367
spans = memory_exporter.get_finished_spans(session_id)
365368
if not spans:
@@ -456,6 +459,7 @@ async def create_session(
456459
@app.post(
457460
"/apps/{app_name}/eval_sets/{eval_set_id}",
458461
response_model_exclude_none=True,
462+
tags=[TAG_EVALUATION],
459463
)
460464
def create_eval_set(
461465
app_name: str,
@@ -473,6 +477,7 @@ def create_eval_set(
473477
@app.get(
474478
"/apps/{app_name}/eval_sets",
475479
response_model_exclude_none=True,
480+
tags=[TAG_EVALUATION],
476481
)
477482
def list_eval_sets(app_name: str) -> list[str]:
478483
"""Lists all eval sets for the given app."""
@@ -485,6 +490,7 @@ def list_eval_sets(app_name: str) -> list[str]:
485490
@app.post(
486491
"/apps/{app_name}/eval_sets/{eval_set_id}/add_session",
487492
response_model_exclude_none=True,
493+
tags=[TAG_EVALUATION],
488494
)
489495
async def add_session_to_eval_set(
490496
app_name: str, eval_set_id: str, req: AddSessionToEvalSetRequest
@@ -524,6 +530,7 @@ async def add_session_to_eval_set(
524530
@app.get(
525531
"/apps/{app_name}/eval_sets/{eval_set_id}/evals",
526532
response_model_exclude_none=True,
533+
tags=[TAG_EVALUATION],
527534
)
528535
def list_evals_in_eval_set(
529536
app_name: str,
@@ -542,6 +549,7 @@ def list_evals_in_eval_set(
542549
@app.get(
543550
"/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}",
544551
response_model_exclude_none=True,
552+
tags=[TAG_EVALUATION],
545553
)
546554
def get_eval(
547555
app_name: str, eval_set_id: str, eval_case_id: str
@@ -564,6 +572,7 @@ def get_eval(
564572
@app.put(
565573
"/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}",
566574
response_model_exclude_none=True,
575+
tags=[TAG_EVALUATION],
567576
)
568577
def update_eval(
569578
app_name: str,
@@ -592,7 +601,10 @@ def update_eval(
592601
except NotFoundError as nfe:
593602
raise HTTPException(status_code=404, detail=str(nfe)) from nfe
594603

595-
@app.delete("/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}")
604+
@app.delete(
605+
"/apps/{app_name}/eval_sets/{eval_set_id}/evals/{eval_case_id}",
606+
tags=[TAG_EVALUATION],
607+
)
596608
def delete_eval(app_name: str, eval_set_id: str, eval_case_id: str):
597609
try:
598610
self.eval_sets_manager.delete_eval_case(
@@ -604,6 +616,7 @@ def delete_eval(app_name: str, eval_set_id: str, eval_case_id: str):
604616
@app.post(
605617
"/apps/{app_name}/eval_sets/{eval_set_id}/run_eval",
606618
response_model_exclude_none=True,
619+
tags=[TAG_EVALUATION],
607620
)
608621
async def run_eval(
609622
app_name: str, eval_set_id: str, req: RunEvalRequest
@@ -675,6 +688,7 @@ async def run_eval(
675688
@app.get(
676689
"/apps/{app_name}/eval_results/{eval_result_id}",
677690
response_model_exclude_none=True,
691+
tags=[TAG_EVALUATION],
678692
)
679693
def get_eval_result(
680694
app_name: str,
@@ -693,6 +707,7 @@ def get_eval_result(
693707
@app.get(
694708
"/apps/{app_name}/eval_results",
695709
response_model_exclude_none=True,
710+
tags=[TAG_EVALUATION],
696711
)
697712
def list_eval_results(app_name: str) -> list[str]:
698713
"""Lists all eval results for the given app."""
@@ -701,6 +716,7 @@ def list_eval_results(app_name: str) -> list[str]:
701716
@app.get(
702717
"/apps/{app_name}/eval_metrics",
703718
response_model_exclude_none=True,
719+
tags=[TAG_EVALUATION],
704720
)
705721
def list_eval_metrics(app_name: str) -> list[MetricInfo]:
706722
"""Lists all eval metrics for the given app."""
@@ -867,6 +883,7 @@ async def event_generator():
867883
@app.get(
868884
"/apps/{app_name}/users/{user_id}/sessions/{session_id}/events/{event_id}/graph",
869885
response_model_exclude_none=True,
886+
tags=[TAG_DEBUG],
870887
)
871888
async def get_event_graph(
872889
app_name: str, user_id: str, session_id: str, event_id: str

0 commit comments

Comments
 (0)