PromptTemplatelangchain_core 里一个关键组件,其主要用途是构建和管理提示模板。借助 PromptTemplate,开发者能够把动态参数融入到提示文本里,进而生成个性化的提示信息,以此来和大语言模型进行交互最终获得更准确的回复。下面详细介绍 PromptTemplate
PromptTemplate

1. 基本用途

**PromptTemplate**是一个通用的提示模板类,用于构建文本形式的提示信息,适用于传统的基于文本交互的大语言模型(LLM)。它将动态参数插入到预定义的文本模板中,生成适合模型输入的提示。

2.安装依赖

要使用 PromptTemplate,首先需要安装 langchain_core 库,通过以下命令进行安装:

pip install langchain_core

3.模板结构

**PromptTemplate**使用一个简单的字符串作为模板,其中包含用 {} 括起来的占位符,用于表示需要填充的动态参数。例如:

from langchain_core.prompts import PromptTemplate

template = "请为 {product} 写一个简短的广告语,突出它的 {feature} 特点,适用于 {target_audience}。"
prompt = PromptTemplate(
    input_variables=["product", "feature", "target_audience"],
    template=template
)
3.1 主要参数
  • **template**:字符串类型。提示模板,其中包含用 {} 括起来的占位符。
  • **input_variables**:列表类型。模板字符串里所有占位符的名称。
  • partial_variables :字典值,键为变量名,值为对应的变量值。通过预先设置部分变量,可以简化后续调用 formatformat_prompt 方法时的输入。

4. 输出格式

  • **PromptTemplate**:调用 format 方法后,输出一个普通的字符串,可直接作为模型的输入。例如:
filled_prompt = prompt_template.partial(product="人工智能", target_audience="上班族")
print(filled_prompt)  

5. 使用场景

适用简单的文本生成任务,如文本摘要、问题回答、故事创作等,这些任务通常是一次性的文本交互,不需要多轮对话。

6. 示例代码

PromptTemplate示例
from langchain.prompts import PromptTemplate
from langchain_ollama import ChatOllama
from langchain_core.output_parsers import StrOutputParser

template = "请为 {product} 产品写一个简短的广告语,突出它的 {feature} 特点,适用于 {target_audience}。"
prompt_template = PromptTemplate(
    input_variables=["product", "feature", "target_audience"],
    template=template
)

# 使用 partial_variables 预先填充部分变量
partial_prompt = prompt_template.partial(product="智能手表", target_audience="上班族")

model = ChatOllama(model="qwen2.5:3b")

chain = partial_prompt|model|StrOutputParser()
response = chain.invoke({"feature":"智能"})
print(response)

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐