| from langchain import PromptTemplate |
| from langchain.chains import RetrievalQA |
| from langchain.embeddings import HuggingFaceEmbeddings |
| from langchain_community.vectorstores import Pinecone |
| from dotenv import load_dotenv |
| import os |
| from pinecone import Pinecone |
| from langchain.document_loaders import PyPDFLoader, DirectoryLoader |
| from langchain.text_splitter import RecursiveCharacterTextSplitter |
| from langchain.prompts import PromptTemplate |
| from langchain.llms import CTransformers |
| from unittest import loader |
|
|
|
|
| load_dotenv() |
|
|
| PINECONE_API_KEY = os.environ.get('PINECONE_API_KEY') |
| PINECONE_API_ENV = os.environ.get('PINECONE_API_ENV') |
|
|
| |
|
|
|
|
|
|
| def load_pdf(data): |
| directory_loader = DirectoryLoader(data, |
| glob="*.pdf", |
| loader_cls=PyPDFLoader) |
| |
| documents = directory_loader.load() |
|
|
| 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 |
|
|
| def download_hugging_face_embeddings(): |
| embeddings = HuggingFaceEmbeddings(model_name="sentence-transformers/all-MiniLM-L6-v2") |
| return embeddings |
|
|
|
|
|
|
| |