Spaces:
Sleeping
Sleeping
| from langchain.schema import Document | |
| from langchain.vectorstores import Chroma | |
| from langchain.document_loaders import TextLoader | |
| from langchain.text_splitter import RecursiveCharacterTextSplitter | |
| from langchain.vectorstores import FAISS | |
| from chains_and_vars import final_chain, embedder | |
| def RAG(page_info,instruction): | |
| #loading faze | |
| loader = [Document(page_content=page_info)] | |
| #indexing.splitting | |
| splitter = RecursiveCharacterTextSplitter(chunk_size=1200, | |
| chunk_overlap=200) | |
| splits = splitter.split_documents(loader) | |
| #embedding | |
| #vector db plus retrieval mechanism/engine | |
| vector_db = FAISS.from_documents(splits, embedder) | |
| relevant_info = vector_db.max_marginal_relevance_search(instruction,1) | |
| response = final_chain.run(context=relevant_info,question=instruction) | |
| del vector_db | |
| return response | |