Kathirsci commited on
Commit
71a31cb
Β·
verified Β·
1 Parent(s): d8ce434

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +6 -46
app.py CHANGED
@@ -2,10 +2,9 @@ import streamlit as st
2
  import tempfile
3
  import logging
4
  from typing import List
5
- from langchain_community.document_loaders import PyPDFLoader
6
- from langchain_community.embeddings import HuggingFaceEmbeddings
7
- from langchain_community.vectorstores import FAISS
8
- from langchain_community.llms import HuggingFacePipeline
9
  from langchain.chains.summarize import load_summarize_chain
10
  from langchain.schema import Document
11
  from langchain.text_splitter import RecursiveCharacterTextSplitter
@@ -35,7 +34,7 @@ def load_llm(model_name):
35
  """Load and cache the language model."""
36
  try:
37
  pipe = pipeline("text2text-generation", model=model_name, max_length=512)
38
- return HuggingFacePipeline(pipeline=pipe)
39
  except Exception as e:
40
  logger.error(f"Failed to load LLM: {e}")
41
  st.error(f"Failed to load the model {model_name}. Please try again.")
@@ -71,46 +70,7 @@ def summarize_report(documents: List[Document], llm) -> str:
71
  """Summarize the report using the loaded model."""
72
  try:
73
  prompt_template = """
74
- You are an AI specialized in summarizing comprehensive reports with a focus on funding, finances, and global comparisons. Given the detailed report content below, generate a concise and structured summary using bullet points and emojis. The summary should highlight key funding figures, financial data, budget allocations, comparisons between regions, and notable insights about [FOCUS_REGION]'s role in the global context of [TOPIC].
75
-
76
- Report Content:
77
- {text}
78
-
79
- Your summary should follow this structure:
80
-
81
- Summary:
82
- πŸ’° [TOPIC] Overview for [FOCUS_REGION]:
83
-
84
- πŸ”΄ [FOCUS_REGION]'s Position in Global [TOPIC]:
85
- πŸ“ Total investment/funding: [amount]
86
- πŸ“ Breakdown of funding sources (e.g., government, private sector)
87
- πŸ“ [FOCUS_REGION]'s ranking in global investment
88
- πŸ“ Key statistics and figures
89
-
90
- πŸ”΄ Financial Impact and Projections:
91
- πŸ“ Expected ROI or economic benefits
92
- πŸ“ Financial milestones or targets
93
- πŸ“ Impact on relevant areas
94
-
95
- πŸ”΄ Global Comparison:
96
- πŸ“ [List of relevant countries/regions with their financial figures]
97
- πŸ“ Comparative analysis of [FOCUS_REGION] vs other major players
98
-
99
- πŸ”΄ Budget Analysis:
100
- πŸ“ Major budget items
101
- πŸ“ Key budget allocations
102
- πŸ“ Year-over-year budget changes
103
- πŸ“ Comparison to industry benchmarks
104
-
105
- πŸ”΄ Funding Strategies:
106
- πŸ“ Key funding mechanisms (e.g., grants, loans, public-private partnerships)
107
- πŸ“ Innovative financing approaches
108
-
109
- πŸ”΄ Progress and Significance:
110
- πŸ“ Key achievements or milestones
111
- πŸ“ [1-2 concluding points about [FOCUS_REGION]'s role or significance in [TOPIC]]
112
-
113
- Please ensure the summary is concise, informative, and easy to read at a glance. Use precise figures where available and highlight any significant financial trends or insights. The summary should provide a comprehensive overview of both the financial aspects and the broader context of [TOPIC] in [FOCUS_REGION].
114
  """
115
 
116
  prompt = PromptTemplate.from_template(prompt_template)
@@ -155,4 +115,4 @@ def main():
155
  st.warning("Failed to generate summary. Please try again.")
156
 
157
  if __name__ == "__main__":
158
- main()
 
2
  import tempfile
3
  import logging
4
  from typing import List
5
+ from langchain.document_loaders import PyPDFLoader # Updated import
6
+ from langchain.embeddings import HuggingFaceEmbeddings # Updated import
7
+ from langchain.vectorstores import FAISS # Updated import
 
8
  from langchain.chains.summarize import load_summarize_chain
9
  from langchain.schema import Document
10
  from langchain.text_splitter import RecursiveCharacterTextSplitter
 
34
  """Load and cache the language model."""
35
  try:
36
  pipe = pipeline("text2text-generation", model=model_name, max_length=512)
37
+ return pipe
38
  except Exception as e:
39
  logger.error(f"Failed to load LLM: {e}")
40
  st.error(f"Failed to load the model {model_name}. Please try again.")
 
70
  """Summarize the report using the loaded model."""
71
  try:
72
  prompt_template = """
73
+ You are an AI specialized in summarizing comprehensive reports with a focus on funding, finances, and global comparisons. Given the detailed report content below, generate a concise and structured summary using bullet points and emojis...
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
74
  """
75
 
76
  prompt = PromptTemplate.from_template(prompt_template)
 
115
  st.warning("Failed to generate summary. Please try again.")
116
 
117
  if __name__ == "__main__":
118
+ main()