aquibmoin commited on
Commit
d008f91
1 Parent(s): b5d8a7a

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +21 -9
app.py CHANGED
@@ -15,14 +15,26 @@ def query_similarity(source_sentence, sentences):
15
  }
16
  }
17
  response = requests.post(API_URL, headers=headers, json=payload)
18
- return response.json()
 
 
 
 
 
19
 
20
- def format_output(response):
21
- results = sorted(response, key=lambda x: x['score'], reverse=True)
22
- formatted_results = []
23
- for item in results:
24
- formatted_results.append(f"Sentence: {item['sentence']}, Score: {item['score']:.4f}")
25
- return "\n".join(formatted_results)
 
 
 
 
 
 
 
26
 
27
  def split_into_chunks(text, chunk_size=100):
28
  sentences = re.split(r'(?<=[.!?]) +', text) # Split text into sentences
@@ -50,8 +62,8 @@ def semantic_search(query, file_path):
50
  with open(file_path, 'r', encoding='utf-8') as file:
51
  document = file.read()
52
  chunks = split_into_chunks(document)
53
- response = query_similarity(query, chunks)
54
- return format_output(response)
55
  else:
56
  return "Please upload a .txt file."
57
 
 
15
  }
16
  }
17
  response = requests.post(API_URL, headers=headers, json=payload)
18
+
19
+ # Ensure response is JSON
20
+ try:
21
+ return response.json(), sentences
22
+ except json.JSONDecodeError:
23
+ return {"error": "Failed to decode JSON response"}, sentences
24
 
25
+ def format_output(response, sentences):
26
+ if isinstance(response, list):
27
+ # Pair each score with its corresponding sentence
28
+ results = list(zip(response, sentences))
29
+ # Sort results by score in descending order
30
+ results = sorted(results, key=lambda x: x[0], reverse=True)
31
+ # Format the output
32
+ formatted_results = []
33
+ for score, sentence in results:
34
+ formatted_results.append(f"Sentence: {sentence}, Score: {score:.4f}")
35
+ return "\n".join(formatted_results)
36
+ else:
37
+ return f"Unexpected response format: {response}"
38
 
39
  def split_into_chunks(text, chunk_size=100):
40
  sentences = re.split(r'(?<=[.!?]) +', text) # Split text into sentences
 
62
  with open(file_path, 'r', encoding='utf-8') as file:
63
  document = file.read()
64
  chunks = split_into_chunks(document)
65
+ response, sentences = query_similarity(query, chunks)
66
+ return format_output(response, sentences)
67
  else:
68
  return "Please upload a .txt file."
69