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
BM25RetrieverReturn the BM25-weighted vectors for the given chunk IDs.
init_model(self) -> None
BM25RetrieverRestore saved state or fit BM25 from scratch.
load(self) -> bool
BM25RetrieverLoad a previously saved BM25 state from disk.
retrieve(self, query: str, top_k: int | None = None) -> List[DashAI.back.models.RAG.documents.chunk.Chunk]
BM25RetrieverRetrieve the top-k chunks by BM25-weighted similarity.
save(self) -> None
BM25RetrieverPersist the vectorizer, matrices, and chunk map to disk.
score_chunks(self, chunk_ids: List[int], query: str) -> List[Tuple[int, float]]
BM25RetrieverScore a set of chunk IDs against the query.
add(self, child: DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever) -> None
UnitRetrieverAdd a child retriever (not supported for unit retrievers).
get_children(self) -> List[DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever]
UnitRetrieverReturn the (empty) list of child retrievers.
get_credential(self, name: str)
ConfigObjectResolve 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
BaseRetrieverReturn the database ID of this retriever, or None.
get_metadata(cls) -> Dict[str, Any]
BaseRetrieverReturn 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
ConfigObjectGenerates 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
UnitRetrieverInject runtime infrastructure with type-checked persistence.
remove(self, child: DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever) -> None
UnitRetrieverRemove a child retriever (not supported for unit retrievers).
set_id(self, id: int) -> None
BaseRetrieverAssign a database ID to this retriever.
validate_and_transform(self, raw_data: dict) -> dict
ConfigObjectIt 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.