from langchain import FAISS from langchain.text_splitter import CharacterTextSplitter from utilities.load_chain import load_chain def update_selected_tools(widget, state, llm): if widget: state = widget chain, express_chain, memory = load_chain(state, llm) return state, llm, chain, express_chain def update_foo(widget, state): if widget: state = widget return state # Pertains to question answering functionality def update_embeddings(embeddings_text, embeddings, qa_chain): if embeddings_text: text_splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) texts = text_splitter.split_text(embeddings_text) docsearch = FAISS.from_texts(texts, embeddings) print("Embeddings updated") return docsearch # Pertains to question answering functionality def update_use_embeddings(widget, state): if widget: state = widget return state