Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -23,6 +23,45 @@ from sentence_transformers import SentenceTransformer #import model
|
|
23 |
|
24 |
embedder = SentenceTransformer("nomic-ai/nomic-embed-text-v1.5",trust_remote_code=True)
|
25 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
26 |
import gradio as gr
|
27 |
import json
|
28 |
|
|
|
23 |
|
24 |
embedder = SentenceTransformer("nomic-ai/nomic-embed-text-v1.5",trust_remote_code=True)
|
25 |
|
26 |
+
def search(query):
|
27 |
+
# return the first 15 results ranked by similarity.
|
28 |
+
n = 15
|
29 |
+
|
30 |
+
# Embedding the query.
|
31 |
+
query_embedding = embedder.encode(query)
|
32 |
+
|
33 |
+
# Generate the similarity column.
|
34 |
+
df_with_embedding2["similarity"] = (df_with_embedding2.embedding_summary.apply(lambda x: cosine_similarity(x, query_embedding.reshape(768,-1)))+df_with_embedding2.embedding_reviews.apply(lambda x: cosine_similarity(x, query_embedding.reshape(768,-1))))/2
|
35 |
+
|
36 |
+
|
37 |
+
results = (
|
38 |
+
df_with_embedding2.sort_values("similarity", ascending=False)
|
39 |
+
.head(n))
|
40 |
+
|
41 |
+
resultlist = []
|
42 |
+
|
43 |
+
|
44 |
+
hlist = []
|
45 |
+
for r in results.index:
|
46 |
+
if results.hotel_name[r] not in hlist:
|
47 |
+
smalldf = results.loc[results.hotel_name == results.hotel_name[r]]
|
48 |
+
if smalldf.shape[1] > 3:
|
49 |
+
smalldf = smalldf[:3]
|
50 |
+
|
51 |
+
resultlist.append(
|
52 |
+
{
|
53 |
+
"name":results.hotel_name[r],
|
54 |
+
"score": smalldf.similarity[r][0],
|
55 |
+
"rating": smalldf.rating_value[r],
|
56 |
+
"review_count": smalldf.review_count[r],
|
57 |
+
"street_address": smalldf.street_address[r],
|
58 |
+
"city": smalldf.locality[r],
|
59 |
+
"country": smalldf.country[r],
|
60 |
+
"hotel_image":smalldf.hotel_image[r]
|
61 |
+
})
|
62 |
+
hlist.append(results.hotel_name[r])
|
63 |
+
return resultlist
|
64 |
+
|
65 |
import gradio as gr
|
66 |
import json
|
67 |
|