You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 12:22:17