From eb20b60b13edc2da4699765b44f9fef7259463b5 Mon Sep 17 00:00:00 2001 From: Kevin Hu Date: Mon, 26 Aug 2024 12:58:19 +0800 Subject: [PATCH] add inferface for message thumbup (#2091) ### What problem does this PR solve? #2088 ### Type of change - [x] New Feature (non-breaking change which adds functionality) --- api/apps/conversation_app.py | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/api/apps/conversation_app.py b/api/apps/conversation_app.py index b22937ada..5fd7c2692 100644 --- a/api/apps/conversation_app.py +++ b/api/apps/conversation_app.py @@ -178,7 +178,7 @@ def completion(): @manager.route('/delete_msg', methods=['POST']) @login_required @validate_request("conversation_id", "message_id") -def completion(): +def delete_msg(): req = request.json e, conv = ConversationService.get_by_id(req["conversation_id"]) if not e: @@ -196,3 +196,26 @@ def completion(): ConversationService.update_by_id(conv["id"], conv) return get_json_result(data=conv) + + +@manager.route('/thumbup', methods=['POST']) +@login_required +@validate_request("conversation_id", "message_id") +def thumbup(): + req = request.json + e, conv = ConversationService.get_by_id(req["conversation_id"]) + if not e: + return get_data_error_result(retmsg="Conversation not found!") + up_down = req.get("set") + feedback = req.get("feedback", "") + conv = conv.to_dict() + for i, msg in enumerate(conv["message"]): + if req["message_id"] == msg.get("id", "") and msg.get("role", "") == "assistant": + if up_down: msg["thumbup"] = True + else: + msg["thumbup"] = False + msg["feedback"] = feedback + break + + ConversationService.update_by_id(conv["id"], conv) + return get_json_result(data=conv) \ No newline at end of file