news 2026/5/31 0:18:23

[智能体-173]:LangChain 提示词模板(PromptTemplate)全用法

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
[智能体-173]:LangChain 提示词模板(PromptTemplate)全用法

整理基础模板、变量传参、聊天模板、分段模板、FewShot 示例模板,附可直接运行代码,基于 Python + LangChain 主流版本。

一、环境依赖

bash

运行

pip install langchain langchain-openai

二、基础字符串 PromptTemplate(最常用)

1. 简单单变量模板

python

运行

from langchain.prompts import PromptTemplate # 1. 定义模板 + 输入变量 template = "请用{language}翻译这句话:{content}" prompt = PromptTemplate( input_variables=["language", "content"], # 变量名 template=template ) # 2. 传入参数、生成最终提示词 res = prompt.format(language="英文", content="你好,LangChain") print(res)

2. 无变量静态模板

python

运行

prompt = PromptTemplate( input_variables=[], template="你是专业AI助手,回答简洁准确。" ) print(prompt.format())

3. 简写写法(from_template)

一行快速创建,日常开发首选:

python

运行

prompt = PromptTemplate.from_template("回答{question},风格:{style}") print(prompt.format(question="什么是大模型", style="通俗"))

三、聊天场景模板(ChatPromptTemplate)

适配对话模型(gpt-3.5/4、通义、文心等聊天类模型),区分系统、用户、助手角色。

1. 基础多角色聊天模板

python

运行

from langchain.prompts import ChatPromptTemplate # 格式:(角色, 模板文本) chat_template = ChatPromptTemplate.from_messages([ ("system", "你是资深{role}专家,语气专业严谨"), ("user", "请讲解{topic}") ]) # 格式化输出 messages = chat_template.format_messages(role="Python", topic="装饰器") print(messages)

2. 单条快捷构造

python

运行

chat_prompt = ChatPromptTemplate.from_template("帮我总结这段文字:{text}")

3. 固定系统提示 + 动态用户提问

工程化常用组合:

python

运行

chat_prompt = ChatPromptTemplate.from_messages([ ("system", "你是文档总结助手,不超过50字"), "用户问题:{query}" # 简写,默认 user 角色 ])

四、分段 / 组合模板(PipelinePromptTemplate)

多个子模板拼接,适合复杂长提示词、模块化拆分。

python

运行

from langchain.prompts import PipelinePromptTemplate # 子模板1:身份设定 full_template = PromptTemplate.from_template(""" {identity} {task} 输入内容:{input} """) identity_template = PromptTemplate.from_template("身份:{role}") task_template = PromptTemplate.from_template("任务:{desc}") # 组合管道模板 pipeline_prompt = PipelinePromptTemplate( final_prompt=full_template, pipeline_prompts=[ ("identity", identity_template), ("task", task_template) ] ) res = pipeline_prompt.format( role="数据分析师", desc="分析数据亮点", input="本月营收上涨20%" ) print(res)

五、FewShot 少样本提示模板(示例引导)

给模型示范样例,大幅提升任务准确率(分类、抽取、格式输出必备)。

1. FewShotPromptTemplate 基础用法

python

运行

from langchain.prompts import FewShotPromptTemplate, PromptTemplate # 1. 定义示例 examples = [ {"query": "今天天气好吗", "answer": "闲聊"}, {"query": "帮我写代码", "answer": "编程"}, {"query": "解释数学公式", "answer": "数理"} ] # 2. 单个示例的渲染模板 example_template = PromptTemplate.from_template( "问题:{query}\n分类:{answer}" ) # 3. 组装少样本模板 few_shot_prompt = FewShotPromptTemplate( examples=examples, example_prompt=example_template, prefix="请对问题进行分类,参考以下例子:", # 前缀说明 suffix="问题:{query}\n分类:", # 后缀(用户真实提问) input_variables=["query"] ) # 生成提示词 print(few_shot_prompt.format(query="帮我解高数题"))

2. 动态采样示例(ExampleSelector)

数据量大时随机 / 相似选取样本,避免提示词超长:

python

运行

from langchain.prompts.example_selector import LengthBasedExampleSelector selector = LengthBasedExampleSelector( examples=examples, example_prompt=example_template, max_length=80 # 限制示例总长度 ) few_shot_prompt = FewShotPromptTemplate( example_selector=selector, example_prompt=example_template, prefix="参考示例完成分类:", suffix="问题:{query}\n分类:", input_variables=["query"] )

六、常用内置角色模板(直接复用)

LangChain 内置通用角色模板,开箱即用:

python

运行

from langchain.prompts import ( SystemMessagePromptTemplate, HumanMessagePromptTemplate, AIMessagePromptTemplate ) # 系统角色 sys_prompt = SystemMessagePromptTemplate.from_template("你是翻译大师,中英互译") # 用户角色 human_prompt = HumanMessagePromptTemplate.from_template("翻译:{words}") # 组合 chat_prompt = ChatPromptTemplate.from_messages([sys_prompt, human_prompt])

七、实战经典模板(可直接用于项目)

1. 问答机器人模板

python

运行

qa_prompt = PromptTemplate.from_template(""" 基于以下已知信息回答问题,不要编造内容。 已知内容:{context} 用户问题:{question} 回答: """)

2. 文档摘要模板

python

运行

summary_prompt = PromptTemplate.from_template(""" 请简洁总结下文,提炼核心要点: 原文:{text} 总结: """)

3. 对话记忆模板(结合历史聊天)

python

运行

chat_history_prompt = ChatPromptTemplate.from_messages([ ("system", "正常对话,结合上下文回答"), ("human", "历史对话:{chat_history}\n当前问题:{question}") ])

八、关键知识点总结

  1. PromptTemplate:纯文本模板,适配补全类模型;
  2. ChatPromptTemplate:分角色对话模板,主流聊天模型首选
  3. FewShotPromptTemplate:少样本示例,适合分类、抽取、格式约束任务;
  4. 变量统一用{变量名}包裹,input_variables必须和模板变量对应;
  5. 长提示词优先用PipelinePromptTemplate模块化拆分,便于维护。

需要我给你一份Agent / 工具调用专用提示词模板或者RAG 检索增强全套 Prompt吗?

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/31 0:15:07

从RDBMS到AI-Native与Quantum-Ready:数据库架构的范式演进与实战解析

1. 项目概述:一次数据库架构的范式跃迁最近和几个做架构的老朋友聊天,话题总绕不开一个核心痛点:手里的数据系统越来越“拧巴”。一边是业务部门天天喊着要更智能的推荐、更实时的风控,恨不得把AI模型直接怼进数据库里跑&#xff…

作者头像 李华
网站建设 2026/5/31 0:14:37

3分钟上手:免费Web版暗黑2存档编辑器完整使用指南

3分钟上手:免费Web版暗黑2存档编辑器完整使用指南 【免费下载链接】d2s-editor 项目地址: https://gitcode.com/gh_mirrors/d2/d2s-editor 你是否曾经在《暗黑破坏神2》中花费数小时培养角色,却因为一次失误或存档损坏而前功尽弃?或者…

作者头像 李华
网站建设 2026/5/31 0:10:53

树莓派DIY桌面街机赛车:从传感器到Web界面的完整物联网项目

1. 项目概述:从零打造一台桌面级街机赛车如果你和我一样,对老式街机厅里那些轰鸣作响、手感扎实的赛车游戏机怀有某种执念,但又苦于它们庞大的体积和昂贵的价格,那么这个项目可能就是为你准备的。过去几个月,我利用业余…

作者头像 李华
网站建设 2026/5/31 0:04:06

STM32F4驱动AD7606避坑指南:SPI配置、时序调试与电压换算全流程

STM32F4驱动AD7606避坑指南:SPI配置、时序调试与电压换算全流程第一次接触AD7606这款16位高精度ADC时,我被它复杂的时序和电压换算搞得焦头烂额。记得当时在实验室熬到凌晨三点,SPI死活读不出数据,最后发现是GPIO模式配置错了。本…

作者头像 李华
网站建设 2026/5/31 0:01:42

毕业论文神器!2026最新AI论文写作软件测评与推荐

2026年真正好用的AI论文写作软件,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …

作者头像 李华
网站建设 2026/5/31 0:01:41

2026最新!AI论文写作工具测评:这几款知网都认可

2026年真正好用的AI论文写作工具,核心看生成的论文质量、低AI味、格式正确、学术适配四大指标。综合实测,千笔AI、ThouPen、豆包、DeepSeek、Grammarly 是当前最值得推荐的梯队,覆盖从免费到付费、从中文到英文、从文科到理工的全场景需求。 …

作者头像 李华