cb1716pics commited on
Commit
e6167f8
·
verified ·
1 Parent(s): 1893da3

Upload 2 files

Browse files
Files changed (2) hide show
  1. app.py +19 -4
  2. data_processing.py +15 -13
app.py CHANGED
@@ -9,6 +9,19 @@ import matplotlib.pyplot as plt
9
  # Page Title
10
  st.title("RAG7 - Real World RAG System")
11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
12
  # global retrieved_documents
13
  # retrieved_documents = []
14
 
@@ -80,10 +93,11 @@ recent_questions = load_recent_questions()
80
  # ax.legend()
81
  # st.sidebar.pyplot(fig)
82
  if recent_questions and "questions" in recent_questions and recent_questions["questions"]:
 
83
  st.sidebar.title("Analytics")
84
 
85
  # Extract response times and labels
86
- response_time = [q["response_time"] for q in recent_questions["questions"]]
87
  labels = [f"Q{i+1}" for i in range(len(response_time))]
88
 
89
  # Plot graph
@@ -100,7 +114,7 @@ if recent_questions and "questions" in recent_questions and recent_questions["qu
100
 
101
  # Display Recent Questions
102
  st.sidebar.title("Recent Questions")
103
- for q in reversed(recent_questions["questions"]): # Show latest first
104
  st.sidebar.write(f"🔹 {q['question']}")
105
  else:
106
  st.sidebar.write("No recent questions")
@@ -147,11 +161,12 @@ col1, col2 = st.columns([1, 3]) # Creating two columns for button and metrics d
147
 
148
  # Calculate Metrics Button
149
  with col1:
150
- if st.button("Show Metrics"):
151
  st.session_state.metrics = calculate_metrics(question, st.session_state.query_dataset, st.session_state.response, st.session_state.retrieved_documents, st.session_state.time_taken_for_response)
152
  else:
153
  metrics_ = {}
154
 
155
  with col2:
156
  #st.text_area("Metrics:", value=metrics, height=100, disabled=True)
157
- st.json(st.session_state.metrics)
 
 
9
  # Page Title
10
  st.title("RAG7 - Real World RAG System")
11
 
12
+ st.markdown(
13
+ """
14
+ <style>
15
+ .stTextArea textarea {
16
+ background-color: white !important;
17
+ color: black !important;
18
+ font-weight: bold;
19
+ }
20
+ </style>
21
+ """,
22
+ unsafe_allow_html=True
23
+ )
24
+
25
  # global retrieved_documents
26
  # retrieved_documents = []
27
 
 
93
  # ax.legend()
94
  # st.sidebar.pyplot(fig)
95
  if recent_questions and "questions" in recent_questions and recent_questions["questions"]:
96
+ recent_qns = list(reversed(recent_questions["questions"]))
97
  st.sidebar.title("Analytics")
98
 
99
  # Extract response times and labels
100
+ response_time = [q["response_time"] for q in recent_qns]
101
  labels = [f"Q{i+1}" for i in range(len(response_time))]
102
 
103
  # Plot graph
 
114
 
115
  # Display Recent Questions
116
  st.sidebar.title("Recent Questions")
117
+ for q in recent_qns: # Show latest first
118
  st.sidebar.write(f"🔹 {q['question']}")
119
  else:
120
  st.sidebar.write("No recent questions")
 
161
 
162
  # Calculate Metrics Button
163
  with col1:
164
+ if st.button("Show Metrics"):
165
  st.session_state.metrics = calculate_metrics(question, st.session_state.query_dataset, st.session_state.response, st.session_state.retrieved_documents, st.session_state.time_taken_for_response)
166
  else:
167
  metrics_ = {}
168
 
169
  with col2:
170
  #st.text_area("Metrics:", value=metrics, height=100, disabled=True)
171
+ st.json(st.session_state.metrics)
172
+
data_processing.py CHANGED
@@ -146,17 +146,19 @@ def load_recent_questions():
146
  def save_recent_question(question, response_time):
147
  data = load_recent_questions()
148
 
149
- data["questions"] = [q for q in data["questions"] if q["question"] != question]
150
-
151
- # Append new question & metrics
152
- data["questions"].append({
153
- "question": question,
154
- "response_time": response_time
155
- })
 
 
 
 
 
 
 
156
 
157
- # Keep only the last 5 questions
158
- data["questions"] = data["questions"][-5:]
159
-
160
- # Write back to file
161
- with open(RECENT_QUESTIONS_FILE, "w") as file:
162
- json.dump(data, file, indent=4)
 
146
  def save_recent_question(question, response_time):
147
  data = load_recent_questions()
148
 
149
+ #data["questions"] = [q for q in data["questions"] if q["question"] != question]
150
+ if "question" in data["questions"] and question not in data["questions"]["question"]:
151
+ # Append new question & metrics
152
+ data["questions"].append({
153
+ "question": question,
154
+ "response_time": response_time
155
+ })
156
+
157
+ # Keep only the last 5 questions
158
+ data["questions"] = data["questions"][-5:]
159
+
160
+ # Write back to file
161
+ with open(RECENT_QUESTIONS_FILE, "w") as file:
162
+ json.dump(data, file, indent=4)
163
 
164
+