LangChain中示例对话的定义、用途及设置example=True的场景咨询
LangChain中HumanMessage/AIMessage的example参数相关问题解答
1. 什么是示例对话?
示例对话就是给大模型提供的示范对话样本,由一组人类提问(HumanMessage)和对应的AI回答(AIMessage)配对组成,用来直观告诉模型“这类问题应该怎么回应”。比如:
HumanMessage(content="怎么煮米饭?", example=True)AIMessage(content="取适量大米淘洗干净,加1.2倍的水,放入电饭煲按下煮饭键即可。", example=True)
这就是一个典型的示例对话,相当于给模型的参考模板。
2. 在LangChain中示例对话有何用途?
示例对话的核心作用是引导模型输出符合预期的结果,具体包括:
- 规范输出格式:比如要求模型返回JSON结构数据,通过示例对话展示正确的格式,模型会直接参考生成对应结构的内容。
- 对齐回答风格:如果需要专业严谨、口语化或特定语气的回答,用示例对话示范风格,模型会匹配该风格输出。
- 限定回答范围:针对特定领域任务,用示例明确哪些问题该答、该怎么答,避免模型输出无关内容。
- 提升复杂任务准确率:处理多轮对话、逻辑推理等复杂任务时,示例能帮模型快速理解任务逻辑,减少错误判断。
3. 何时需要设置example=True?
当你需要给模型提供少样本(Few-Shot)示范时,就需要把示例对话中的HumanMessage和AIMessage都设置为example=True,具体场景包括:
- 构建对话prompt模板时,需要嵌入固定的示范对话,标记为示例后,模型会明确这是参考案例,而非当前需要处理的用户对话。
- 要求模型遵循特定的对话逻辑或输出规范时,比如生成结构化报告、按特定步骤回答问题,用示例引导时需设置该参数。
- 优化模型回答质量时,通过添加示例对话修正模型的错误输出,此时示例消息需标记为
example=True。
内容的提问来源于stack exchange,提问作者Richie Cotton
相关产品推荐
相关产品推荐

