Spaces:
Build error
Build error
Update app.py
Browse files
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(
|
|
|
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()
|
|