From 53c1ca64b7205d85f6de06bd69e3e265d15546b8 Mon Sep 17 00:00:00 2001 From: Timothy Jaeryang Baek Date: Sun, 21 Dec 2025 15:33:06 +0400 Subject: [PATCH] enh: feedback ids endpoint --- backend/open_webui/models/feedbacks.py | 7 +++++++ backend/open_webui/routers/evaluations.py | 9 ++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/backend/open_webui/models/feedbacks.py b/backend/open_webui/models/feedbacks.py index 10bff0e217..39e22ff2d9 100644 --- a/backend/open_webui/models/feedbacks.py +++ b/backend/open_webui/models/feedbacks.py @@ -60,6 +60,13 @@ class FeedbackResponse(BaseModel): updated_at: int +class FeedbackIdResponse(BaseModel): + id: str + user_id: str + created_at: int + updated_at: int + + class RatingData(BaseModel): rating: Optional[str | int] = None model_id: Optional[str] = None diff --git a/backend/open_webui/routers/evaluations.py b/backend/open_webui/routers/evaluations.py index 3e5e14801c..cdcefe6ba7 100644 --- a/backend/open_webui/routers/evaluations.py +++ b/backend/open_webui/routers/evaluations.py @@ -4,6 +4,7 @@ from pydantic import BaseModel from open_webui.models.users import Users, UserModel from open_webui.models.feedbacks import ( + FeedbackIdResponse, FeedbackModel, FeedbackResponse, FeedbackForm, @@ -64,6 +65,12 @@ async def get_all_feedbacks(user=Depends(get_admin_user)): return feedbacks +@router.get("/feedbacks/all/ids", response_model=list[FeedbackIdResponse]) +async def get_all_feedback_ids(user=Depends(get_admin_user)): + feedbacks = Feedbacks.get_all_feedbacks() + return feedbacks + + @router.delete("/feedbacks/all") async def delete_all_feedbacks(user=Depends(get_admin_user)): success = Feedbacks.delete_all_feedbacks() @@ -71,7 +78,7 @@ async def delete_all_feedbacks(user=Depends(get_admin_user)): @router.get("/feedbacks/all/export", response_model=list[FeedbackModel]) -async def get_all_feedbacks(user=Depends(get_admin_user)): +async def export_all_feedbacks(user=Depends(get_admin_user)): feedbacks = Feedbacks.get_all_feedbacks() return feedbacks