feat: milvus检索的时候手动过滤分数过低的检索文档块
This commit is contained in:
@@ -95,6 +95,7 @@ class MilvusService:
|
|||||||
retriever = vector_index.as_retriever(filters=filters, similarity_top_k=param.top_k)
|
retriever = vector_index.as_retriever(filters=filters, similarity_top_k=param.top_k)
|
||||||
|
|
||||||
result_nodes = await retriever.aretrieve(param.question)
|
result_nodes = await retriever.aretrieve(param.question)
|
||||||
|
result_nodes = [node for node in result_nodes if node.score >= 0.3]
|
||||||
|
|
||||||
chain = ChatPromptTemplate.from_template("""
|
chain = ChatPromptTemplate.from_template("""
|
||||||
你将收到一个用户问题和一组来自LlamaIndex的检索结果。你的任务是:
|
你将收到一个用户问题和一组来自LlamaIndex的检索结果。你的任务是:
|
||||||
@@ -124,6 +125,9 @@ class MilvusService:
|
|||||||
|
|
||||||
relative_content = await chain.ainvoke(chain_input)
|
relative_content = await chain.ainvoke(chain_input)
|
||||||
|
|
||||||
|
# print("milvus search answer", relative_content)
|
||||||
|
# print("milvus search nodes", [node.node.text for node in result_nodes])
|
||||||
|
|
||||||
return MilvusSearchResponse(
|
return MilvusSearchResponse(
|
||||||
answer=relative_content,
|
answer=relative_content,
|
||||||
nodes=[
|
nodes=[
|
||||||
|
|||||||
Reference in New Issue
Block a user