有时候我们可能需要大语言模型帮我们完成一些重复的、只需要改动其中几个变量的任务
比如希望大语言模型根据某一个主题来撰写某一种风格的文案
如果没有模板,我们每次都要重复跟大语言模型表述几乎相同的内容,十分繁琐
可以把这个过程抽象出来,给大语言模型这样的一条提示词:
“你是一个文案撰写专家,请你根据{主题}来撰写{风格}的文案”
下次只需要填写花括号内的内容即可
langchain主要提供了两种提示词模板
用于标准语言模型
from langchain.prompts import PromptTemplate
#定义模板,需要传入两个参数,一是后续需要填写的参数列表,二是带花括号内容的模板
template=PromptTemplate(input_variables=["subject","level"],template="你是一个学习小助手,你的任务是帮助用户完成{subject}的学习,回答用户的问题后给出{level}程度的十道练习题")
#使用时填入参数值形成提示词
prompt=template.format(subject="数学",level="简单")用于聊天模型
from langchain.prompts import ChatPromptTemplate
from langchain.prompts.chat import SystemMessagePromptTemplate,HumanMessagePromptTemplate
#系统提示词模板
system_template=SystemMessagePromptTemplate.from_template("你是一个学习小助手,你的任务是帮助用户完成{subject}的学习,回答完用户的问题后,给出十道{level}程度的练习题")
#人类提示词模板
human_template=HumanMessagePromptTemplate.from_template("{text}")
#拼接成消息
chat_template=ChatPromptTemplate.from_messages([system_template,human_template])
#使用时填入参数
prompt=chat_template.format_prompt(subject="数学",level="简单",text="1+1等于几?").to_messages()原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。