CreateCollectionRequest: require explicit vector size (drop 1536 default)#27
Merged
Conversation
The 1536 default (OpenAI text-embedding dimension) was a footgun in an ecosystem standardized on 1024 (bge-large): construct the request without a size and the collection silently comes out incompatible with every embedding this stack produces. Size is now nullable with no default; building the body without size or namedVectors throws. Qdrant::createCollection() already required size, so client-API users are unaffected.
There was a problem hiding this comment.
Ship it.
- Removes the 1536 OpenAI default that silently produced dimension-mismatched collections against the 1024 bge-large stack.
defaultBody()now throws early with a clear message when neither$sizenor$namedVectorsis supplied.Qdrant::createCollection()API unchanged.- All affected tests updated and new throw case covered; suite green.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Audit finding: the request default of 1536 (OpenAI dimension) sits in an ecosystem standardized on 1024 (bge-large everywhere — know CLI, lexi, mindkeeper, all 25 live collections). Construct the request bare and the collection silently comes out dimension-incompatible with every embedding this stack produces; first symptom is upsert failures much later.
$sizenow nullable, no default;defaultBody()throwsInvalidArgumentExceptionwhen neither$sizenor$namedVectorsis givenQdrant::createCollection()already required$size, so nothing changes for client-API users