From 91d730a7bc9a5249d2d077b5921b77a22c4bb9b7 Mon Sep 17 00:00:00 2001 From: Siddhant Rai Date: Wed, 29 May 2024 19:07:08 +0530 Subject: [PATCH 1/2] feat: remote sources have clickable links --- application/retriever/classic_rag.py | 5 +++++ frontend/src/conversation/ConversationBubble.tsx | 10 ++++++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/application/retriever/classic_rag.py b/application/retriever/classic_rag.py index 3eb0f20..2b77db3 100644 --- a/application/retriever/classic_rag.py +++ b/application/retriever/classic_rag.py @@ -69,6 +69,11 @@ class ClassicRAG(BaseRetriever): else i.page_content ), "text": i.page_content, + "source": ( + i.metadata.get("source") + if i.metadata.get("source") + else "local" + ), } for i in docs_temp ] diff --git a/frontend/src/conversation/ConversationBubble.tsx b/frontend/src/conversation/ConversationBubble.tsx index 9877db6..aa9c4e3 100644 --- a/frontend/src/conversation/ConversationBubble.tsx +++ b/frontend/src/conversation/ConversationBubble.tsx @@ -22,7 +22,7 @@ const ConversationBubble = forwardRef< className?: string; feedback?: FEEDBACK; handleFeedback?: (feedback: FEEDBACK) => void; - sources?: { title: string; text: string }[]; + sources?: { title: string; text: string; source: string }[]; } >(function ConversationBubble( { message, type, className, feedback, handleFeedback, sources }, @@ -177,7 +177,13 @@ const ConversationBubble = forwardRef< : 'bg-[#D7EBFD] hover:bg-[#BFE1FF]' }`} onClick={() => - setOpenSource(openSource === index ? null : index) + source.source !== 'local' + ? window.open( + source.source, + '_blank', + 'noopener, noreferrer', + ) + : setOpenSource(openSource === index ? null : index) } >

Date: Thu, 30 May 2024 15:33:16 +0530 Subject: [PATCH 2/2] fix: type error --- frontend/src/conversation/conversationModels.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/frontend/src/conversation/conversationModels.ts b/frontend/src/conversation/conversationModels.ts index 9fbd443..347a252 100644 --- a/frontend/src/conversation/conversationModels.ts +++ b/frontend/src/conversation/conversationModels.ts @@ -17,7 +17,7 @@ export interface Answer { answer: string; query: string; result: string; - sources: { title: string; text: string }[]; + sources: { title: string; text: string; source: string }[]; conversationId: string | null; title: string | null; } @@ -27,7 +27,7 @@ export interface Query { response?: string; feedback?: FEEDBACK; error?: string; - sources?: { title: string; text: string }[]; + sources?: { title: string; text: string; source: string }[]; conversationId?: string | null; title?: string | null; }