aak007's picture
Deploy to HF with corrected config
6e30461
Raw
History Blame Contribute Delete
1.51 kB
from langchain_community.document_loaders import PyPDFLoader, DirectoryLoader
from langchain_text_splitters import RecursiveCharacterTextSplitter
from langchain_community.embeddings import HuggingFaceEmbeddings
from typing import List
from langchain_core.documents import Document
#Extract Data From the PDF File
def load_pdf_file(data):
loader= DirectoryLoader(data,
glob="*.pdf",
loader_cls=PyPDFLoader)
documents=loader.load()
return documents
def filter_to_minimal_docs(docs: List[Document]) -> List[Document]:
"""
Given a list of Document objects, return a new list of Document objects
containing only 'source' in metadata and the original page_content.
"""
minimal_docs: List[Document] = []
for doc in docs:
src = doc.metadata.get("source")
minimal_docs.append(
Document(
page_content=doc.page_content,
metadata={"source": src}
)
)
return minimal_docs
#Split the Data into Text Chunks
def text_split(extracted_data):
text_splitter=RecursiveCharacterTextSplitter(chunk_size=500, chunk_overlap=20)
text_chunks=text_splitter.split_documents(extracted_data)
return text_chunks
#Download the Embeddings from HuggingFace
def download_hugging_face_embeddings():
embeddings=HuggingFaceEmbeddings(model_name='sentence-transformers/all-MiniLM-L6-v2') #this model return 384 dimensions
return embeddings