Spaces:
Sleeping
Sleeping
File size: 1,249 Bytes
1f725d8 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | import logging
from src.MultiRag.models.rag_model import State
from src.MultiRag.utils.ingestion_utils import get_documents
from utils.asyncHandler import asyncHandler
from src.MultiRag.llm.llm_loader import llm
from langchain_core.messages import SystemMessage, HumanMessage
from langchain_core.output_parsers import StrOutputParser
from src.MultiRag.constants import TOP_K_KEYWORDS
from keybert import KeyBERT
kw_model = KeyBERT()
doc = """
Deep learning uses neural networks with multiple layers.
CNNs are widely used for image recognition.
"""
keywords = kw_model.extract_keywords(doc, top_n=5)
@asyncHandler
async def content_summerizer(state: State):
logging.info("Executing summarizer node...")
if not state.get('summary'):
logging.info("Summarizing content using LLM...")
summary_content = await get_documents(state['docs_path'])
summary_content=str(kw_model.extract_keywords(summary_content, top_n=TOP_K_KEYWORDS))
if not summary_content.strip():
logging.warning("No content found to summarize.")
return {"summary": "No content available."}
return {"summary": summary_content}
logging.info("Summary already exists in state.")
return state |