#手写5种RAG高级方法#
科罗拉多大学的Tom Yeh教授手写了五种不同的RAG高级方法【视频1】:
1. 查询重写 RAG(Query Rewriting RAG):通过以下步骤优化查询检索:
• 输入与查询:用户输入原始查询。
• 查询重写:使用语言流(LangFlow)技术对原始查询进行重写,生成新的查询。
• 向量数据库检索:使用新查询在向量数据库中检索信息。
• 增强的提示系统:将检索到的信息与原始查询整合,生成增强的上下文查询。
• LLM 处理:将增强的上下文查询发送至大型语言模型(LLM),生成输出。
• 输出:输出结果,例如标价 $10。
2. 多查询 RAG(Multi-query RAG):通过生成多个查询变体,针对不同的方面或角度,来提升检索的全面性:
• 用户输入:用户提供初始查询。
• 查询提示:根据输入生成多个新查询。
• 分块检索:在向量数据库中检索每个新查询的相关信息。
• 信息合并:将所有检索到的信息块合并。
• LLM 生成:将合并后的上下文发送至 LLM,输出结果。
3. Hyde RAG:直接使用用户查询检索信息,并快速生成答案:
• 用户输入:用户提供查询。
• 直接检索:查询在向量数据库中直接检索相关信息。
• 增强的提示系统:结合检索到的信息和用户查询。
• LLM 生成:信息被送入 LLM 进行处理,生成答案。
4. 思想骨架 RAG(Skeleton of Thought RAG):将查询分解成多个部分,分别检索,并合并结果:
• 用户输入:用户提供查询。
• 查询分解:将查询分解为头部、身体和脚趾等部分。
• 分块检索:每个部分在向量数据库中单独检索。
• 合并 LLMS:将各部分的检索结果结合其上下文,由 LLM 处理。
• 最终输出:合并 LLM 的处理结果,生成最终答案。
5. 检索加权 RAG(Retrieval Weighting RAG):为不同信息源分配权重来优化查询结果的生成:
• 用户输入:用户提供查询。
• 查询与权重:查询在向量数据库中根据预设权重检索,如医疗、商业和法律。
• 加权块检索:根据权重检索信息块。
• LLM 加工:将加权的检索结果发送至 LLM,生成答案。
可以看到,每种方法都有不同的策略来优化RAG,我们可以根据不同的应用场景和数据类型,选择最合适的RAG策略
以上就是手写5种RAG高级方法的详细内容,更多请关注全栈开发网其它相关文章!