NaimaAqeel commited on
Commit
d1c1284
·
verified ·
1 Parent(s): ec0cc7d

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +11 -6
app.py CHANGED
@@ -48,6 +48,11 @@ else:
48
  d = embedding_model.get_sentence_embedding_dimension() # Dimension of the embeddings
49
  faiss_index = faiss.IndexFlatL2(d) # Using IndexFlatL2 for simplicity
50
 
 
 
 
 
 
51
  def extract_text_from_pdf(pdf_path):
52
  text = ""
53
  try:
@@ -73,9 +78,8 @@ def preprocess_text(text):
73
  return sentences
74
 
75
  def upload_files(files):
 
76
  try:
77
- global faiss_index
78
-
79
  for file in files:
80
  try:
81
  file_path = file.name
@@ -90,6 +94,7 @@ def upload_files(files):
90
  embeddings = embedding_model.encode(sentences)
91
 
92
  faiss_index.add(np.array(embeddings).astype(np.float32)) # Add embeddings
 
93
 
94
  except Exception as e:
95
  print(f"Error processing file '{file.name}': {e}")
@@ -104,7 +109,8 @@ def upload_files(files):
104
  print(f"General error processing files: {e}")
105
  return {"error": str(e)}
106
 
107
- def process_and_query(state, files, question):
 
108
  if files:
109
  upload_result = upload_files(files)
110
  if "error" in upload_result:
@@ -139,13 +145,12 @@ with gr.Blocks() as demo:
139
  upload = gr.File(file_count="multiple", label="Upload PDF or DOCX files")
140
  upload_button = gr.Button("Upload")
141
  upload_output = gr.Textbox()
142
- upload_button.click(fn=upload_files, inputs=upload, outputs=upload_output)
143
 
144
  with gr.Tab("Query"):
145
  query = gr.Textbox(label="Enter your query")
146
  query_button = gr.Button("Search")
147
  query_output = gr.Textbox()
148
- query_button.click(fn=process_and_query, inputs=[query], outputs=query_output)
149
 
150
  demo.launch()
151
-
 
48
  d = embedding_model.get_sentence_embedding_dimension() # Dimension of the embeddings
49
  faiss_index = faiss.IndexFlatL2(d) # Using IndexFlatL2 for simplicity
50
 
51
+ state = {
52
+ "conversation": [],
53
+ "sentences": []
54
+ }
55
+
56
  def extract_text_from_pdf(pdf_path):
57
  text = ""
58
  try:
 
78
  return sentences
79
 
80
  def upload_files(files):
81
+ global state, faiss_index
82
  try:
 
 
83
  for file in files:
84
  try:
85
  file_path = file.name
 
94
  embeddings = embedding_model.encode(sentences)
95
 
96
  faiss_index.add(np.array(embeddings).astype(np.float32)) # Add embeddings
97
+ state["sentences"].extend(sentences)
98
 
99
  except Exception as e:
100
  print(f"Error processing file '{file.name}': {e}")
 
109
  print(f"General error processing files: {e}")
110
  return {"error": str(e)}
111
 
112
+ def process_and_query(files, question):
113
+ global state
114
  if files:
115
  upload_result = upload_files(files)
116
  if "error" in upload_result:
 
145
  upload = gr.File(file_count="multiple", label="Upload PDF or DOCX files")
146
  upload_button = gr.Button("Upload")
147
  upload_output = gr.Textbox()
148
+ upload_button.click(fn=upload_files, inputs=[upload], outputs=upload_output)
149
 
150
  with gr.Tab("Query"):
151
  query = gr.Textbox(label="Enter your query")
152
  query_button = gr.Button("Search")
153
  query_output = gr.Textbox()
154
+ query_button.click(fn=process_and_query, inputs=[upload, query], outputs=query_output)
155
 
156
  demo.launch()