瀏覽代碼

fix weaviate metadata filter (#16230)

tags/1.1.1
Jyong 7 月之前
父節點
當前提交
81325df368
沒有連結到貢獻者的電子郵件帳戶。
共有 1 個檔案被更改,包括 8 行新增2 行删除
  1. 8
    2
      api/core/rag/datasource/vdb/weaviate/weaviate_vector.py

+ 8
- 2
api/core/rag/datasource/vdb/weaviate/weaviate_vector.py 查看文件

@@ -189,7 +189,10 @@ class WeaviateVector(BaseVector):
vector = {"vector": query_vector}
document_ids_filter = kwargs.get("document_ids_filter")
if document_ids_filter:
where_filter = {"operator": "ContainsAny", "path": ["document_id"], "valueTextArray": document_ids_filter}
operands = []
for document_id_filter in document_ids_filter:
operands.append({"path": ["document_id"], "operator": "Equal", "valueText": document_id_filter})
where_filter = {"operator": "Or", "operands": operands}
query_obj = query_obj.with_where(where_filter)
result = (
query_obj.with_near_vector(vector)
@@ -237,7 +240,10 @@ class WeaviateVector(BaseVector):
query_obj = self._client.query.get(collection_name, properties)
document_ids_filter = kwargs.get("document_ids_filter")
if document_ids_filter:
where_filter = {"operator": "ContainsAny", "path": ["document_id"], "valueTextArray": document_ids_filter}
operands = []
for document_id_filter in document_ids_filter:
operands.append({"path": ["document_id"], "operator": "Equal", "valueText": document_id_filter})
where_filter = {"operator": "Or", "operands": operands}
query_obj = query_obj.with_where(where_filter)
query_obj = query_obj.with_additional(["vector"])
properties = ["text"]

Loading…
取消
儲存