Fix get_by_ids to return None for missing records consistently
This commit is contained in:
parent
b7216ede58
commit
e1e4f1b02c
1 changed files with 9 additions and 9 deletions
|
|
@ -450,23 +450,23 @@ class FaissVectorDBStorage(BaseVectorStorage):
|
||||||
if not ids:
|
if not ids:
|
||||||
return []
|
return []
|
||||||
|
|
||||||
results = []
|
results: list[dict[str, Any] | None] = []
|
||||||
for id in ids:
|
for id in ids:
|
||||||
|
record = None
|
||||||
fid = self._find_faiss_id_by_custom_id(id)
|
fid = self._find_faiss_id_by_custom_id(id)
|
||||||
if fid is not None:
|
if fid is not None:
|
||||||
metadata = self._id_to_meta.get(fid, {})
|
metadata = self._id_to_meta.get(fid)
|
||||||
if metadata:
|
if metadata:
|
||||||
# Filter out __vector__ from metadata to avoid returning large vector data
|
# Filter out __vector__ from metadata to avoid returning large vector data
|
||||||
filtered_metadata = {
|
filtered_metadata = {
|
||||||
k: v for k, v in metadata.items() if k != "__vector__"
|
k: v for k, v in metadata.items() if k != "__vector__"
|
||||||
}
|
}
|
||||||
results.append(
|
record = {
|
||||||
{
|
**filtered_metadata,
|
||||||
**filtered_metadata,
|
"id": metadata.get("__id__"),
|
||||||
"id": metadata.get("__id__"),
|
"created_at": metadata.get("__created_at__"),
|
||||||
"created_at": metadata.get("__created_at__"),
|
}
|
||||||
}
|
results.append(record)
|
||||||
)
|
|
||||||
|
|
||||||
return results
|
return results
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue