fix: Use empty SparseVector instead of None for placeholders
Qdrant validation rejects None for sparse vectors in named vector dicts. Use models.SparseVector(indices=[], values=[]) instead to create valid empty sparse vectors for placeholder points. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -80,6 +80,12 @@ async def write_placeholder_point(
|
|||||||
# Create zero vectors
|
# Create zero vectors
|
||||||
zero_dense = [0.0] * dimension
|
zero_dense = [0.0] * dimension
|
||||||
|
|
||||||
|
# Create empty sparse vector for placeholders
|
||||||
|
# Use models.SparseVector with empty indices/values
|
||||||
|
from qdrant_client import models
|
||||||
|
|
||||||
|
empty_sparse = models.SparseVector(indices=[], values=[])
|
||||||
|
|
||||||
# Generate deterministic point ID
|
# Generate deterministic point ID
|
||||||
point_id = _generate_placeholder_id(doc_type, doc_id)
|
point_id = _generate_placeholder_id(doc_type, doc_id)
|
||||||
|
|
||||||
@@ -104,7 +110,7 @@ async def write_placeholder_point(
|
|||||||
id=point_id,
|
id=point_id,
|
||||||
vector={
|
vector={
|
||||||
"dense": zero_dense,
|
"dense": zero_dense,
|
||||||
"sparse": None, # No sparse vector for placeholders
|
"sparse": empty_sparse, # Empty sparse vector for placeholders
|
||||||
},
|
},
|
||||||
payload=payload,
|
payload=payload,
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user