DrishtiSharma commited on
Commit
c87c2a7
Β·
verified Β·
1 Parent(s): 4dc4073

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +9 -35
app.py CHANGED
@@ -56,7 +56,7 @@ if pdf_source == "Upload a PDF file":
56
  elif pdf_source == "Enter a PDF URL":
57
  pdf_url = st.text_input("Enter PDF URL:", value="https://arxiv.org/pdf/2406.06998", key="pdf_url")
58
 
59
- # Button to manually trigger the download
60
  if st.button("Download and Process PDF") or pdf_url.strip() != "" and st.session_state.get("pdf_path") is None:
61
  with st.spinner("Downloading PDF..."):
62
  try:
@@ -198,14 +198,10 @@ if query:
198
 
199
  QUERY:
200
  {retriever_query}
201
- You MUST respond in valid JSON format only.
202
- DO NOT add any explanations, thoughts, or text outside the JSON.
203
- ### **Example JSON Format**
204
- ```json
205
- [
206
- {"content": 1, "score": 0, "reasoning": "The content is relevant."},
207
- {"content": 2, "score": 1, "reasoning": "The content is irrelevant."}
208
- ]
209
  """
210
 
211
  context_relevancy_checker_prompt = PromptTemplate(input_variables=["retriever_query","context"],template=relevancy_prompt)
@@ -265,28 +261,6 @@ if query:
265
  context_relevancy_evaluation_chain = LLMChain(llm=llm_judge, prompt=context_relevancy_checker_prompt, output_key="relevancy_response")
266
 
267
  response_crisis = context_relevancy_evaluation_chain.invoke({"context":context,"retriever_query":query})
268
-
269
- # Debug Raw LLM Output
270
- st.write("πŸ› οΈ Debugging: Raw LLM Response for Relevancy:", response_crisis['relevancy_response'])
271
-
272
- # Extract raw JSON response
273
- raw_response = response_crisis['relevancy_response']
274
-
275
- # Sanitize the response by removing `<think>` or unwanted text
276
- if "<think>" in raw_response:
277
- raw_response = raw_response.split("<think>")[-1] # Keep only JSON part
278
- if "</think>" in raw_response:
279
- raw_response = raw_response.split("</think>")[0] # Remove trailing text
280
-
281
- # Try parsing the JSON safely
282
- try:
283
- relevancy_response = json.loads(raw_response)
284
- st.write("βœ… Successfully parsed JSON:", relevancy_response) # Debugging output
285
- except json.JSONDecodeError as e:
286
- st.error(f"❌ Failed to parse JSON: {e}")
287
- st.write("πŸ” Raw LLM Response Before Parsing:", raw_response) # Debugging output
288
- relevancy_response = None # Prevent breaking the pipeline
289
-
290
 
291
  pick_relevant_context_chain = LLMChain(llm=llm_judge, prompt=relevant_prompt, output_key="context_number")
292
 
@@ -312,13 +286,13 @@ if query:
312
  final_output = context_management_chain({"context":context,"retriever_query":query,"query":query})
313
 
314
  st.subheader('final_output["relevancy_response"]')
315
- st.write(final_output["relevancy_response"] )
316
 
317
  st.subheader('final_output["context_number"]')
318
- st.write(final_output["context_number"])
319
 
320
  st.subheader('final_output["relevant_contexts"]')
321
- st.write(final_output["relevant_contexts"])
322
 
323
  st.subheader('final_output["final_response"]')
324
- st.write(final_output["final_response"])
 
56
  elif pdf_source == "Enter a PDF URL":
57
  pdf_url = st.text_input("Enter PDF URL:", value="https://arxiv.org/pdf/2406.06998", key="pdf_url")
58
 
59
+ # βœ… Button to manually trigger the download
60
  if st.button("Download and Process PDF") or pdf_url.strip() != "" and st.session_state.get("pdf_path") is None:
61
  with st.spinner("Downloading PDF..."):
62
  try:
 
198
 
199
  QUERY:
200
  {retriever_query}
201
+ Provide your verdict in JSON format with a single key 'score' and no preamble or explanation:
202
+ [{{"content:1,"score": <your score either 0 or 1>,"Reasoning":<why you have chose the score as 0 or 1>}},
203
+ {{"content:2,"score": <your score either 0 or 1>,"Reasoning":<why you have chose the score as 0 or 1>}},
204
+ ...]
 
 
 
 
205
  """
206
 
207
  context_relevancy_checker_prompt = PromptTemplate(input_variables=["retriever_query","context"],template=relevancy_prompt)
 
261
  context_relevancy_evaluation_chain = LLMChain(llm=llm_judge, prompt=context_relevancy_checker_prompt, output_key="relevancy_response")
262
 
263
  response_crisis = context_relevancy_evaluation_chain.invoke({"context":context,"retriever_query":query})
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
264
 
265
  pick_relevant_context_chain = LLMChain(llm=llm_judge, prompt=relevant_prompt, output_key="context_number")
266
 
 
286
  final_output = context_management_chain({"context":context,"retriever_query":query,"query":query})
287
 
288
  st.subheader('final_output["relevancy_response"]')
289
+ st.json(final_output["relevancy_response"] )
290
 
291
  st.subheader('final_output["context_number"]')
292
+ st.json(final_output["context_number"])
293
 
294
  st.subheader('final_output["relevant_contexts"]')
295
+ st.json(final_output["relevant_contexts"])
296
 
297
  st.subheader('final_output["final_response"]')
298
+ st.json(final_output["final_response"])