Pārlūkot izejas kodu

fix tidb metadata filter (#16237)

tags/1.1.1
Jyong pirms 7 mēnešiem
vecāks
revīzija
a8879057c0
Revīzijas autora e-pasta adrese nav piesaistīta nevienam kontam

+ 6
- 12
api/core/rag/datasource/vdb/tidb_on_qdrant/tidb_on_qdrant_vector.py Parādīt failu

) )
document_ids_filter = kwargs.get("document_ids_filter") document_ids_filter = kwargs.get("document_ids_filter")
if document_ids_filter: if document_ids_filter:
should_conditions = []
for document_id_filter in document_ids_filter:
should_conditions.append(
if filter.must:
filter.must.append(
models.FieldCondition( models.FieldCondition(
key="metadata.document_id", key="metadata.document_id",
match=models.MatchValue(value=document_id_filter),
match=models.MatchAny(any=document_ids_filter),
) )
) )
if should_conditions:
filter.should = should_conditions # type: ignore
results = self._client.search( results = self._client.search(
collection_name=self._collection_name, collection_name=self._collection_name,
query_vector=query_vector, query_vector=query_vector,
) )
document_ids_filter = kwargs.get("document_ids_filter") document_ids_filter = kwargs.get("document_ids_filter")
if document_ids_filter: if document_ids_filter:
should_conditions = []
for document_id_filter in document_ids_filter:
should_conditions.append(
if scroll_filter.must:
scroll_filter.must.append(
models.FieldCondition( models.FieldCondition(
key="metadata.document_id", key="metadata.document_id",
match=models.MatchValue(value=document_id_filter),
match=models.MatchAny(any=document_ids_filter),
) )
) )
if should_conditions:
scroll_filter.should = should_conditions # type: ignore
response = self._client.scroll( response = self._client.scroll(
collection_name=self._collection_name, collection_name=self._collection_name,
scroll_filter=scroll_filter, scroll_filter=scroll_filter,

Notiek ielāde…
Atcelt
Saglabāt