Saltar al contenido principal

DenseEmbeddingRetriever

Retriever
DashAI.back.models.RAG.retrievers.dense.DenseEmbeddingRetriever

Dense retriever that accepts any text embedding converter.

The embedding component is specified in the schema and instantiated by the factory via fill_objects. Chunks are encoded with the passage role into one embeddings.npy per document, and queries with the query role. The whole chunk index is loaded into memory, which suits tens to low hundreds of documents.

Parameters​

embedding_model : object
Embedding model to use for encoding chunks.
similarity_metric : string, default=cosine
Distance metric for comparing dense vectors.
top_k : integer, default=5
Number of chunks to select.

Methods​

compute_missing_embeddings(self)

Defined on DenseEmbeddingRetriever

Compute and persist embeddings for chunks that lack them.

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

Defined on DenseEmbeddingRetriever

Return embedding vectors for the given chunk IDs.

init_model(self) -> None

Defined on DenseEmbeddingRetriever

Embed missing chunks and build the similarity matrix.

init_similarity_matrix(self)

Defined on DenseEmbeddingRetriever

Load all persisted embedding matrices into a single similarity matrix.

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

Defined on DenseEmbeddingRetriever

Retrieve the top-k chunks by embedding similarity.

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

Defined on DenseEmbeddingRetriever

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 and the category the retriever pickers group it under.

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.

load(self, filename: str = '') -> None

Defined on BaseRetriever

Restore the retriever's state from disk.

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

Defined on UnitRetriever

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

save(self, filename: str = '') -> None

Defined on BaseRetriever

Persist the retriever's state to disk.

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.