Retriever_builders

This module contains functionality related to the the retriever_builders module for common.builders.

Retriever_builders

AutoRetrieverBuilder

Builder for creating auto-configured retrievers.

Provides factory method to create retrievers with dynamic configuration.

Source code in src/common/builders/retriever_builders.py
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
class AutoRetrieverBuilder:
    """Builder for creating auto-configured retrievers.

    Provides factory method to create retrievers with dynamic configuration.
    """

    @staticmethod
    def build(
        vector_store: VectorStore,
        embedding_model: BoundEmbeddingModel,
        configuration: AutoRetrieverConfiguration,
        llm: BoundAutoRetrieverLLM,
    ) -> CustomVectorIndexAutoRetriever:
        """Creates a configured auto-retriever instance.

        Args:
            vector_store: Vector storage backend.
            embedding_model: Text embedding model.
            configuration: Auto retriever parameters.
            llm: Language model for metadata extraction.

        Returns:
            CustomVectorIndexAutoRetriever: Configured auto-retriever instance.
        """
        index = VectorStoreIndex.from_vector_store(
            vector_store=vector_store,
            embed_model=embedding_model,
        )
        return CustomVectorIndexAutoRetriever(
            index=index,
            similarity_top_k=configuration.similarity_top_k,
            llm=llm,
            vector_store_info=VectorStoreInfo(
                content_info="Knowledge base of FELD M company used for retrieval process in RAG system.",
                metadata_info=[
                    MetadataInfo(
                        name="creation_date",
                        type="date",
                        description=(
                            "Date of creation of the chunk's document"
                        ),
                    ),
                    MetadataInfo(
                        name="last_update_date",
                        type="date",
                        description=(
                            "Date of the last update of the chunk's document."
                        ),
                    ),
                ],
            ),
        )

build(vector_store, embedding_model, configuration, llm) staticmethod

Creates a configured auto-retriever instance.

Parameters:
  • vector_store (VectorStore) –

    Vector storage backend.

  • embedding_model (BoundEmbeddingModel) –

    Text embedding model.

  • configuration (AutoRetrieverConfiguration) –

    Auto retriever parameters.

  • llm (BoundAutoRetrieverLLM) –

    Language model for metadata extraction.

Returns:
  • CustomVectorIndexAutoRetriever( CustomVectorIndexAutoRetriever ) –

    Configured auto-retriever instance.

Source code in src/common/builders/retriever_builders.py
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
@staticmethod
def build(
    vector_store: VectorStore,
    embedding_model: BoundEmbeddingModel,
    configuration: AutoRetrieverConfiguration,
    llm: BoundAutoRetrieverLLM,
) -> CustomVectorIndexAutoRetriever:
    """Creates a configured auto-retriever instance.

    Args:
        vector_store: Vector storage backend.
        embedding_model: Text embedding model.
        configuration: Auto retriever parameters.
        llm: Language model for metadata extraction.

    Returns:
        CustomVectorIndexAutoRetriever: Configured auto-retriever instance.
    """
    index = VectorStoreIndex.from_vector_store(
        vector_store=vector_store,
        embed_model=embedding_model,
    )
    return CustomVectorIndexAutoRetriever(
        index=index,
        similarity_top_k=configuration.similarity_top_k,
        llm=llm,
        vector_store_info=VectorStoreInfo(
            content_info="Knowledge base of FELD M company used for retrieval process in RAG system.",
            metadata_info=[
                MetadataInfo(
                    name="creation_date",
                    type="date",
                    description=(
                        "Date of creation of the chunk's document"
                    ),
                ),
                MetadataInfo(
                    name="last_update_date",
                    type="date",
                    description=(
                        "Date of the last update of the chunk's document."
                    ),
                ),
            ],
        ),
    )

BasicRetrieverBuilder

Builder for creating basic vector similarity retrievers.

Provides factory method to create configured vector retrievers.

Source code in src/common/builders/retriever_builders.py
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
class BasicRetrieverBuilder:
    """Builder for creating basic vector similarity retrievers.

    Provides factory method to create configured vector retrievers.
    """

    @staticmethod
    @inject
    def build(
        vector_store: VectorStore,
        embedding_model: BoundEmbeddingModel,
        configuration: BasicRetrieverConfiguration,
    ) -> VectorIndexRetriever:
        """Creates a configured vector similarity retriever.

        Args:
            vector_store: Vector storage backend.
            embedding_model: Text embedding model.
            configuration: Basic retriever parameters.

        Returns:
            VectorIndexRetriever: Configured retriever instance.
        """
        index = VectorStoreIndex.from_vector_store(
            vector_store=vector_store,
            embed_model=embedding_model,
        )
        return VectorIndexRetriever(
            index=index,
            similarity_top_k=configuration.similarity_top_k,
        )

build(vector_store, embedding_model, configuration) staticmethod

Creates a configured vector similarity retriever.

Parameters:
  • vector_store (VectorStore) –

    Vector storage backend.

  • embedding_model (BoundEmbeddingModel) –

    Text embedding model.

  • configuration (BasicRetrieverConfiguration) –

    Basic retriever parameters.

Returns:
  • VectorIndexRetriever( VectorIndexRetriever ) –

    Configured retriever instance.

Source code in src/common/builders/retriever_builders.py
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
@staticmethod
@inject
def build(
    vector_store: VectorStore,
    embedding_model: BoundEmbeddingModel,
    configuration: BasicRetrieverConfiguration,
) -> VectorIndexRetriever:
    """Creates a configured vector similarity retriever.

    Args:
        vector_store: Vector storage backend.
        embedding_model: Text embedding model.
        configuration: Basic retriever parameters.

    Returns:
        VectorIndexRetriever: Configured retriever instance.
    """
    index = VectorStoreIndex.from_vector_store(
        vector_store=vector_store,
        embed_model=embedding_model,
    )
    return VectorIndexRetriever(
        index=index,
        similarity_top_k=configuration.similarity_top_k,
    )