RUC-NLPIR / FlashRAG

⚡FlashRAG: A Python Toolkit for Efficient RAG Research
https://arxiv.org/abs/2405.13576
MIT License
891 stars 69 forks source link

请问Judger如何使用 #21

Closed liuxinbin12138 closed 1 month ago

liuxinbin12138 commented 1 month ago

是需要一个judger模型还需要training data吗?请问哪里获取呢?

ignorejjj commented 1 month ago

我们目前支持的SKR_knn方法是需要模型和training data的。但是training data仅仅是用在推理阶段(不需要真的训练),原理是对于每个query,通过相似度模型去training data里面找最相似的query集合,根据里面需要检索的query比例来确定是否需要检索。

liuxinbin12138 commented 1 month ago

我们目前支持的SKR_knn方法是需要模型和training data的。但是training data仅仅是用在推理阶段(不需要真的训练),原理是对于每个query,通过相似度模型去training data里面找最相似的query集合,根据里面需要检索的query比例来确定是否需要检索。

我的理解这个模型仅仅是一个提取emb的模型,而不是分类器对吧?此外judger.py的107行有问题吧?

ignorejjj commented 1 month ago

我的理解这个模型仅仅是一个提取emb的模型,而不是分类器对吧?此外judger.py的107行有问题吧?

是的,这个仅仅是计算embedding的模型。judger.py里面的typo我们已经修复,后续会更新最新的结果。

liuxinbin12138 commented 1 month ago

我的理解这个模型仅仅是一个提取emb的模型,而不是分类器对吧?此外judger.py的107行有问题吧?

是的,这个仅仅是计算embedding的模型。judger.py里面的typo我们已经修复,后续会更新最新的结果。

还想问您一个问题就是这些rag算法哪些不需要额外模型呢?我看llmlingual也需要额外的模型

ignorejjj commented 1 month ago

一般focus在优化RAG流程的工作不需要额外的模型,比如iter-retgen和FLARE。以及replug这种优化生成器decoding策略的也不需要。

liuxinbin12138 commented 1 month ago

一般focus在优化RAG流程的工作不需要额外的模型,比如iter-retgen和FLARE。以及replug这种优化生成器decoding策略的也不需要。 okk,thx,目前我遇到的还有一个bug就是base_prompt的format_reference方法有问题,有的算法返回的doc_item是list,不是dict

ignorejjj commented 1 month ago

我目前没有在方法上遇到问题。format_reference返回的应该是str, 可能你说的是get_string? 如果是get_string可能是正常的。

liuxinbin12138 commented 1 month ago

我目前没有在方法上遇到问题。format_reference返回的应该是str, 可能你说的是get_string? 如果是get_string可能是正常的。

SelfAskPipeline您那边没有问题吗

ignorejjj commented 1 month ago

SelfAskpipeline我没有遇到问题。但这种方法需要模型具备比较强的指令跟随能力,用一般的7B模型可能无法完成。可以考虑使用ret-robust提供的模型。