Bases: Factory
Factory class for creating VectorIndexRetriever instances.
This factory implements the Factory design pattern to create a basic retriever
component that uses vector similarity search to retrieve relevant context
from a vector store.
Source code in src/augmentation/components/retrievers/basic/retriever.py
14
15
16
17
18
19
20
21
22
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
54
55
56
57
58
59
60
61
62
63
64
65 | class BasicRetrieverFactory(Factory):
"""
Factory class for creating VectorIndexRetriever instances.
This factory implements the Factory design pattern to create a basic retriever
component that uses vector similarity search to retrieve relevant context
from a vector store.
"""
_configuration_class: Type = AugmentationConfiguration
@classmethod
def _create_instance(
cls, configuration: AugmentationConfiguration
) -> VectorIndexRetriever:
"""
Creates a VectorIndexRetriever instance based on the provided configuration.
This method:
1. Initializes the vector store from configuration
2. Creates the embedding model
3. Sets up the vector store index
4. Configures and returns the retriever with specified parameters
Args:
configuration: An AugmentationConfiguration object containing
settings for the vector store, embedding model,
and retriever parameters.
Returns:
VectorIndexRetriever: Configured retriever instance ready for similarity searches.
"""
vector_store_configuration = configuration.embedding.vector_store
vector_store = VectorStoreRegistry.get(
vector_store_configuration.name
).create(vector_store_configuration)
embedding_model_config = configuration.embedding.embedding_model
embedding_model = EmbeddingModelRegistry.get(
embedding_model_config.provider
).create(embedding_model_config)
index = VectorStoreIndex.from_vector_store(
vector_store=vector_store,
embed_model=embedding_model,
)
retriever_configuration = (
configuration.augmentation.chat_engine.retriever
)
return VectorIndexRetriever(
index=index,
similarity_top_k=retriever_configuration.similarity_top_k,
)
|