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)
DenseEmbeddingRetrieverCompute and persist embeddings for chunks that lack them.
get_chunk_vectors(self, chunk_ids: List[int]) -> numpy.ndarray
DenseEmbeddingRetrieverReturn embedding vectors for the given chunk IDs.
init_model(self) -> None
DenseEmbeddingRetrieverEmbed missing chunks and build the similarity matrix.
init_similarity_matrix(self)
DenseEmbeddingRetrieverLoad 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]
DenseEmbeddingRetrieverRetrieve the top-k chunks by embedding similarity.
score_chunks(self, chunk_ids: List[int], query: str) -> List[Tuple[int, float]]
DenseEmbeddingRetrieverScore 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 and the category the retriever pickers group it under.
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.
load(self, filename: str = '') -> None
BaseRetrieverRestore the retriever's state from disk.
remove(self, child: DashAI.back.models.RAG.retrievers.base_retriever.BaseRetriever) -> None
UnitRetrieverRemove a child retriever (not supported for unit retrievers).
save(self, filename: str = '') -> None
BaseRetrieverPersist the retriever's state to disk.
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.