CoolFace
Apppublic

Alpha108/GenerativeEngineOptimization

sourceHugging Facemitupdated 1y agoView on Hugging Face
0likes
rag_utils.py28 linesDownload Raw Back to utils
1# rag_utils.py2 3from langchain.text_splitter import RecursiveCharacterTextSplitter4from langchain.vectorstores import FAISS5from langchain.chains import RetrievalQA6from langchain_community.embeddings import HuggingFaceEmbeddings7from langchain_groq import ChatGroq8 9def create_vectorstore_from_text(text: str):10    splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50)11    texts = splitter.split_text(text)12    13    embeddings = HuggingFaceEmbeddings(14        model_name="sentence-transformers/all-MiniLM-L6-v2",15        model_kwargs={"device": "cpu"}16    )17    18    vectorstore = FAISS.from_texts(texts, embedding=embeddings)19    return vectorstore20 21def create_rag_chain(vectorstore):22    retriever = vectorstore.as_retriever(search_kwargs={"k": 3})23    24    llm = ChatGroq(model_name="llama3-8b-8192", temperature=0)25    26    rag_chain = RetrievalQA.from_chain_type(llm=llm, retriever=retriever)27    return rag_chain28