【自然语言处理与大模型】LangChain大模型应用框架入门②

        本文介绍LangChain的另一个重要组件——提示词模板(Prompt Template)组件,它主要用于将用户输入和参数转换为语言模型可理解的指令。有助于引导模型生成符合预期的响应,帮助其更好地理解上下文,从而输出相关且连贯的语言结果。提示词模板的输入是一个字典,其中每个键对应模板中需要填充的变量名。输出是一个 PromptValue 对象。该对象可以直接传递给语言模型(LLM)或聊天模型(ChatModel),也可以转换为字符串或消息列表。引入 PromptValue 的目的是为了在字符串格式和消息格式之间灵活切换,提升使用的便捷性。

        简单介绍过后我们就可以开始学习两个重要的prompt类了,LangChain Prompt一共有四个类,但我觉得先学会两个重要的再说。

提示词模版功能描述
PromptTemplate定义基础提示词模板,支持变量替换
FewShotPromptTemplate支持注入少量示例(few-shot learning)以引导模型输出
PipelinePromptTemplate支持将多个 Prompt 模板组合串联使用
ChatPromptTemplate针对 ChatModel 设计的消息格式封装,适用于对话模型

(1)基础提示词模板

        基础提示词模板定义一个带变量的模板,你要替换的变量用 {{ }} 包裹住就行。

from langchain.prompts import PromptTemplate

template = "请回答以下问题:{question}"
prompt = PromptTemplate.from_template(template)

# 使用
print(prompt.format(question="什么是人工智能?"))
# 输出是“请回答以下问题:什么是人工智能?”

(2)对话提示词模板

        对话提示词模板用于构造符合聊天模型格式的消息结构,之前的版本是用SystemMessage, HumanMessage类来构建的,现在可以用更简单的方式,使用元组并且第一个元素放上“对话角色”就可以了。

from langchain.prompts import ChatPromptTemplate

prompt = ChatPromptTemplate.from_messages([
    ("system", "你是一个知识丰富的助手。"),
    ("human", "请介绍:{topic}")
])

# 使用
messages = prompt.format(topic="深度学习")
print(messages)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值