class VectorStoreIndex(BaseIndex[IndexDict]): """ Vector Store Index. Args: use_async (bool): Whether to use asynchronous calls. Defaults to False. show_progress (bool): Whether to show tqdm progress bars. Defaults to False. store_nodes_override (bool): set to True to always store Node objects in index store and document store even if vector store keeps text. Defaults to False """ index_struct_cls = IndexDict def __init__( self, nodes: Optional[Sequence[BaseNode]] = None, # vector store index params use_async: bool = False, store_nodes_override: bool = False, embed_model: Optional[EmbedType] = None, insert_batch_size: int = 2048, # parent class params objects: Optional[Sequence[IndexNode]] = None, index_struct: Optional[IndexDict] = None, storage_context: Optional[StorageContext] = None, callback_manager: Optional[CallbackManager] = None, transformations: Optional[List[TransformComponent]] = None, show_progress: bool = False, **kwargs: Any, ) -> None: """Initialize params.""" self._use_async = use_async self._store_nodes_override = store_nodes_override self._embed_model = ( resolve_embed_model(embed_model, callback_manager=callback_manager) if embed_model else Settings.embed_model ) self._insert_batch_size = insert_batch_size super().__init__( nodes=nodes, index_struct=index_struct, storage_context=storage_context, show_progress=show_progress, objects=objects, callback_manager=callback_manager, transformations=transformations, **kwargs, )