分享
BishengRetrievalQA
输入“/”快速插入内容
BishengRetrievalQA
用户2345
用户2345
用户1272
用户1272
2024年7月5日修改
BishengRetrievalQA
:毕昇增强知识库问答chain
上游触点
◦
Preset Question:与[输入/input]中的InputNode组件连接
◦
Llm:与[语言模型/LLMs]中的组件连接
◦
Vector Store:与向量存储/VectorStores - Milvus, MilvusWithPermissionCheck连接
◦
Keyword Store:与向量存储/VectorStores - ElasticKeywordsSearch连接
下游触点
◦
可以不连接下游触点,直接使用
◦
可以与Tool组件连接
工作原理
◦
必须连接ElasticKeywordsSearch组件、Milvus组件、Llm组件[语言模型/LLMs]
◦
核心步骤:
▪
根据
query进行混合检索召回(es和向量各召回100个chunk),chunk去重排序(按chunk顺序以及es和向量是否都存在作为分数排序参考)
;
▪
根据max_content参数(送给模型的上下文大小),去掉分数比较低的chunk,保留前top chunk;
▪
根据sort_by_source_and_index参数,按照文档的source和chunk_index对chunk进行排序(sort_by_source_and_index=True),保证上下文的连贯性和一致性;
▪
根据query和召回的chunk,送给大模型进行回答
。
参数设置
◦
max_content:控制送给模型的上下文大小,默认为15000,通过这个参数控制最终保留的chunk数;
◦
sort_by_source_and_index:是否按照文件名和chunk_index对chunk进行排序(保证chunk之间的连贯性),
默认为False
。