• Deprecate CassandraVectorStoreConfig
  • Move its contents to a top level Builder class within the CassandraVectorStore

Restructuring packages for Cassandra vector store and chat memory classes

Comment From: sobychacko

@michaelsembwever We are trying to make the vector store builder pattern consistent. See the recently merged chroma vector store for a template. Cassandra vector store seems to be more involved. Since you are the original author of the cassandra vector store, can you take a look at this PR and see what you think? Thank you!

Comment From: michaelsembwever

@sobychacko the overall direction of the refactoring looks good to me, nice work.

Threw in a few questions. The reviewing need to separate config-build vs package renaming is the big one. Otherwise, not having kept up with all project discussions and changes, I'm missing the project wide statement/agreement to move to this builder pattern and packaging naming. My concern would be that we're only applying this to Chroma and Cassandra. I assume that's not the case, but would still like an explicit reference link to this agreement :)

Comment From: sobychacko

@michaelsembwever Yes, we are moving to the builder pattern for all the vector store classes to make it consistent. Started with chroma,and there are a few PR's out there that's performing this migration on the other vector stores. Before the M5 release, we hope to complete this migration.

Comment From: markpollack

Thanks for your patience and understanding @michaelsembwever

I've created https://github.com/spring-projects/spring-ai/issues/1949 to track the remaining comment in the discussion.

I've merged this after updating ref doc and class javadoc.

Merged in 25123a53640a2131347cc0573ac656bf5bf12186