微信扫码
添加专属顾问
我要投稿
掌握RAG高效召回技巧,从query改写、知识库优化到检索策略,全面提升检索准确率。核心内容: 1. Query改写的五种实用方法及对应Prompt设计 2. 知识库处理与优化的关键策略 3. 检索阶段提升准确率的技术方案
RAG介绍
君君 AI,公众号:君君AIRAG技术与应用
instruction = """你是一个智能的查询优化助手。请分析用户的当前问题以及前序对话历史,判断当前问题是否依赖于上下文。如果依赖,请将当前问题改写成一个独立的、包含所有必要上下文信息的完整问题。如果不依赖,直接返回原问题。"""prompt = f"""### 指令 ###{instruction}### 对话历史 ###{conversation_history}### 当前问题 ###{current_query}### 改写后的问题 ###"""
对比型prompt
instruction = """你是一个查询分析专家。请分析用户的输入和相关的对话上下文,识别出问题中需要进行比较的多个对象。然后,将原始问题改写成一个更明确、更适合在知识库中检索的对比性查询。"""
模糊指代型prompt
instruction = """你是一个消除语言歧义的专家。请分析用户的当前问题和对话历史,找出问题中"都"、"它"、"这个" 等模糊指代词具体指向的对象。然后,将这些指代词替换为明确的对象名称,生成一个清晰、无歧义的新问题。"""
多意图型prompt
instruction = """你是一个任务分解机器人。请将用户的复杂问题分解成多个独立的、可以单独回答的简单问题。以JSON数组格式输出。"""prompt = f"""### 指令 ###{instruction}### 原始问题 ###{query}### 分解后的问题列表 ###请以JSON数组格式输出,例如:["问题1", "问题2", "问题3"]"""#原始查询: 门票多少钱?需要提前预约吗?停车费怎么收?#分解结果: ['门票多少钱?', '需要提前预约吗?', '停车费怎么收?']
反问型prompt
instruction = """你是一个沟通理解大师。请分析用户的反问或带有情绪的陈述,识别其背后真实的意图和问题。然后,将这个反问改写成一个中立、客观、可以直接用于知识库检索的问题。"""
这么多种类型要如何判断什么时候用哪种类型呢?当然还是让大预言模型告诉我们,我们通过:
instruction = """你是一个智能的查询分析专家。请分析用户的查询,识别其属于以下哪种类型:1. 上下文依赖型- 包含'还有'、'其他'等需要上下文理解的词汇2. 对比型- 包含'哪个'、'比较'、'更'、'哪个更好'、'哪个更'等比较词汇3. 模糊指代型- 包含"它"、"他们"、"都"、"这个"等指代词4. 多意图型- 包含多个独立问题,用"、"或"?"分隔5. 反问型- 包含"不会"、"难道"等反问语气说明:如果同时存在多意图型、模糊指代型,优先级为多意图型>模糊指代型请返回JSON格式:{"query_type": "查询类型","rewritten_query": "改写后的查询","confidence": "置信度(0-1)"}"""prompt = f"""### 指令 ###{instruction}### 对话历史 ###{conversation_history}### 上下文信息 ###{context_info}### 原始查询 ###{query}### 分析结果 ###"""
高效的检索方法,特别适用于处理长文档或多文档场景。核心思想是通过小规模内容(如摘要、关键字或段落)建立索引,并链接到大规模内容主体中。
小规模内容检索:用户输入查询后,系统首先在小规模内容(如摘要、关键句或段落)中检索匹配的内容。小规模内容通常是通过摘要生成、关键句提取等技术从大规模内容中提取的,并建立索引。
链接到大规模内容:当小规模内容匹配到用户的查询后,系统会通过预定义的链接(如文档 ID、URL 或指针)找到对应的大规模内容(如完整的文档、文章)。大规模内容包含更详细的上下文信息,为 RAG 提供丰富的背景知识。
上下文补充:将大规模内容作为 RAG 系统的上下文输入,结合用户查询和小规模内容,生成更准确和连贯的答案。
知识库处理
知识库问题生成与检索优化prompt
可以将大段的知识交给大模型,让大模型根据文本生成多个问题,再将这些问题和知识组成chunk存入到知识库,提升知识库的丰富度。
instruction = """你是一个专业的问答系统专家。给定的知识内容能回答哪些多样化的问题,这些问题可以:1. 使用不同的问法(直接问、间接问、对比问等)2. 避免重复和相似的问题3. 确保问题不超出知识内容范围"""
对话知识沉淀prompt
产品上线后每天产生大量对话,可以从这些对话中提取和沉淀有价值的知识,持续丰富知识库。当然实现过程还是交给大模型帮我们去做。
首先提取知识:
instruction = """你是一个专业的知识提取专家。请从给定的对话中提取有价值的知识点,包括:1. 事实性信息(地点、时间、价格、规则等)2. 用户需求和偏好3. 常见问题和解答4. 操作流程和步骤5. 注意事项和提醒"""
然后将知识做整理:
prompt = f"""你是一个专业的知识整理专家。请将以下知识点进行智能合并,生成一个更完整、准确的知识点。### 合并要求:1. 保留所有重要信息,避免信息丢失2. 消除重复内容,整合相似表述3. 提高内容的准确性和完整性4. 保持逻辑清晰,结构合理5. 合并后的置信度取所有知识点中的最高值### 待合并的知识点:xxxxx"""
最后将整理的知识当成chunk放进知识库。
好了,关于RAG的一些提高召回率的优化技巧就先介绍这些,如果你有更多想法不妨发到评论区,大家共同探讨。最后,点个关注你会收获更多~
#RAG #RetrievalAugmentedGeneration #Query改写 #对话知识沉淀
53AI,企业落地大模型首选服务商
产品:场景落地咨询+大模型应用平台+行业解决方案
承诺:免费POC验证,效果达标后再合作。零风险落地应用大模型,已交付160+中大型企业
2025-10-26
关于RAG系统在多轮对话中的问题改写(优化)方法—使用历史记录改写问题
2025-10-26
你的RAG知识库,真的“喂”对数据了吗?拆解dify分段策略,告别无效召回
2025-10-16
基于大模型的智能问答场景解决方案——RAG提升召回率的关键
2025-10-16
用合成数据评测 RAG 系统:一份可直接上手的 DeepEval 实操指南
2025-10-16
2025 年 RAG 最佳 Reranker 模型
2025-10-16
HiRAG问答流程深入分析
2025-10-13
LightRAG × Yuxi-Know——「知识检索 + 知识图谱」实践案例
2025-10-13
PG用户福音|一次性搞定RAG完整数据库套装
2025-09-15
2025-09-02
2025-08-05
2025-08-18
2025-08-25
2025-08-25
2025-08-25
2025-09-03
2025-08-20
2025-09-08
2025-10-04
2025-09-30
2025-09-10
2025-09-10
2025-09-03
2025-08-28
2025-08-25
2025-08-20