Right now, we are creating the Voyager index during the initialization of the index model, which force us to have the target embedding dimension and so to ask the user to feed it.
@raphaelsty proposed to create the actual index object only when adding the first document (if index is none) so we can infer the embedding dimension, which is a way nicer UX.