RetrievalQAWithSourcesChain 使用openai的做自有知识库的效果很不好,很多问题都超出自有知识库的范围

RetrievalQAWithSourcesChain 使用openai的做自有知识库的效果很不好,很多问题都超出自有知识库的范围。我自己虚构的一些知识库,然后根据这些知识库进行问答,很多答案都超范围了。
自有知识库里面是没有腾讯的信息的,回答里能识别到腾讯的信息。【无奈】

是的,RetrievalQAWithSourcesChain使用了自有的知识库文档,但是有时候可能无法回答超出该知识库范围的问题。这是因为自有知识库的内容有限,无法覆盖所有的问题。如果您的问题超出了自有知识库的范围,建议您考虑使用其他知识库或者更全面的资源来获取答案,或者尝试其他问答模型。

得先去判断一下问题和知识库的相关性吧?如果不相关就直接停止流程返回了。

这个判断代码层面该怎么实现呢?

1 个赞

问题和文本之间有相关性的分数。
最简单的方法就是判断一下相关性大小,相关性达到一定程度,才去生成answer。

我的做法是先用docsearch.similarity_search_with_score(query)得到召回结果的分值,判断一次分值,如果相关性不大的话就直接返回无法回答

不过这么做也碰到了问题,比如问“这篇文章主要讲了些什么”这种比较笼统的问题的时候,召回的相关性也会比较低,就有点无解。。。