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放进知识库。
| 欢迎光临 链载Ai (http://www.lianzai.com/) | Powered by Discuz! X3.5 |