Multi-Model-Pdf-Chat / RetrivalChain.py
Waris01's picture
Model-Files
95305d3 verified
from langchain_groq import ChatGroq
from dotenv import load_dotenv
import os
from pdfparsing import ExtractDatafrompdf
from Datapreprocessing import PreprocessingData
from vectorstore import embeddings, vectorstore
from langchain.chains import RetrievalQA
# Load environment
load_dotenv()
Groq_api_key = os.environ.get("GROQ_API_KEY")
# LLM setup
Model = ChatGroq(
api_key=Groq_api_key,
model="qwen-qwq-32b",
temperature=0.2,
)
def GenrateResponse(query, retrive):
chain = RetrievalQA.from_chain_type(
llm=Model,
chain_type="stuff",
retriever=retrive,
)
return chain.invoke({"query": query})
if __name__ == "__main__":
pdf_path = r"C:\Users\HP\Desktop\MultiModel-Rag\Multimodel-Rag-Application01\Deepseek.pdf"
print("Extracting PDF...")
documents = ExtractDatafrompdf(pdf_path)
print("Chunking Data...")
chunked_data = PreprocessingData(documents)
print(f"Total Chunks: {len(chunked_data)}")
print("Vectorizing...")
retriever = vectorstore(data=chunked_data, embeddings=embeddings())
# Example query
query = "what are the benchamrk of deepseek r1?"
print("Answering Query...")
result = GenrateResponse(query=query, retrive=retriever)
print("Response:")
print(result["result"])