med-bot / utils /upload_file.py
titanhacker's picture
Upload 10 files
7c4e3b0 verified
raw
history blame
1.61 kB
from utils.prepare_vectordb import PrepareVectorDB
from typing import List, Tuple
from utils.load_config import LoadConfig
APPCFG = LoadConfig()
class UploadFile:
"""
Utility class for handling file uploads and processing.
This class provides static methods for checking directories and processing uploaded files
to prepare a VectorDB.
"""
@staticmethod
def process_uploaded_files(files_dir: List, chatbot: List, rag_with_dropdown: str) -> Tuple:
"""
Process uploaded files to prepare a VectorDB.
Parameters:
files_dir (List): List of paths to the uploaded files.
chatbot: An instance of the chatbot for communication.
Returns:
Tuple: A tuple containing an empty string and the updated chatbot instance.
"""
if rag_with_dropdown == "Upload doc: Process for RAG":
prepare_vectordb_instance = PrepareVectorDB(data_directory=files_dir,
persist_directory=APPCFG.custom_persist_directory,
chunk_size=APPCFG.chunk_size,
chunk_overlap=APPCFG.chunk_overlap)
prepare_vectordb_instance.prepare_and_save_vectordb()
chatbot.append(
(" ", "Uploaded files are ready. Please ask your question"))
else:
chatbot.append(
(" ", "If you would like to upload a PDF, please select your desired action in 'rag_with' dropdown."))
return "", chatbot