Multi-Rag / src /MultiRag /retrievers /retriever.py
VashuTheGreat's picture
Clean commit without images
1f725d8
import logging
from utils.asyncHandler import asyncHandler
from src.MultiRag.constants import EXCEPTED_FILE_TYPE,RETREIVER_DEFAULT_K
from src.MultiRag.utils.ingestion_utils import create_vector_store
from src.MultiRag.entity.ingestion_config import IngestionConfig
import os
from src.MultiRag.utils.ingestion_utils import create_retreiver
class Retreiver:
def __init__(self,vector_db,k:int=RETREIVER_DEFAULT_K):
self.vector_db=vector_db
self.k=k
self.retreiver=None
@asyncHandler
async def initiate_retreiver(self):
logging.info("Initiating retriever...")
retreiver = await create_retreiver(vectorstore=self.vector_db, k=self.k)
self.retreiver = retreiver
logging.info("Retriever initiated successfully.")
@asyncHandler
async def invoke(self, query: str = "ML algorithms train on datasets"):
logging.info(f"Invoking retriever with query: {query}")
result = self.retreiver.invoke(query)
logging.info("Retriever invocation successful.")
return result