File size: 863 Bytes
54e8517
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
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