From 65ec44a73adf4812edc4e45f939b60478ac6f077 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nielson=20Jann=C3=A9?= Date: Sun, 13 Apr 2025 14:30:09 +0200 Subject: [PATCH 1/3] Fix an import bug --- generic_rag/app.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/generic_rag/app.py b/generic_rag/app.py index 999b910..f08d014 100644 --- a/generic_rag/app.py +++ b/generic_rag/app.py @@ -5,12 +5,13 @@ import os from pathlib import Path import chainlit as cl -from backend.models import ChatBackend, EmbeddingBackend, get_chat_model, get_embedding_model from chainlit.cli import run_chainlit -from graphs.cond_ret_gen import CondRetGenLangGraph -from graphs.ret_gen import RetGenLangGraph from langchain_chroma import Chroma -from parsers.parser import add_pdf_files, add_urls + +from generic_rag.backend.models import ChatBackend, EmbeddingBackend, get_chat_model, get_embedding_model +from generic_rag.graphs.cond_ret_gen import CondRetGenLangGraph +from generic_rag.graphs.ret_gen import RetGenLangGraph +from generic_rag.parsers.parser import add_pdf_files, add_urls logging.basicConfig(level=logging.DEBUG) logger = logging.getLogger(__name__) From 47f574390ee388a3b0b4efdeaf4d9edf2e218b61 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nielson=20Jann=C3=A9?= Date: Sun, 13 Apr 2025 15:27:01 +0200 Subject: [PATCH 2/3] More logging fixes --- generic_rag/app.py | 4 ++-- generic_rag/graphs/cond_ret_gen.py | 2 +- generic_rag/graphs/ret_gen.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/generic_rag/app.py b/generic_rag/app.py index f08d014..f2e54ae 100644 --- a/generic_rag/app.py +++ b/generic_rag/app.py @@ -13,8 +13,8 @@ from generic_rag.graphs.cond_ret_gen import CondRetGenLangGraph from generic_rag.graphs.ret_gen import RetGenLangGraph from generic_rag.parsers.parser import add_pdf_files, add_urls -logging.basicConfig(level=logging.DEBUG) -logger = logging.getLogger(__name__) +logger = logging.getLogger("sogeti-rag") +logger.setLevel(logging.DEBUG) system_prompt = ( "You are an assistant for question-answering tasks. " diff --git a/generic_rag/graphs/cond_ret_gen.py b/generic_rag/graphs/cond_ret_gen.py index b2057be..2b155a0 100644 --- a/generic_rag/graphs/cond_ret_gen.py +++ b/generic_rag/graphs/cond_ret_gen.py @@ -16,7 +16,7 @@ from langgraph.graph import END, MessagesState, StateGraph from langgraph.prebuilt import InjectedStore, ToolNode, tools_condition from typing_extensions import Annotated -logger = logging.getLogger(__name__) +logger = logging.getLogger("sogeti-rag") class CondRetGenLangGraph: def __init__( diff --git a/generic_rag/graphs/ret_gen.py b/generic_rag/graphs/ret_gen.py index b293e03..6cdd4f2 100644 --- a/generic_rag/graphs/ret_gen.py +++ b/generic_rag/graphs/ret_gen.py @@ -12,7 +12,7 @@ from langgraph.checkpoint.memory import MemorySaver from langgraph.graph import END, START, StateGraph from typing_extensions import List, TypedDict -logger = logging.getLogger(__name__) +logger = logging.getLogger("sogeti-rag") class State(TypedDict): From 79c145073020c8ddddf1b37fff4fac95baabfea0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nielson=20Jann=C3=A9?= Date: Sun, 13 Apr 2025 15:27:21 +0200 Subject: [PATCH 3/3] Shows PDF to the side with a nice link --- generic_rag/app.py | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/generic_rag/app.py b/generic_rag/app.py index f2e54ae..50ee910 100644 --- a/generic_rag/app.py +++ b/generic_rag/app.py @@ -127,12 +127,9 @@ async def add_sources(chainlit_response: cl.Message, pdf_sources: dict, web_sour if len(pdf_sources) > 0: await chainlit_response.stream_token("\n\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") + filename = Path(source).name + await chainlit_response.stream_token(f"- {filename} on page(s): {sorted(page_numbers)}\n") + chainlit_response.elements.append(cl.Pdf(name=filename, display="side", path=source, page=sorted(page_numbers)[0])) if len(web_sources) > 0: await chainlit_response.stream_token("\n\nThe following web sources were consulted:\n")