Langchain中from_messages等函数释义、适用场景及参考资源咨询
关于LangChain中from_messages、from_template、format、format_messages的简化说明
1. from_template(PromptTemplate类方法)
- 简化解释:用带占位符的字符串快速生成普通文本提示模板,模板里用
{变量名}标记需要后续填充的内容。 - 适用场景:单轮无角色区分的简单提示场景,比如直接让AI总结文本、生成文案,不需要区分系统/用户身份。
- 使用原因:写法极简,无需复杂结构,适合快速创建可复用的基础提示模板。
- 示例代码:
from langchain_core.prompts import PromptTemplate prompt = PromptTemplate.from_template("请把这段文本翻译成英文:{chinese_text}")
2. from_messages(ChatPromptTemplate类方法)
- 简化解释:用多轮对话消息列表创建聊天式提示模板,每条消息要指定角色(系统/用户/AI)和内容,同样支持
{变量名}占位。 - 适用场景:多轮对话场景,比如需要先给AI设定身份(系统消息),再传递用户的历史提问,让AI基于上下文回复。
- 使用原因:完全贴合大模型的聊天接口输入格式,能准确传递对话角色和上下文逻辑,避免AI误解对话场景。
- 示例代码:
from langchain_core.prompts import ChatPromptTemplate prompt = ChatPromptTemplate.from_messages([ ("system", "你是一个资深的Python开发工程师,回答要简洁易懂"), ("user", "请解释{concept}的用法") ])
3. format(PromptTemplate/ChatPromptTemplate通用方法)
- 简化解释:把模板里的占位变量替换成具体值,最终输出纯文本字符串。
- 适用场景:对接只接受纯文本输入的模型,或者需要手动修改、拼接提示文本的场景。
- 使用原因:输出格式简单直接,不需要处理结构化消息,适合轻量化的文本提示需求。
- 示例代码:
# 普通模板调用 text_result = prompt.format(chinese_text="今天天气很好") # 聊天模板调用 chat_text_result = prompt.format(concept="列表推导式")
4. format_messages(ChatPromptTemplate专属方法)
- 简化解释:替换模板变量后,输出结构化的聊天消息列表(每条消息包含角色标识和对应内容)。
- 适用场景:对接GPT系列、Claude等支持聊天消息格式的大模型,多轮对话必须保留角色区分的场景。
- 使用原因:严格符合聊天模型的输入规范,能让模型精准识别各角色的消息,保证对话上下文的连贯性。
- 示例代码:
structured_messages = prompt.format_messages(concept="列表推导式") # 输出示例:[SystemMessage(content='你是一个资深的Python开发工程师,回答要简洁易懂'), HumanMessage(content='请解释列表推导式的用法')]
补充说明
可以结合官方文档里的代码示例,自己动手调试几次,对比不同方法的输出结果,更容易理解它们的差异和适用场景。
内容的提问来源于stack exchange,提问作者Venkata Sai Krishna Abbaraju
相关产品推荐
相关产品推荐

