From d9acd03a858300bd69757fb96f83850a58243824 Mon Sep 17 00:00:00 2001 From: Yuhong Sun Date: Wed, 24 Apr 2024 20:35:26 -0700 Subject: [PATCH] Query History Include Feedback Text (#80) --- .../ee/danswer/server/query_history/api.py | 27 +++++++++++++------ .../query-history/QueryHistoryTable.tsx | 6 ++--- .../performance/query-history/[id]/page.tsx | 6 +++-- 3 files changed, 26 insertions(+), 13 deletions(-) diff --git a/backend/ee/danswer/server/query_history/api.py b/backend/ee/danswer/server/query_history/api.py index d4522114536f..2c268edaf084 100644 --- a/backend/ee/danswer/server/query_history/api.py +++ b/backend/ee/danswer/server/query_history/api.py @@ -39,7 +39,8 @@ class MessageSnapshot(BaseModel): message: str message_type: MessageType documents: list[AbridgedSearchDoc] - feedback: QAFeedbackType | None + feedback_type: QAFeedbackType | None + feedback_text: str | None time_created: datetime @classmethod @@ -49,7 +50,7 @@ class MessageSnapshot(BaseModel): if len(message.chat_message_feedbacks) > 0 else None ) - message_feedback = ( + feedback_type = ( ( QAFeedbackType.LIKE if latest_messages_feedback_obj.is_positive @@ -58,7 +59,11 @@ class MessageSnapshot(BaseModel): if latest_messages_feedback_obj else None ) - + feedback_text = ( + latest_messages_feedback_obj.feedback_text + if latest_messages_feedback_obj + else None + ) return cls( message=message.message, message_type=message.message_type, @@ -70,7 +75,8 @@ class MessageSnapshot(BaseModel): ) for document in message.search_docs ], - feedback=message_feedback, + feedback_type=feedback_type, + feedback_text=feedback_text, time_created=message.time_sent, ) @@ -88,7 +94,8 @@ class QuestionAnswerPairSnapshot(BaseModel): user_message: str ai_response: str retrieved_documents: list[AbridgedSearchDoc] - feedback: QAFeedbackType | None + feedback_type: QAFeedbackType | None + feedback_text: str | None persona_name: str user_email: str time_created: datetime @@ -112,7 +119,8 @@ class QuestionAnswerPairSnapshot(BaseModel): user_message=user_message.message, ai_response=ai_message.message, retrieved_documents=ai_message.documents, - feedback=ai_message.feedback, + feedback_type=ai_message.feedback_type, + feedback_text=ai_message.feedback_text, persona_name=chat_session_snapshot.persona_name, user_email=get_display_email(chat_session_snapshot.user_email), time_created=user_message.time_created, @@ -130,7 +138,8 @@ class QuestionAnswerPairSnapshot(BaseModel): for doc in self.retrieved_documents ] ), - "feedback": self.feedback.value if self.feedback else "", + "feedback_type": self.feedback_type.value if self.feedback_type else "", + "feedback_text": self.feedback_text or "", "persona_name": self.persona_name, "user_email": self.user_email, "time_created": str(self.time_created), @@ -161,7 +170,9 @@ def fetch_and_process_chat_session_history( valid_snapshots = [ snapshot for snapshot in valid_snapshots - if any(message.feedback == feedback_type for message in snapshot.messages) + if any( + message.feedback_type == feedback_type for message in snapshot.messages + ) ] return valid_snapshots diff --git a/web/src/app/ee/admin/performance/query-history/QueryHistoryTable.tsx b/web/src/app/ee/admin/performance/query-history/QueryHistoryTable.tsx index f8ae0197a07e..5cd2d3368039 100644 --- a/web/src/app/ee/admin/performance/query-history/QueryHistoryTable.tsx +++ b/web/src/app/ee/admin/performance/query-history/QueryHistoryTable.tsx @@ -33,10 +33,10 @@ function QueryHistoryTableRow({ }) { let finalFeedback: Feedback | "mixed" | null = null; for (const message of chatSessionSnapshot.messages) { - if (message.feedback) { + if (message.feedback_type) { if (finalFeedback === null) { - finalFeedback = message.feedback; - } else if (finalFeedback !== message.feedback) { + finalFeedback = message.feedback_type; + } else if (finalFeedback !== message.feedback_type) { finalFeedback = "mixed"; } } diff --git a/web/src/app/ee/admin/performance/query-history/[id]/page.tsx b/web/src/app/ee/admin/performance/query-history/[id]/page.tsx index 372b71db48fd..044030f5c1a5 100644 --- a/web/src/app/ee/admin/performance/query-history/[id]/page.tsx +++ b/web/src/app/ee/admin/performance/query-history/[id]/page.tsx @@ -41,9 +41,11 @@ function MessageDisplay({ message }: { message: MessageSnapshot }) { })} )} - {message.feedback && ( + {message.feedback_type && (
- + Feedback + {message.feedback_text && {message.feedback_text}} +
)}