PromptTemplate
PromptTemplate —— 灵活的提示模板
PromptTemplate 是 LangChain 中用于构建和复用提示(prompt)的基础工具。它允许你通过占位符和变量,动态生成适合不同场景的提示内容。
核心用法:
⚠️ 注意:
PromptTemplate
适用于单轮对话或静态提示,如果需要多轮对话或消息流,建议使用ChatPromptTemplates
。
ChatPromptTemplates —— 多轮对话的提示模板
ChatPromptTemplates 是 LangChain 3 新增的功能(自 v0.1.0 起),专为多轮对话和消息流设计。它允许你以消息(Message)为单位,灵活组合系统、用户、AI 等多种角色的提示。
典型用法:
重点:
ChatPromptTemplates
支持多角色消息,如 system、user、ai 等。- 可以通过
.from_messages()
传入消息列表,灵活组合多轮对话。 .format_messages()
返回的是消息对象列表,适合直接传递给 LLM。
⚠️ 注意:
ChatPromptTemplates
适合多轮对话和复杂消息流,比PromptTemplate
更适合对话型应用。
MessagesPlaceholder —— 动态插入历史消息
MessagesPlaceholder 是 LangChain 3 的一项重要特性(自 v0.1.0 起),用于在对话模板中动态插入历史消息,实现上下文记忆和多轮对话。
典型用法:
重点:
MessagesPlaceholder
允许你动态插入消息
⚠️ 注意:
MessagesPlaceholder
仅在ChatPromptTemplates
中使用,不支持在PromptTemplate
中使用。