Mya-Mya commited on
Commit
fd4ac87
·
1 Parent(s): cf354bd

Create localtest.py

Browse files
Files changed (1) hide show
  1. localtest.py +35 -0
localtest.py ADDED
@@ -0,0 +1,35 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from backend import Backend
2
+ import frontend
3
+ import numpy as np
4
+ from pandas import DataFrame
5
+ import pickle
6
+
7
+ with open("./himitsudogu_db.pkl", "rb") as file:
8
+ himitsudogu_db: dict = pickle.load(file)
9
+
10
+ class LocaltestBackend(Backend):
11
+ """
12
+ ローカル開発環境にSentence BERTを連れ込んでくるのは無理なので、
13
+ 文章をベクトル化する行程は乱数発生とする。
14
+ """
15
+
16
+ def __init__(self):
17
+ super().__init__()
18
+ self.feature_matrix = himitsudogu_db["feature_matrix_s"][
19
+ "sonoisa/sentence-bert-base-ja-mean-tokens-v2"
20
+ ]
21
+
22
+ def on_submit_button_press(self, query: str) -> DataFrame:
23
+ query_feature_vector = np.random.random((768,))
24
+ cs_s = self.feature_matrix @ query_feature_vector
25
+ ranked_index_s = np.argsort(cs_s)[::-1]
26
+ output = DataFrame(columns=["類似度", "名前", "説明"])
27
+ for rank, i in enumerate(ranked_index_s[:20], 1):
28
+ output.loc[rank] = [
29
+ cs_s[i],
30
+ himitsudogu_db["name_s"][i],
31
+ himitsudogu_db["description_s"][i],
32
+ ]
33
+ return output
34
+
35
+ frontend.launch_frontend(backend=LocaltestBackend())