This commit refactors the builder pattern implementation across all VectorStore implementations to make the EmbeddingModel a required constructor parameter rather than an optional builder method. Key changes include:
- Move embeddingModel from being a builder method to a required constructor parameter
- Make embeddingModel final in AbstractVectorStoreBuilder
- Remove redundant validate() methods since EmbeddingModel validation now happens in constructor
- Update all VectorStore builder instantiations to pass EmbeddingModel in builder creation
- Add @Nullable annotations to appropriate methods in VectorStore interface
This change improves the API design by: 1. Enforcing that EmbeddingModel is provided at builder creation time 2. Removing the possibility of forgotten EmbeddingModel configuration 3. Simplifying the builder implementation by moving validation to construction 4. Making the dependency on EmbeddingModel more explicit in the API
Breaking Changes: - VectorStore builders must now be created with an EmbeddingModel parameter - The embeddingModel() builder method has been removed from all implementations
Comment From: markpollack
merged in 1a6e79cbb986fc2b421140ff5154c0aa00f23770