Update scripts/router_chain.py
Browse files- scripts/router_chain.py +26 -5
scripts/router_chain.py
CHANGED
@@ -37,12 +37,33 @@ User request: {input}
|
|
37 |
chain = prompt | llm | StrOutputParser()
|
38 |
return {"result": chain.invoke({"input": input_dict["input"]})}
|
39 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
40 |
elif category == "summarize":
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
46 |
|
47 |
elif category == "calculate":
|
48 |
prompt = ChatPromptTemplate.from_template(
|
|
|
37 |
chain = prompt | llm | StrOutputParser()
|
38 |
return {"result": chain.invoke({"input": input_dict["input"]})}
|
39 |
|
40 |
+
# elif category == "summarize":
|
41 |
+
# prompt = ChatPromptTemplate.from_template(
|
42 |
+
# "Provide a concise summary about: {input}\nSummary:"
|
43 |
+
# )
|
44 |
+
# chain = prompt | llm | StrOutputParser()
|
45 |
+
# return {"result": chain.invoke({"input": input_dict["input"]})}
|
46 |
+
|
47 |
elif category == "summarize":
|
48 |
+
# 1. Use RAG to retrieve relevant docs
|
49 |
+
rag_result = general_qa({"query": input_dict["input"]})
|
50 |
+
|
51 |
+
# 2. Extract docs and prepare text
|
52 |
+
source_docs = rag_result.get("source_documents", [])
|
53 |
+
combined_text = "\n\n".join([doc.page_content for doc in source_docs])
|
54 |
+
|
55 |
+
# 3. Run the summarizer chain on the retrieved text
|
56 |
+
from scripts.summarizer import get_summarizer
|
57 |
+
summarizer_chain = get_summarizer()
|
58 |
+
summary = summarizer_chain.run(combined_text)
|
59 |
+
|
60 |
+
# 4. Add sources if any
|
61 |
+
sources = list({str(doc.metadata.get("source", "unknown")) for doc in source_docs})
|
62 |
+
if sources:
|
63 |
+
summary += f"\n\n📚 Sources: {', '.join(sources)}"
|
64 |
+
|
65 |
+
return {"result": summary}
|
66 |
+
|
67 |
|
68 |
elif category == "calculate":
|
69 |
prompt = ChatPromptTemplate.from_template(
|