sahanes commited on
Commit
11f026a
1 Parent(s): 571b426

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +52 -3
app.py CHANGED
@@ -1,7 +1,56 @@
1
  import gradio as gr
 
 
2
 
3
- def greet(name):
4
- return "Hello " + name + "!!"
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5
 
6
- iface = gr.Interface(fn=greet, inputs="text", outputs="text")
7
  iface.launch()
 
1
  import gradio as gr
2
+ import pandas as pd
3
+ import tiktoken
4
 
5
+ import time
6
+ from sentence_transformers import SentenceTransformer
7
+
8
+
9
+ import os
10
+ import torch
11
+
12
+ from openai.embeddings_utils import get_embedding, cosine_similarity
13
+
14
+
15
+ df = pd.read_pickle('entire_data.pkl')
16
+ embedder = SentenceTransformer('all-mpnet-base-v2')
17
+
18
+ def search(query):
19
+ n = 15
20
+ query_embedding = embedder.encode(query)
21
+ df["similarity"] = df.embedding.apply(lambda x: cosine_similarity(x, query_embedding.reshape(768,-1)))
22
+
23
+ results = (
24
+ df.sort_values("similarity", ascending=False)
25
+ .head(n))
26
+
27
+ resultlist = []
28
+
29
+ hlist = []
30
+ for r in results.index:
31
+ if results.name[r] not in hlist:
32
+ smalldf = results.loc[results.name == results.name[r]]
33
+ smallarr = smalldf.similarity[r].max()
34
+ sm =smalldf.rating[r].mean()
35
+
36
+ if smalldf.shape[1] > 3:
37
+ smalldf = smalldf[:3]
38
+
39
+ resultlist.append(
40
+ {
41
+ "name":results.name[r],
42
+ "description":results.description[r],
43
+ "relevance score": smallarr.tolist(),
44
+ "rating": sm.tolist(),
45
+ "relevant_reviews": [ smalldf.text[s] for s in smalldf.index]
46
+ })
47
+ hlist.append(results.name[r])
48
+ return resultlist
49
+
50
+ def greet(query):
51
+ bm25 = search(query)
52
+ return bm25
53
+
54
+ iface = gr.Interface(fn=greet, inputs="text", outputs="json")
55
 
 
56
  iface.launch()