# LANGCHAIN IMPORTS from langchain import PromptTemplate, LLMChain from langchain.embeddings import HuggingFaceEmbeddings from langchain.chains import RetrievalQAWithSourcesChain from langchain.chains.qa_with_sources import load_qa_with_sources_chain # CLIMATEQA from climateqa.retriever import ClimateQARetriever from climateqa.vectorstore import get_pinecone_vectorstore from climateqa.chains import load_climateqa_chain class ClimateQA: def __init__(self,hf_embedding_model = "sentence-transformers/multi-qa-mpnet-base-dot-v1", show_progress_bar = False,batch_size = 1,max_tokens = 1024,**kwargs): self.llm = self.get_llm(max_tokens = max_tokens,**kwargs) self.embeddings_function = HuggingFaceEmbeddings( model_name=hf_embedding_model, encode_kwargs={"show_progress_bar":show_progress_bar,"batch_size":batch_size} ) def get_vectorstore(self): pass def reformulate(self): pass def retrieve(self): pass def ask(self): pass