capradeepgujaran
commited on
Commit
•
ea34aa6
1
Parent(s):
1b42b46
Update app.py
Browse files
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 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
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()
|