Saltar al contenido principal

BM25Retriever

Retriever
DashAI.back.models.RAG.retrievers.sparse.BM25Retriever

Sparse retriever using BM25 (Okapi) ranking for document retrieval.

Computes BM25-weighted term-frequency vectors and retrieves via pairwise distance.

Parameters​

BM25Vectorizer : object
BM25 Vectorizer parameters.
k1 : number, default=1.5
BM25 k1 parameter: term frequency saturation.
b : number, default=0.75
BM25 b parameter: length normalization.
delta : number, default=0.0
BM25 delta parameter for IDF smoothing.
similarity_function : string, default=cosine
Distance metric for comparing BM25-weighted vectors.
top_k : integer, default=5
Number of chunks to select.

Methods​

get_chunk_vectors(self, chunk_ids: List[int]) -> numpy.ndarray

Defined on BM25Retriever

Return the BM25-weighted vectors for the given chunk IDs.

init_model(self) -> None

Defined on BM25Retriever

Restore saved state or fit BM25 from scratch.

load(self) -> bool

Defined on BM25Retriever

Load a previously saved BM25 state from disk.

retrieve(self, query: str, top_k: int | None = None) -> List[DashAI.back.models.RAG.documents.chunk.Chunk]

Defined on BM25Retriever

Retrieve the top-k chunks by BM25-weighted similarity.

save(self) -> None

Defined on BM25Retriever

Persist the vectorizer, matrices, and chunk map to disk.

score_chunks(self, chunk_ids: List[int], query: str) -> List[Tuple[int, float]]

Defined on BM25Retriever

Score a set of chunk IDs against the query.

add(self, child: DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever) -> None

Defined on UnitRetriever

Add a child retriever (not supported for unit retrievers).

get_children(self) -> List[DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever]

Defined on UnitRetriever

Return the (empty) list of child retrievers.

get_credential(self, name: str)

Defined on ConfigObject

Resolve a registered credential component by name.

Parameters

name : str
Credential component class name (e.g. "HuggingFaceCredential").

Returns

BaseCredential
An instance of the requested credential component.

get_id(self) -> int | None

Defined on BaseRetriever

Return the database ID of this retriever, or None.

get_metadata(cls) -> Dict[str, Any]

Defined on BaseRetriever

Return the UI metadata shared by every retriever.

Returns

Dict[str, Any]
Dictionary with the icon shown for the retriever in the frontend.

get_schema(cls) -> dict

Defined on ConfigObject

Generates the component related Json Schema.

Returns

dict
Dictionary representing the Json Schema of the component.

inject_infra(self, env_RAG_path: str, chunks: Dict[int, Dict[int, DashAI.back.models.RAG.documents.chunk.Chunk]], persistence: Any) -> None

Defined on UnitRetriever

Inject runtime infrastructure with type-checked persistence.

remove(self, child: DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever) -> None

Defined on UnitRetriever

Remove a child retriever (not supported for unit retrievers).

set_id(self, id: int) -> None

Defined on BaseRetriever

Assign a database ID to this retriever.

validate_and_transform(self, raw_data: dict) -> dict

Defined on ConfigObject

It takes the data given by the user to initialize the model and returns it with all the objects that the model needs to work.

Parameters

raw_data : dict
A dictionary with the data provided by the user to initialize the model.

Returns

dict
A validated dictionary with the necessary objects.