Skip to content

Graph rag retriever

Defines an abstract base class to create a retriever.

This module provides the BaseGraphRAGRetriever class, which serves as a foundation for implementing retrieval systems based on Graph RAG framework in Gen AI applications.

Authors

Douglas Raevan Faisal (douglas.r.faisal@gdplabs.id)

References

NONE

BaseGraphRAGRetriever

Bases: Component, ABC

An abstract base class for the graph RAG retriever used in Gen AI applications.

This class defines the interface for retriever components, which are responsible for retrieving relevant documents or information based on a given query.

retrieve(query, retrieval_params=None, event_emitter=None, **kwargs) abstractmethod async

Retrieve documents based on the query.

This method should be implemented by subclasses to define the specific retrieval logic.

Parameters:

Name Type Description Default
query str

The query string to retrieve documents.

required
retrieval_params dict[str, Any] | None

Additional parameters for the retrieval process. These could include 'max_results', 'sort_order', etc., specific to the retrieval logic. Defaults to None.

None
event_emitter EventEmitter | None

The event emitter to emit events. Defaults to None.

None
**kwargs Any

Additional keyword arguments that may be needed for the retrieval process. Supported kwargs: - return_type (ReturnType): Type of return value ("chunks" or "strings"). Defaults to "chunks".

{}

Returns:

Type Description
str | list[str] | list[Chunk] | dict[str, Any]

str | list[str] | list[Chunk] | dict[str, Any]: The result of the retrieval process based on return_type: - If return_type is "chunks": Returns list[Chunk] - If return_type is "strings": Returns list[str] - Returns empty list on error

Raises:

Type Description
NotImplementedError

If the method is not implemented.