mirror of
https://github.com/open-webui/open-webui.git
synced 2026-09-15 23:32:40 +00:00
The Qdrant backends implemented delete(ids=...) as a payload filter on
metadata.id, but points are stored with the item id as the Qdrant point id
(see _create_points), and not every point carries an id in its payload.
Memory points store only {created_at} in metadata (KB metadata embeddings
likewise), so deleting a single memory matched nothing and left an orphaned
vector that kept being injected into RAG context.
Delete by point id instead: PointIdsList for the standard backend, and a
tenant-scoped HasIdCondition for multitenancy (point ids are unique, so tenant
isolation is preserved). Filter-based deletion is unchanged.
Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
||
|---|---|---|
| .. | ||
| chroma.py | ||
| elasticsearch.py | ||
| mariadb_vector.py | ||
| milvus.py | ||
| milvus_multitenancy.py | ||
| opengauss.py | ||
| opensearch.py | ||
| oracle23ai.py | ||
| pgvector.py | ||
| pinecone.py | ||
| qdrant.py | ||
| qdrant_multitenancy.py | ||
| s3vector.py | ||
| valkey.py | ||
| weaviate.py | ||