AI4Midterm / classes /app_state.py
rchrdgwr's picture
Add files for midterm project
5a9839d
raw
history blame
2.76 kB
class AppState:
def __init__(self):
self.debug = False
self.llm_model = "gpt-3.5-turbo"
self.embedding_model = "text-embedding-3-small"
self.chunk_size = 1000
self.chunk_overlap = 100
self.document_urls = []
self.download_folder = "data/"
self.loaded_documents = []
self.single_text_documents = []
self.metadata = []
self.titles = []
self.documents = []
self.combined_document_objects = []
self.retriever = None
self.system_template = "You are a helpful assistant"
#
self.user_input = None
self.retrieved_documents = []
self.chat_history = []
self.current_question = None
def set_document_urls(self, document_urls):
self.document_urls = document_urls
def set_llm_model(self, llm_model):
self.llm_model = llm_model
def set_embedding_model(self, embedding_model):
self.embedding_model = embedding_model
def set_chunk_size(self, chunk_size):
self.chunk_size = chunk_size
def set_chunk_overlap(self, chunk_overlap):
self.chunk_overlap = chunk_overlap
def set_system_template(self, system_template):
self.system_template = system_template
def add_loaded_document(self, loaded_document):
self.loaded_documents.append(loaded_document)
def add_single_text_documents(self, single_text_document):
self.single_text_documents.append(single_text_document)
def add_metadata(self, metadata):
self.metadata = metadata
def add_title(self, title):
self.titles.append(title)
def add_document(self, document):
self.documents.append(document)
def add_combined_document_objects(self, combined_document_objects):
self.combined_document_objects = combined_document_objects
def set_retriever(self, retriever):
self.retriever = retriever
#
# Method to update the user input
def set_user_input(self, input_text):
self.user_input = input_text
# Method to add a retrieved document
# def add_document(self, document):
# print("adding document")
# print(self)
# self.retrieved_documents.append(document)
# Method to update chat history
def update_chat_history(self, message):
self.chat_history.append(message)
# Method to get the current state
def get_state(self):
return {
"user_input": self.user_input,
"retrieved_documents": self.retrieved_documents,
"chat_history": self.chat_history,
"current_question": self.current_question
}