Spaces:
No application file
No application file
File size: 2,152 Bytes
68db3f0 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | from utils.prepare_vectordb import PrepareVectorDB
from typing import List, Tuple
from utils.load_config import LoadConfig
from utils.summarizer import Summarizer
APPCFG = LoadConfig()
class UploadFile:
@staticmethod
def process_uploaded_files(files_dir: List, chatbot: List, rag_with_dropdown: str) -> Tuple:
if rag_with_dropdown == "Upload doc: Process for RAG":
prepare_vectordb_instance = PrepareVectorDB(data_directory=files_dir,
persist_directory=APPCFG.custom_persist_directory,
embedding_model_engine=APPCFG.embedding_model_engine,
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"))
elif rag_with_dropdown == "Upload doc: Give Full summary":
final_summary = Summarizer.summarize_the_pdf(file_dir=files_dir[0],
max_final_token=APPCFG.max_final_token,
token_threshold=APPCFG.token_threshold,
gpt_model=APPCFG.llm_engine,
temperature=APPCFG.temperature,
summarizer_llm_system_role=APPCFG.summarizer_llm_system_role,
final_summarizer_llm_system_role=APPCFG.final_summarizer_llm_system_role,
character_overlap=APPCFG.character_overlap)
chatbot.append(
(" ", final_summary))
else:
chatbot.append(
(" ", "If you would like to upload a PDF, please select your desired action in 'rag_with' dropdown."))
return "", chatbot |