Spaces:
Runtime error
Runtime error
Commit
·
dd115cf
1
Parent(s):
b64d852
Update app.py
Browse files
app.py
CHANGED
@@ -115,24 +115,24 @@ def load_model():
|
|
115 |
)
|
116 |
return llm
|
117 |
|
118 |
-
def load_document(
|
119 |
-
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
) -> Document:
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
-
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
|
137 |
def create_vector_database(loaded_documents):
|
138 |
# DB_DIR: str = os.path.join(ABS_PATH, "db")
|
@@ -351,78 +351,45 @@ def retrieve_bot_answer(query):
|
|
351 |
|
352 |
# from your_module import load_model, set_custom_prompt, set_custom_prompt_condense, create_vector_database, retrieve_bot_answer
|
353 |
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
-
#
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
-
#
|
362 |
-
|
363 |
-
|
364 |
-
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
|
370 |
-
|
371 |
-
|
372 |
-
|
373 |
-
|
374 |
-
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
#
|
379 |
-
|
380 |
-
|
381 |
-
|
382 |
-
|
383 |
-
|
384 |
-
|
385 |
-
|
386 |
-
#
|
387 |
-
|
388 |
-
|
389 |
-
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
app = GradiOApp(title="Docuverse")
|
395 |
-
|
396 |
-
# Upload files
|
397 |
-
uploaded_files = app.file_uploader("Upload your documents", types=["pdf", "md", "txt", "csv", "py", "epub", "html", "ppt", "pptx", "doc", "docx", "odt", "ipynb"], multiple=True)
|
398 |
-
|
399 |
-
if uploaded_files:
|
400 |
-
# Process uploaded files
|
401 |
-
for uploaded_file in uploaded_files:
|
402 |
-
print(f"Uploaded: {uploaded_file.name}")
|
403 |
-
print(f"Uploaded: {type(uploaded_file)}")
|
404 |
-
|
405 |
-
print("Chat with the Document:")
|
406 |
-
query = app.text_input("Ask a question:")
|
407 |
-
|
408 |
-
if app.button("Get Answer"):
|
409 |
-
if query:
|
410 |
-
# Load model, set prompts, create vector database, and retrieve answer
|
411 |
-
try:
|
412 |
-
llm = load_model()
|
413 |
-
prompt = set_custom_prompt()
|
414 |
-
CONDENSE_QUESTION_PROMPT = set_custom_prompt_condense()
|
415 |
-
loaded_documents = load_document(uploaded_files)
|
416 |
-
db = create_vector_database(loaded_documents)
|
417 |
-
response = retrieve_bot_answer(query)
|
418 |
-
|
419 |
-
# Display bot response
|
420 |
-
print("Bot Response:")
|
421 |
-
print(response)
|
422 |
-
except Exception as e:
|
423 |
-
print(f"An error occurred: {str(e)}")
|
424 |
-
else:
|
425 |
-
print("Please enter a question.")
|
426 |
|
427 |
if __name__ == "__main__":
|
428 |
-
|
|
|
115 |
)
|
116 |
return llm
|
117 |
|
118 |
+
# def load_document(
|
119 |
+
# # file_path: str,
|
120 |
+
# uploaded_files: list,
|
121 |
+
# mapping: dict = FILE_LOADER_MAPPING,
|
122 |
+
# default_loader: BaseLoader = UnstructuredFileLoader,
|
123 |
+
# ) -> Document:
|
124 |
+
# loaded_documents = []
|
125 |
+
# for uploaded_file in uploaded_files:
|
126 |
+
# # Choose loader from mapping, load default if no match found
|
127 |
+
# # ext = "." + uploaded_files.rsplit(".", 1)[-1]
|
128 |
+
# ext = os.path.splitext(uploaded_file.name)[-1][1:].lower()
|
129 |
+
# if ext in mapping:
|
130 |
+
# loader_class, loader_args = mapping[ext]
|
131 |
+
# loader = loader_class(uploaded_file, **loader_args)
|
132 |
+
# else:
|
133 |
+
# loader = default_loader(uploaded_file)
|
134 |
+
# loaded_documents.extend(loader.load())
|
135 |
+
# return loaded_documents
|
136 |
|
137 |
def create_vector_database(loaded_documents):
|
138 |
# DB_DIR: str = os.path.join(ABS_PATH, "db")
|
|
|
351 |
|
352 |
# from your_module import load_model, set_custom_prompt, set_custom_prompt_condense, create_vector_database, retrieve_bot_answer
|
353 |
|
354 |
+
def main():
|
355 |
+
st.title("Docuverse")
|
356 |
+
|
357 |
+
# Upload files
|
358 |
+
uploaded_files = st.file_uploader("Upload your documents", type=["pdf", "md", "txt", "csv", "py", "epub", "html", "ppt", "pptx", "doc", "docx", "odt", "ipynb"], accept_multiple_files=True)
|
359 |
+
|
360 |
+
if uploaded_files:
|
361 |
+
# Process uploaded files
|
362 |
+
for uploaded_file in uploaded_files:
|
363 |
+
st.write(f"Uploaded: {uploaded_file.name}")
|
364 |
+
st.write(f"Uploaded: {type(uploaded_file)}")
|
365 |
+
ext = os.path.splitext(uploaded_file.name)[-1][1:].lower()
|
366 |
+
if ext in FILE_LOADER_MAPPING:
|
367 |
+
loader_class, loader_args = FILE_LOADER_MAPPING[ext]
|
368 |
+
loader = loader_class(uploaded_file, **loader_args)
|
369 |
+
else:
|
370 |
+
loader = UnstructuredFileLoader(uploaded_file)
|
371 |
+
loaded_documents.extend(loader.load())
|
372 |
+
|
373 |
+
st.write("Chat with the Document:")
|
374 |
+
query = st.text_input("Ask a question:")
|
375 |
+
|
376 |
+
if st.button("Get Answer"):
|
377 |
+
if query:
|
378 |
+
# Load model, set prompts, create vector database, and retrieve answer
|
379 |
+
try:
|
380 |
+
llm = load_model()
|
381 |
+
prompt = set_custom_prompt()
|
382 |
+
CONDENSE_QUESTION_PROMPT = set_custom_prompt_condense()
|
383 |
+
db = create_vector_database(loaded_documents)
|
384 |
+
response = retrieve_bot_answer(query)
|
385 |
+
|
386 |
+
# Display bot response
|
387 |
+
st.write("Bot Response:")
|
388 |
+
st.write(response)
|
389 |
+
except Exception as e:
|
390 |
+
st.error(f"An error occurred: {str(e)}")
|
391 |
+
else:
|
392 |
+
st.warning("Please enter a question.")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
393 |
|
394 |
if __name__ == "__main__":
|
395 |
+
main()
|