File size: 1,070 Bytes
1f725d8
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
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