QwenLM / Qwen-Agent

Agent framework and applications built upon Qwen2, featuring Function Calling, Code Interpreter, RAG, and Chrome extension.
https://pypi.org/project/qwen-agent/
Other
2.51k stars 249 forks source link

RAG文档长度对模型生成正确率的影响 #227

Closed Wijipedia closed 4 days ago

Wijipedia commented 4 days ago

模型:本地部署的qwen2:7b--int4量化版本 使用了示例中的assistant_raghttps://github.com/QwenLM/Qwen-Agent/blob/main/examples/assistant_rag.py 以及parallel_doc_qahttps://github.com/QwenLM/的Qwen-Agent/blob/main/examples/parallel_doc_qa.py 分别测试了2k,3k,4k,5k,10k字符的中文文档,该中文文档是从维基百科直接复制的梅西的介绍(其它文档都是10k的精简版)。我发现二者生成的回复没有任何区别,不存在parallel_doc_qaassistat_rag效果好一些的情况,除了parallel回复的慢一些。

此外,assistant_ragparallel_doc_qa在检索3k文档时还能正常回答问题,4k及以上的文档就开始乱说了。 比如我的问题是:根据文档告诉我梅西的父亲是谁,并给出原文中的参考。 3k及以下的回复都是对的,原文的参考也是对的。4k及以上的就开始瞎说了。 assistant_rag_3k assistant_rag_4k

我不知道是我本地模型的问题,还是说别的问题,希望有大佬能给我解疑。谢谢。

JianxinMa commented 4 days ago

方便给一下截图中这两个示例文件吗?我们查下。cc @JialinWangPKU

JianxinMa commented 4 days ago

第二个胡说八道的case有点离谱,我有点怀疑是 int4量化 导致模型表现大幅下降。我试试看

JianxinMa commented 4 days ago

image

我这边用dashscope提供的qwen2-7b-instruct模型,查询wiki页面下载下来的整个html,得到的答复是正常的。

请问您的int4模型是怎么部署的,用的什么框架,checkpoint的来源是?

Wijipedia commented 4 days ago

image

我这边用dashscope提供的qwen2-7b-instruct模型,查询wiki页面下载下来的整个html,得到的答复是正常的。

请问您的int4模型是怎么部署的,用的什么框架,checkpoint的来源是?

我用的ollama部署的qwen2:7b,这个版本就是qwen2:7b-instruct,链接:https://ollama.com/library/qwen2:7b 另外,我刚刚也尝试了使用dashscope提供的qwen2-7b-instruct,发现模型都能识别并正确回复了。 我感觉是ollama部署的模型有问题。