svsaurav95 commited on
Commit
edf07f6
Β·
verified Β·
1 Parent(s): 4d4ba02

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +15 -11
app.py CHANGED
@@ -95,7 +95,7 @@ def retrieve_relevant_docs(user_query, docs, index, bm25):
95
 
96
  return [docs[i] for i in combined_indices[:3]]
97
 
98
- def generate_response(user_query, company_ticker, mode, uploaded_file):
99
  try:
100
  if mode == "πŸ“„ PDF Upload Mode":
101
  docs, embeddings, index, bm25 = extract_and_embed_text(uploaded_file)
@@ -104,11 +104,11 @@ def generate_response(user_query, company_ticker, mode, uploaded_file):
104
 
105
  retrieved_docs = retrieve_relevant_docs(user_query, docs, index, bm25)
106
  context = "\n\n".join(retrieved_docs)
107
- prompt = f"Summarize the key financial insights from this document:\n\n{context}"
108
 
109
  elif mode == "🌍 Live Data Mode":
110
- financial_info = fetch_financial_data(company_ticker)
111
- prompt = f"Analyze the financial status of {company_ticker} based on:\n{financial_info}\n\nUser Query: {user_query}"
112
  else:
113
  return "Invalid mode selected."
114
 
@@ -137,25 +137,29 @@ with col2:
137
  st.markdown("### πŸ”Ž **Enter Your Query**")
138
  user_query = st.text_input("πŸ’¬ What financial insights are you looking for?")
139
 
 
140
  if mode == "πŸ“„ PDF Upload Mode":
141
  st.markdown("### πŸ“‚ Upload Your Financial Report")
142
  uploaded_file = st.file_uploader("πŸ”Ό Upload PDF (Only for PDF Mode)", type=["pdf"])
143
- company_ticker = None
 
144
  else:
145
  st.markdown("### 🌍 Live Market Data")
146
- company_ticker = st.text_input("🏒 Enter Company Ticker Symbol", placeholder="e.g., AAPL, MSFT")
147
  uploaded_file = None
 
148
 
149
  if st.button("πŸš€ Analyze Now"):
150
- if mode == "πŸ“„ PDF Upload Mode" and not uploaded_file:
151
- st.error("❌ Please upload a PDF file.")
152
- elif mode == "🌍 Live Data Mode" and not company_ticker:
153
- st.error("❌ Please enter a valid company ticker symbol.")
154
  else:
155
  with st.spinner("πŸ” Your Query is Processing, this can take up to 5 - 7 minutes ⏳"):
156
- response = generate_response(user_query, company_ticker, mode, uploaded_file)
157
  st.markdown("---")
158
  st.markdown("<h3 style='color: #4CAF50;'>πŸ’‘ AI Response</h3>", unsafe_allow_html=True)
159
  st.write(response)
160
 
161
  st.markdown("---")
 
 
95
 
96
  return [docs[i] for i in combined_indices[:3]]
97
 
98
+ def generate_response(user_query, pdf_ticker, ai_ticker, mode, uploaded_file):
99
  try:
100
  if mode == "πŸ“„ PDF Upload Mode":
101
  docs, embeddings, index, bm25 = extract_and_embed_text(uploaded_file)
 
104
 
105
  retrieved_docs = retrieve_relevant_docs(user_query, docs, index, bm25)
106
  context = "\n\n".join(retrieved_docs)
107
+ prompt = f"Summarize the key financial insights for {pdf_ticker} from this document:\n\n{context}"
108
 
109
  elif mode == "🌍 Live Data Mode":
110
+ financial_info = fetch_financial_data(ai_ticker)
111
+ prompt = f"Analyze the financial status of {ai_ticker} based on:\n{financial_info}\n\nUser Query: {user_query}"
112
  else:
113
  return "Invalid mode selected."
114
 
 
137
  st.markdown("### πŸ”Ž **Enter Your Query**")
138
  user_query = st.text_input("πŸ’¬ What financial insights are you looking for?")
139
 
140
+ st.markdown("---")
141
  if mode == "πŸ“„ PDF Upload Mode":
142
  st.markdown("### πŸ“‚ Upload Your Financial Report")
143
  uploaded_file = st.file_uploader("πŸ”Ό Upload PDF (Only for PDF Mode)", type=["pdf"])
144
+ pdf_ticker = st.text_input("🏒 Enter Company Ticker for PDF Insights", placeholder="e.g., INFY, TCS")
145
+ ai_ticker = None
146
  else:
147
  st.markdown("### 🌍 Live Market Data")
148
+ ai_ticker = st.text_input("🏒 Enter Company Ticker for AI Insights", placeholder="e.g., AAPL, MSFT")
149
  uploaded_file = None
150
+ pdf_ticker = None
151
 
152
  if st.button("πŸš€ Analyze Now"):
153
+ if mode == "πŸ“„ PDF Upload Mode" and (not uploaded_file or not pdf_ticker):
154
+ st.error("❌ Please upload a PDF and enter a company ticker for insights.")
155
+ elif mode == "🌍 Live Data Mode" and not ai_ticker:
156
+ st.error("❌ Please enter a valid company ticker for AI insights.")
157
  else:
158
  with st.spinner("πŸ” Your Query is Processing, this can take up to 5 - 7 minutes ⏳"):
159
+ response = generate_response(user_query, pdf_ticker, ai_ticker, mode, uploaded_file)
160
  st.markdown("---")
161
  st.markdown("<h3 style='color: #4CAF50;'>πŸ’‘ AI Response</h3>", unsafe_allow_html=True)
162
  st.write(response)
163
 
164
  st.markdown("---")
165
+