【2024最全最细Langchain教程-4 】Langchain模型I/O之提示Prompt(二)

【2024最全最细Langchain教程-3 】Langchain模型I/O之提示Prompt(一)-CSDN博客

 Prompt的其他两种写法

        在上一节课里,我们初步介绍了langchain的模型I/O,并介绍了提示词或模板 prompt,今天我们继续加深对prompt的理解,了解prompt的几种其他的生成方式,首先,我们还是引入必要的包,然后建立一个llm模型:

import langchain
import os

from langchain_openai import ChatOpenAI

# 引入模板 ChatPromptTemplate
from langchain_core.prompts import ChatPromptTemplate

api_key = os.getenv("OPENAI_API_KEY")

llm = ChatOpenAI(
    openai_api_key=api_key,
    temperature = 0.5,
    base_url = "https://apejhvxcd.cloud.sealos.io/v1"
)

        上一节课,我们是用from_messages()方法来创建的模板,这次我们使用一个更常用的方法from_template()来创建提示词模板:

prompt = (
    ChatPromptTemplate.from_template("给我讲一个关于{topic}的笑话")
    + "\n\n 并且用 {language} 来讲"
)

chain = prompt | llm

chain.invoke({"topic":"爱情","language":"英文"})

        比较简单的模板可以直接以“str + {parameter}”的形式插入进from_template()的输入,而且在这个方法的之后可以加上其他的说明,运行的结果如下:

 提示词工程初识

        如果是比较长的template内容,可以这样进行设置更加清晰(这种形式是使用的最多的),注意,你可以在你的提示词里加入明确的对大模型的要求,比如这里的template中就加入了对输出的要求,希望大模型不仅要回答正确的问题,还要用诗一样的语言来描述这个答案,这个就是提示词工程的雏形,就是你可以用prompt去引导大语言模型如何思考和输出,这个对于我们来说是非常重要的:

from langchain import PromptTemplate

template = """
你是一个旅游销售员,你不仅要告诉用户正确的答案,还要用诗一样的语言来描述这个答案!
请告诉我{country}的首都是那座城市?

"""

prompt3 = PromptTemplate(template = template, input_variables=["country"])

chain3 = prompt3 | llm

chain3.invoke({"country":"英国",})

以下是运行结果,可以看到大模型不仅不回答了问题,而且还根据template的要求进行了输出:

项目git地址:https://github.com/jerry1900/jupyter

项目视频地址:06:00【2024最全最细】langchain之prompt提示模板(二)_哔哩哔哩_bilibili

如需openai国内节点账号请与我/联/系/:15652965525(/微/信/)

  • 14
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值