capradeepgujaran commited on
Commit
ea34aa6
1 Parent(s): 1b42b46

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +10 -2
app.py CHANGED
@@ -11,6 +11,8 @@ from llama_index.llms.openai import OpenAI
11
  from llama_index.core import get_response_synthesizer
12
  from dotenv import load_dotenv
13
  from sentence_transformers import SentenceTransformer, util
 
 
14
 
15
  # Set up logging configuration
16
  logging.basicConfig(level=logging.INFO, format='%(asctime)s | %(levelname)s | %(message)s')
@@ -128,7 +130,13 @@ def process_upload(api_key, files):
128
  def calculate_similarity(response, ground_truth):
129
  response_embedding = sentence_model.encode(response, convert_to_tensor=True)
130
  truth_embedding = sentence_model.encode(ground_truth, convert_to_tensor=True)
131
- similarity = util.pytorch_cos_sim(response_embedding, truth_embedding).item()
 
 
 
 
 
 
132
  return similarity * 100 # Convert to percentage
133
 
134
  def query_app(query, model_name, use_similarity_check, openai_api_key):
@@ -229,4 +237,4 @@ def main():
229
  demo.launch()
230
 
231
  if __name__ == "__main__":
232
- main()
 
11
  from llama_index.core import get_response_synthesizer
12
  from dotenv import load_dotenv
13
  from sentence_transformers import SentenceTransformer, util
14
+ from sklearn.metrics.pairwise import cosine_similarity
15
+ import numpy as np
16
 
17
  # Set up logging configuration
18
  logging.basicConfig(level=logging.INFO, format='%(asctime)s | %(levelname)s | %(message)s')
 
130
  def calculate_similarity(response, ground_truth):
131
  response_embedding = sentence_model.encode(response, convert_to_tensor=True)
132
  truth_embedding = sentence_model.encode(ground_truth, convert_to_tensor=True)
133
+
134
+ # Normalize the embeddings
135
+ response_embedding = response_embedding / np.linalg.norm(response_embedding)
136
+ truth_embedding = truth_embedding / np.linalg.norm(truth_embedding)
137
+
138
+ # Calculate cosine similarity using sklearn's cosine_similarity function
139
+ similarity = cosine_similarity(response_embedding.reshape(1, -1), truth_embedding.reshape(1, -1))[0][0]
140
  return similarity * 100 # Convert to percentage
141
 
142
  def query_app(query, model_name, use_similarity_check, openai_api_key):
 
237
  demo.launch()
238
 
239
  if __name__ == "__main__":
240
+ main()