whoami02 commited on
Commit
46b35c4
·
verified ·
1 Parent(s): e75f31b

Upload gr.py

Browse files
Files changed (1) hide show
  1. gr.py +54 -0
gr.py ADDED
@@ -0,0 +1,54 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import gradio as gr
2
+ import re
3
+ import os
4
+ import numpy as np
5
+ from langchain_community.vectorstores import Chroma
6
+ from langchain_community.embeddings import HuggingFaceBgeEmbeddings
7
+ # from dotenv import load_dotenv, find_dotenv
8
+
9
+ # load_dotenv(find_dotenv(r"LLMs\.env"))
10
+ HUGGINGFACEHUB_API_TOKEN = os.environ["token"]
11
+
12
+ def clean_(l):
13
+ s = list(l)[0][1]
14
+ s = s.replace("\n", "=")
15
+ return re.split('=', s, maxsplit=1)[-1].strip()
16
+
17
+ def similarity_search2(vectordb, query, k, unique="True"):
18
+ print(f"\nQuery Key: {query}, \nrows requested:{k}\nUnique values:{unique}")
19
+ D = vectordb.similarity_search(query,k)
20
+ temp = []
21
+ for d in D:
22
+ temp.append(clean_(d))
23
+ del D
24
+ if unique == "True":
25
+ return str(np.unique(np.array(temp)))[1:-1]
26
+ else:
27
+ return str(np.array(temp))[1:-1]
28
+
29
+ with gr.Blocks() as demo:
30
+ query = gr.Textbox(placeholder="your query", label="Query")
31
+ k = gr.Slider(10,1000,5, label="number of samples to check")
32
+ unique = gr.Radio(["True", "False"], label="Return Unique values")
33
+
34
+ with gr.Row():
35
+ btn = gr.Button("Submit")
36
+
37
+ def mmt_query(query, k, unique):
38
+ model_id = "BAAI/bge-large-en-v1.5"
39
+ model_kwargs = {"device": "cpu"}
40
+ embedding = HuggingFaceBgeEmbeddings(
41
+ model_name = model_id,
42
+ model_kwargs = model_kwargs,
43
+ encode_kwargs = {'normalize_embeddings':True}
44
+ )
45
+ persist_directory = r"data\VectorDB\db_book_mmt"
46
+ vectordb = Chroma(persist_directory=persist_directory, embedding_function=embedding)
47
+ return similarity_search2(vectordb, query, k, unique)
48
+
49
+ output = gr.Textbox()
50
+ btn.click(mmt_query, [query, k, unique], output)
51
+
52
+ # interface = gr.Interface(fn=auto_eda, inputs="dataframe", outputs="json")
53
+ # demo.queue()
54
+ demo.launch()