File size: 680 Bytes
5374a2d |
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 |
import logging
from enum import Enum
from abc import ABC, abstractmethod
from llama_index.core.retrievers import BaseRetriever
from ..schema import Query, RagResult
class RetrieverType(str, Enum):
VECTOR = "vector"
GRAPH = "graph"
class BaseRetrieverWrapper(ABC):
"""Base interface for retriever wrappers."""
def __init__(self):
self.logger = logging.getLogger(__name__)
@abstractmethod
def retrieve(self, query: Query) -> RagResult:
"""Retrieve results for a query."""
pass
@abstractmethod
def get_retriever(self) -> BaseRetriever:
"""Return the LlamaIndex-compatible retriever."""
pass |