From d1e9b3d8cfbdcfd7a0de6b340d7a18eb60234251 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nielson=20Jann=C3=A9?= Date: Fri, 28 Mar 2025 15:08:06 +0100 Subject: [PATCH] pretty up source printing in chainlit --- generic_rag/app.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/generic_rag/app.py b/generic_rag/app.py index 1e7795f..274a7ac 100644 --- a/generic_rag/app.py +++ b/generic_rag/app.py @@ -100,22 +100,24 @@ async def process_response(message): response = graph.invoke(message.content, config=config) - await chainlit_response.stream_token(f"{response}\n\n") + await chainlit_response.stream_token(f"{response}\n") pdf_sources = graph.get_last_pdf_sources() if len(pdf_sources) > 0: - await chainlit_response.stream_token("The following PDF source were consulted:\n") + await chainlit_response.stream_token("\nThe following PDF source were consulted:\n") for source, page_numbers in pdf_sources.items(): page_numbers = list(page_numbers) page_numbers.sort() # display="side" seems to be not supported by chainlit for PDF's, so we use "inline" instead. chainlit_response.elements.append(cl.Pdf(name="pdf", display="inline", path=source, page=page_numbers[0])) await chainlit_response.update() - await chainlit_response.stream_token(f"'{source}' on page(s): {page_numbers}\n") + await chainlit_response.stream_token(f"- '{source}' on page(s): {page_numbers}\n") web_sources = graph.get_last_web_sources() if len(web_sources) > 0: - await chainlit_response.stream_token(f"The following web sources were consulted: {web_sources}\n") + await chainlit_response.stream_token("\nThe following web sources were consulted:\n") + for source in web_sources: + await chainlit_response.stream_token(f"- {source}\n") await chainlit_response.send()