Llamaindex Python: Metadatenfilter mit "None" -Wertzwert ruft keine Dokumente abPython

Python-Programme
Anonymous
 Llamaindex Python: Metadatenfilter mit "None" -Wertzwert ruft keine Dokumente ab

Post by Anonymous »

Ich arbeite mit llamaindex in Python und rannte ein Problem mit Metadatenfilterung. dass Dokumente mit keinem metadaten mit einem solchen filter übereinstimmen.from llama_index.core import VectorStoreIndex
from llama_index.core.schema import TextNode
from llama_index.core.vector_stores import (
MetadataFilter,
MetadataFilters,
FilterOperator,
)

node_01 = TextNode(
text="This document has None in the metadata",
id_="node_01",
metadata={"start_date": None},
)

doc_index = VectorStoreIndex([node_01])

# Debug: Check what's actually stored
print("Index nodes:\n", [node.metadata for node in doc_index.docstore.docs.values()])

filter_null_start_date = MetadataFilter(key="start_date", operator=FilterOperator.EQ, value=None)
filters = MetadataFilters(filters=[filter_null_start_date])
retriever = doc_index.as_retriever(filters=filters, similarity_top_k=1)
nodes = retriever.retrieve("this")

print("Retrieved nodes:\n", [(node.node_id, node.metadata) for node in nodes])
< /code>
Ausgabe: < /p>
Index nodes:
[{'start_date': None}]
Retrieved nodes:
[]
< /code>
Obwohl die Metadaten als {'start_date' gespeichert sind, gibt es den Knoten nicht zurück. filterbar)?
Wenn ja, wie können Sie die empfohlenen Metadatenwerte empfohlen, damit sie über Filter abgerufen werden können?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post