重排通常是通过专门的 Rerank 模型来实现的。例如在一些研究中,如基于 Notion 和 Coze 打造个人知识问答系统,提到若不考虑速度和成本,最好的语义相关度计算算法就是 LLM 本身,所以直接使用 LLM 来做打分和重排。在大模型 RAG 问答的行业最佳实践中,如 Baichuan 案例,对于 Rerank 和 selection 的作用范围存在一定的不确定性,合理猜测是对全部 Material 进行重排序和筛序。
重排一般是通过专门的Rerank模型来实现的,但是本文没有采用这种方案,而是参考了Qwen-Agent这个研究[5],直接使用LLM来做打分和重排。因为我有一个不太成熟的想法:如果不考虑速度和成本的话,最好的语义相关度计算算法就是LLM本身。https://qwenlm.github.io/zh/blog/qwen-agent-2405/
这两个模型是DynamiCrafter封装节点分割好的模型模型放在ComfyUI/models/checkpoints中(也可以放在子文件夹中)模型地址https://huggingface.co/Kijai/DynamiCrafter_pruned/tree/maindynamicrafter_1024_v1_bf16.safetensors(1024x512)https://huggingface.co/Kijai/DynamiCrafter_pruned/blob/main/dynamicrafter_1024_v1_bf16.safetensorsdynamicrafter_512_interp_v1_bf16.safetensors(用于插帧)https://huggingface.co/Kijai/DynamiCrafter_pruned/blob/main/dynamicrafter_512_interp_v1_bf16.safetensorsGPU内存消耗:18.3GB(576x1024),12.8GB(320x512),11.9GB(256x256)。第一次运行会下载模型,如果没有配置环境,可能会失败
此外还引入了self-Critique让大模型基于Prompt、从相关性和可用性等角度对检索回来的内容自省,进行二次查看,从中筛选出与Prompt最匹配、最优质的候选内容。由于在整个Baichuan RAG Flow中分支较多,也并没有具体披露,Rerank和selection是之仅对检索分支出来的内容,还是对其他分支中已经已经生成的内容也要进行。在这里,合理猜测是对全部Material进行重排序和筛序。