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)