cryogenic22 commited on
Commit
cd64635
·
verified ·
1 Parent(s): 8326198

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -14
app.py CHANGED
@@ -3,18 +3,23 @@ from dotenv import load_dotenv
3
  import os
4
  from agents import create_research_crew
5
  from utils import process_crew_output, display_enhanced_report, update_progress
6
- from huggingface_hub import HfApi
7
- from huggingface_hub.inference._client import InferenceClient
8
 
9
  load_dotenv()
10
 
11
- st.set_page_config(
12
- page_title="Market Research Generator",
13
- page_icon="📊",
14
- layout="wide"
15
- )
 
 
 
 
 
 
16
 
17
- # Get API keys from Hugging Face secrets
18
  def get_api_keys():
19
  try:
20
  openai_key = st.secrets["OPENAI_API_KEY"]
@@ -24,11 +29,8 @@ def get_api_keys():
24
  st.error(f"Error loading API keys: {str(e)}")
25
  return None, None
26
 
27
- def init_session_state():
28
- if 'report' not in st.session_state:
29
- st.session_state.report = None
30
- if 'generating' not in st.session_state:
31
- st.session_state.generating = False
32
 
33
  def run_market_research(topic: str, questions: list, progress_container):
34
  try:
@@ -62,7 +64,7 @@ def main():
62
  os.environ["OPENAI_API_KEY"] = openai_key
63
  os.environ["SERPER_API_KEY"] = serper_key
64
 
65
- tab1, tab2 = st.tabs(["Generate Report", "View Report"])
66
 
67
  with tab1:
68
  topic = st.text_input("Market Research Topic",
@@ -84,6 +86,9 @@ def main():
84
  with st.spinner("Generating comprehensive report..."):
85
  st.session_state.generating = True
86
  try:
 
 
 
87
  report = run_market_research(
88
  topic=topic,
89
  questions=questions.split('\n'),
@@ -99,6 +104,19 @@ def main():
99
  if st.session_state.report:
100
  st.warning("⚠️ AI-generated report. Verify critical information independently.")
101
  display_enhanced_report(st.session_state.report)
 
 
 
 
 
 
 
 
 
 
 
 
 
102
 
103
  if __name__ == "__main__":
104
  main()
 
3
  import os
4
  from agents import create_research_crew
5
  from utils import process_crew_output, display_enhanced_report, update_progress
6
+ import queue
7
+ import threading
8
 
9
  load_dotenv()
10
 
11
+ # Initialize queue for logs
12
+ if 'log_queue' not in st.session_state:
13
+ st.session_state.log_queue = queue.Queue()
14
+
15
+ def init_session_state():
16
+ if 'report' not in st.session_state:
17
+ st.session_state.report = None
18
+ if 'generating' not in st.session_state:
19
+ st.session_state.generating = False
20
+ if 'logs' not in st.session_state:
21
+ st.session_state.logs = []
22
 
 
23
  def get_api_keys():
24
  try:
25
  openai_key = st.secrets["OPENAI_API_KEY"]
 
29
  st.error(f"Error loading API keys: {str(e)}")
30
  return None, None
31
 
32
+ def log_message(message):
33
+ st.session_state.log_queue.put(message)
 
 
 
34
 
35
  def run_market_research(topic: str, questions: list, progress_container):
36
  try:
 
64
  os.environ["OPENAI_API_KEY"] = openai_key
65
  os.environ["SERPER_API_KEY"] = serper_key
66
 
67
+ tab1, tab2, tab3 = st.tabs(["Generate Report", "View Report", "Live Logs"])
68
 
69
  with tab1:
70
  topic = st.text_input("Market Research Topic",
 
86
  with st.spinner("Generating comprehensive report..."):
87
  st.session_state.generating = True
88
  try:
89
+ # Clear previous logs
90
+ st.session_state.logs = []
91
+
92
  report = run_market_research(
93
  topic=topic,
94
  questions=questions.split('\n'),
 
104
  if st.session_state.report:
105
  st.warning("⚠️ AI-generated report. Verify critical information independently.")
106
  display_enhanced_report(st.session_state.report)
107
+
108
+ with tab3:
109
+ st.subheader("Live Generation Logs")
110
+ log_container = st.empty()
111
+
112
+ # Display logs
113
+ while not st.session_state.log_queue.empty():
114
+ log = st.session_state.log_queue.get()
115
+ st.session_state.logs.append(log)
116
+
117
+ # Show all logs
118
+ for log in st.session_state.logs:
119
+ log_container.markdown(log)
120
 
121
  if __name__ == "__main__":
122
  main()