From 94bbb7f64a1b00dba3464f5b49a796a7392f6a80 Mon Sep 17 00:00:00 2001 From: martsforever Date: Wed, 3 Dec 2025 22:31:44 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=85=88=E6=9A=82=E6=97=B6=E4=B8=8D?= =?UTF-8?q?=E6=94=B9=E7=94=A8=E6=B7=B7=E5=90=88=E6=A3=80=E7=B4=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/utils/milvus_utils.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/app/utils/milvus_utils.py b/app/utils/milvus_utils.py index 9f43a8d..86c162d 100644 --- a/app/utils/milvus_utils.py +++ b/app/utils/milvus_utils.py @@ -52,10 +52,12 @@ class MilvusService: dim=env.llama_index_dimension, embedding_field="embedding", + # text_field="text", # 添加文本字段支持混合检索 id_field="id", similarity_metric="COSINE", consistency_level="Strong", overwrite=False, + # enable_hybrid=True, # 启用混合检索 ) return self._milvus_vector_store @@ -92,7 +94,11 @@ class MilvusService: filters = MetadataFilters(filters=[MetadataFilter(key="parent_code", value=param.kb_code, operator=FilterOperator.IN if isinstance(param.kb_code, list) else FilterOperator.EQ)]) - retriever = vector_index.as_retriever(filters=filters, similarity_top_k=param.top_k) + retriever = vector_index.as_retriever( + retriever_mode="hybrid", # 启用混合模式 + filters=filters, + similarity_top_k=param.top_k + ) result_nodes = await retriever.aretrieve(param.question)