Skip to content

Commit 906382b

Browse files
committed
Merge branch 'refactor/langchain_summarizer' into refactor/embedder
2 parents 9ec0044 + e3d3738 commit 906382b

14 files changed

Lines changed: 33 additions & 23 deletions

File tree

libs/admin-api-lib/src/admin_api_lib/dependency_container.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@
6666
from rag_core_lib.impl.settings.rag_class_types_settings import RAGClassTypeSettings
6767
from rag_core_lib.impl.settings.retry_decorator_settings import RetryDecoratorSettings
6868
from rag_core_lib.impl.settings.stackit_vllm_settings import StackitVllmSettings
69-
from rag_core_lib.impl.tracers.langfuse_traced_chain import LangfuseTracedGraph
69+
from rag_core_lib.impl.tracers.langfuse_traced_runnable import LangfuseTracedRunnable
7070
from rag_core_lib.impl.utils.async_threadsafe_semaphore import AsyncThreadsafeSemaphore
7171

7272

@@ -151,7 +151,7 @@ class DependencyContainer(DeclarativeContainer):
151151
summary_enhancer,
152152
)
153153
information_enhancer = Singleton(
154-
LangfuseTracedGraph,
154+
LangfuseTracedRunnable,
155155
inner_chain=untraced_information_enhancer,
156156
settings=langfuse_settings,
157157
)

libs/admin-api-lib/src/admin_api_lib/information_enhancer/information_enhancer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,13 @@
66
from langchain_core.documents import Document
77
from langchain_core.runnables import RunnableConfig
88

9-
from rag_core_lib.chains.async_chain import AsyncChain
9+
from rag_core_lib.runnables.async_runnable import AsyncRunnable
1010

1111
RetrieverInput = list[Document]
1212
RetrieverOutput = list[Document]
1313

1414

15-
class InformationEnhancer(AsyncChain[RetrieverInput, RetrieverOutput], ABC):
15+
class InformationEnhancer(AsyncRunnable[RetrieverInput, RetrieverOutput], ABC):
1616
"""The base class for an information enhancer."""
1717

1818
@abstractmethod

libs/admin-api-lib/src/admin_api_lib/summarizer/summarizer.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55

66
from langchain_core.runnables import RunnableConfig
77

8-
from rag_core_lib.chains.async_chain import AsyncChain
8+
from rag_core_lib.runnables.async_runnable import AsyncRunnable
99

1010
SummarizerInput = str
1111
SummarizerOutput = str
1212

1313

14-
class Summarizer(AsyncChain[SummarizerInput, SummarizerOutput], ABC):
14+
class Summarizer(AsyncRunnable[SummarizerInput, SummarizerOutput], ABC):
1515
"""Baseclass for summarizers."""
1616

1717
@abstractmethod

libs/extractor-api-lib/src/extractor_api_lib/impl/extractors/confluence_extractor.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
"""Module for the DefaultConfluenceExtractor class."""
22

3+
import logging
34
from langchain_community.document_loaders import ConfluenceLoader
45

56
from extractor_api_lib.impl.types.extractor_types import ExtractorTypes
@@ -10,6 +11,8 @@
1011
ConfluenceLangchainDocument2InformationPiece,
1112
)
1213

14+
logger = logging.getLogger(__name__)
15+
1316

1417
class ConfluenceExtractor(InformationExtractor):
1518
"""Implementation of the InformationExtractor interface for confluence."""
@@ -54,6 +57,13 @@ async def aextract_content(
5457
confluence_loader_parameters = {
5558
x.key: int(x.value) if x.value.isdigit() else x.value for x in extraction_parameters.kwargs
5659
}
60+
if not confluence_loader_parameters.get("max_pages") or isinstance(
61+
confluence_loader_parameters.get("max_pages"), str
62+
):
63+
logging.warning(
64+
"max_pages parameter is not set or invalid discarding it. ConfluenceLoader will use default value."
65+
)
66+
confluence_loader_parameters.pop("max_pages")
5767
# Drop the document_name parameter as it is not used by the ConfluenceLoader
5868
if "document_name" in confluence_loader_parameters:
5969
confluence_loader_parameters.pop("document_name", None)

libs/rag-core-api/src/rag_core_api/dependency_container.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@
6565
from rag_core_lib.impl.settings.rag_class_types_settings import RAGClassTypeSettings
6666
from rag_core_lib.impl.settings.retry_decorator_settings import RetryDecoratorSettings
6767
from rag_core_lib.impl.settings.stackit_vllm_settings import StackitVllmSettings
68-
from rag_core_lib.impl.tracers.langfuse_traced_chain import LangfuseTracedGraph
68+
from rag_core_lib.impl.tracers.langfuse_traced_runnable import LangfuseTracedRunnable
6969
from rag_core_lib.impl.utils.async_threadsafe_semaphore import AsyncThreadsafeSemaphore
7070

7171

@@ -220,7 +220,7 @@ class DependencyContainer(DeclarativeContainer):
220220

221221
# wrap graph in tracer
222222
traced_chat_graph = Singleton(
223-
LangfuseTracedGraph,
223+
LangfuseTracedRunnable,
224224
inner_chain=chat_graph,
225225
settings=langfuse_settings,
226226
)

libs/rag-core-api/src/rag_core_api/graph/graph_base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@
77
from langchain_core.runnables.utils import Input, Output
88
from langgraph.graph import StateGraph
99

10-
from rag_core_lib.chains.async_chain import AsyncChain
10+
from rag_core_lib.runnables.async_runnable import AsyncRunnable
1111

1212

13-
class GraphBase(AsyncChain[Input, Output], ABC):
13+
class GraphBase(AsyncRunnable[Input, Output], ABC):
1414
"""
1515
Base class for a langgraph graph.
1616

libs/rag-core-api/src/rag_core_api/impl/answer_generation_chains/answer_generation_chain.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
from langchain_core.output_parsers import StrOutputParser
88

99
from rag_core_api.impl.graph.graph_state.graph_state import AnswerGraphState
10-
from rag_core_lib.chains.async_chain import AsyncChain
10+
from rag_core_lib.runnables.async_runnable import AsyncRunnable
1111
from rag_core_lib.impl.langfuse_manager.langfuse_manager import LangfuseManager
1212

1313
RunnableInput = AnswerGraphState
1414
RunnableOutput = str
1515

1616

17-
class AnswerGenerationChain(AsyncChain[RunnableInput, RunnableOutput]):
17+
class AnswerGenerationChain(AsyncRunnable[RunnableInput, RunnableOutput]):
1818
"""Base class for LLM answer generation chain."""
1919

2020
def __init__(self, langfuse_manager: LangfuseManager):

libs/rag-core-api/src/rag_core_api/impl/answer_generation_chains/rephrasing_chain.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,14 @@
66
from langchain_core.runnables import Runnable, RunnableConfig
77

88
from rag_core_api.impl.graph.graph_state.graph_state import AnswerGraphState
9-
from rag_core_lib.chains.async_chain import AsyncChain
9+
from rag_core_lib.runnables.async_runnable import AsyncRunnable
1010
from rag_core_lib.impl.langfuse_manager.langfuse_manager import LangfuseManager
1111

1212
RunnableInput = AnswerGraphState
1313
RunnableOutput = str
1414

1515

16-
class RephrasingChain(AsyncChain[RunnableInput, RunnableOutput]):
16+
class RephrasingChain(AsyncRunnable[RunnableInput, RunnableOutput]):
1717
"""Base class for rephrasing of the input question."""
1818

1919
def __init__(self, langfuse_manager: LangfuseManager):

libs/rag-core-api/src/rag_core_api/impl/api_endpoints/default_chat.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,13 @@
55
from rag_core_api.api_endpoints.chat import Chat
66
from rag_core_api.models.chat_request import ChatRequest
77
from rag_core_api.models.chat_response import ChatResponse
8-
from rag_core_lib.tracers.traced_chain import TracedGraph
8+
from rag_core_lib.tracers.traced_runnable import TracedRunnable
99

1010

1111
class DefaultChat(Chat):
1212
"""DefaultChat is a class that handles chat interactions using a traced graph."""
1313

14-
def __init__(self, chat_graph: TracedGraph):
14+
def __init__(self, chat_graph: TracedRunnable):
1515
"""
1616
Initialize the DefaultChat instance.
1717

libs/rag-core-lib/src/rag_core_lib/impl/tracers/langfuse_traced_chain.py renamed to libs/rag-core-lib/src/rag_core_lib/impl/tracers/langfuse_traced_runnable.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,10 @@
66
from langfuse.langchain import CallbackHandler
77

88
from rag_core_lib.impl.settings.langfuse_settings import LangfuseSettings
9-
from rag_core_lib.tracers.traced_chain import TracedGraph
9+
from rag_core_lib.tracers.traced_runnable import TracedRunnable
1010

1111

12-
class LangfuseTracedGraph(TracedGraph):
12+
class LangfuseTracedRunnable(TracedRunnable):
1313
"""A class to trace the execution of a Runnable using Langfuse.
1414
1515
This class wraps an inner Runnable and adds tracing capabilities using the Langfuse tracer.

0 commit comments

Comments
 (0)