from langchain.text_splitter import RecursiveCharacterTextSplitter from langchain.embeddings import HuggingFaceEmbeddings from langchain.vectorstores import FAISS def build_rag_pipeline(docs, embedding_model): splitter = RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=50) chunks = splitter.split_documents(docs) embeddings = HuggingFaceEmbeddings(model_name=embedding_model) db = FAISS.from_documents(chunks, embeddings) return db.as_retriever() def get_relevant_docs(retriever, query, k=4): return retriever.get_relevant_documents(query)[:k]