Xia commited on
Commit
c891946
·
1 Parent(s): a0f8d56

1st version

Browse files
Files changed (4) hide show
  1. .gitattributes +1 -0
  2. RAMEmbeddings.csv +3 -0
  3. app4.py +24 -0
  4. searchEmbeddings.py +49 -0
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ RAMEmbeddings.csv filter=lfs diff=lfs merge=lfs -text
RAMEmbeddings.csv ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:d6959cd0292204993b7c78133b2c7912b096c6f6b72239b11c7a6fdb5787f031
3
+ size 844524643
app4.py ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Fri Jun 16 23:31:34 2023
4
+
5
+ @author: Hua
6
+ """
7
+
8
+ import gradio as gr
9
+
10
+ from searchEmbeddings import search
11
+
12
+ def searchEMA(inputs):
13
+ results = search(inputs)
14
+ outputs = f"(1) {results['Author Full Names'][4]} {results['Article Title'][4]} {results['Publication Year'][4]} \n [Abstract] {results['Abstract'][4]} \n(2) {results['Author Full Names'][3]} {results['Article Title'][3]} {results['Publication Year'][3]} \n [Abstract] {results['Abstract'][3]}"
15
+ return outputs
16
+
17
+ with gr.Blocks() as demo:
18
+ gr.Markdown("瑞聚医学数字化设计与制造平台1.0")
19
+ name = gr.Textbox(label = "Question", placeholder = "What is your problem?")
20
+ output = gr.Textbox(label = "Recommended solution")
21
+ greet_btn = gr.Button("Recommened solutions from ramGPT")
22
+ greet_btn.click(fn=searchEMA, inputs=name, outputs=output, api_name="searchEMA")
23
+
24
+ demo.launch(share=True, auth=("admin", "ramGPT"))
searchEmbeddings.py ADDED
@@ -0,0 +1,49 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # -*- coding: utf-8 -*-
2
+ """
3
+ Created on Wed Apr 19 14:45:37 2023
4
+
5
+ @author: Hua
6
+ """
7
+
8
+ import pandas as pd
9
+ import json
10
+ from sentence_transformers import SentenceTransformer
11
+ from sentence_transformers import util
12
+ import numpy as np
13
+
14
+
15
+ df = pd.read_csv('RAMEmbeddings.csv')
16
+
17
+ # load gpt2 embeddings
18
+ gpt2bds = df.GPT2Embeddings # get a pd.Series
19
+ gpt2list = [np.float32(np.array(json.loads(i))) for i in gpt2bds] # list of embeddings
20
+
21
+ # define the search function
22
+ def search(inputs):
23
+ # GPT2 embedding
24
+ gpt2_model = SentenceTransformer('sembeddings/model_gpt_trained')
25
+ embeddings = gpt2_model.encode(inputs)
26
+
27
+ # calculate the similarity list to a given embedding
28
+ sims = []
29
+ for i in range(len(gpt2list)):
30
+ sim = util.pytorch_cos_sim(embeddings, gpt2list[i])
31
+ sims.append(sim.item())
32
+
33
+ # find the top-5 similarity items
34
+ sims_arr = np.array(sims, dtype=object)
35
+ inds = np.argpartition(sims_arr, -5)[-5:]
36
+
37
+ # return top 5 items
38
+ return df.loc[inds].reset_index(drop=True)
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+
47
+
48
+
49
+