LangChain中使用Prompt01

embedded/2024/10/17 22:00:56/

1.引入提示模板

from langchain.prompts import (SystemMessagePromptTemplate,AIMessagePromptTemplate,HumanMessagePromptTemplate,
)

2.设置系统提示

system_template_text="你是一位专业的翻译,能够将{input_language}翻译成{output_language},并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。"
system_prompt_template = SystemMessagePromptTemplate.from_template(system_template_text)

3.输出系统提示

system_prompt_template

SystemMessagePromptTemplate(prompt=PromptTemplate(input_variables=[‘input_language’, ‘output_language’], template=‘你是一位专业的翻译,能够将{input_language}翻译成{output_language},并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。’))

4.输出系统提示参数值

system_prompt_template.input_variables

输出:[‘input_language’, ‘output_language’]

5.设置用户提示

human_template_text="文本:{text}\n语言风格:{style}"
human_prompt_template = HumanMessagePromptTemplate.from_template(human_template_text)

6.输出用户提示

human_prompt_template.input_variables

输出:[‘style’, ‘text’]

7.为系统提示输入值并输出

system_prompt = system_prompt_template.format(input_language="英语", output_language="汉语")
system_prompt

输出:SystemMessage(content=‘你是一位专业的翻译,能够将英语翻译成汉语,并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。’)

8.为用户提示设置值并输出

human_prompt = human_prompt_template.format(text="I'm so hungry I could eat a horse", style="文言文")
human_prompt

输出:HumanMessage(content=“文本:I’m so hungry I could eat a horse\n语言风格:文言文”)

9.将提示输入模型
from langchain_openai import ChatOpenAI
model = ChatOpenAI(model=“gpt-3.5-turbo”,base_url=“https://api.chatanywhere.tech/v1”)
response = model.invoke([
system_prompt,
human_prompt
])

10.输出结果

print(response.content)

输出:吾今飢甚,可食馬矣。

11.多个示例输入

input_variables = [{"input_language": "英语","output_language": "汉语","text": "I'm so hungry I could eat a horse","style": "文言文"},{"input_language": "法语","output_language": "英语","text": "Je suis désolé pour ce que tu as fait","style": "古英语"},{"input_language": "俄语","output_language": "意大利语","text": "Сегодня отличная погода","style": "网络用语"},{"input_language": "韩语","output_language": "日语","text": "너 정말 짜증나","style": "口语"}
]

12.输出

for input in input_variables:response = model.invoke([system_prompt_template.format(input_language=input["input_language"], output_language=input["output_language"]), human_prompt_template.format(text=input["text"], style=input["style"])])print(response.content)

输出:
吾今飢甚,可食馬也。
I am sorry for what thou hast done
Oggi il tempo è fantastico.
お前、マジでイライラするな。


http://www.ppmy.cn/embedded/127286.html

相关文章

观察者模式和发布-订阅模式的区别

观察者模式是,当被观察者的数据发生变化时,调用被观察者的 notify 方法,去通知所有观察者执行 update 方法进行更新; 对于发布-订阅模式,首先发布者与订阅者互相并不知道彼此的存在,他们是通过事件中心来进…

智能手机、平板和笔记本电脑出口俄罗斯认证解析

智能手机、笔记本电脑和平板电脑,它们的监管范围相似,需要获得EAC 合格证、FAC电信认证和FSS加密认证,才能进口、清关并在俄罗斯市场上销售。 一、海关联盟EAC 认证 是根据 EAC 要求强制批准的证书,并且受到所有国家海关和市场的…

SpringCloud的学习(四)Micrometer、GateWay

Micrometer 分布式链路追踪 在微服务框架中,一个由客户端发起的请求在后端系统中会经过多个不同的的服务节点调用来协同产生最后的请求结果,每一个前段请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或错误都会引起…

Path、File、FileInfo、Directory、DirectoryInfo

当程序运行时,系统为程序开辟内存空间,但是这种空间会随着程序的而结束而释放。如果需要将处理好的数据永久保存,那么就需要IO流技术将处理好的数据存入文件中,文件又是按照路径存储在磁盘上的,因此我们要学会路径的操作。 Path类就是系统为我们提供的用于操作路径的静态…

【C++ 真题】B2059 奇数求和

奇数求和 题目描述 计算非负整数 m m m 到 n n n(包括 m m m 和 n n n)之间的所有奇数的和,其中, m m m 不大于 n n n,且 n n n 不大于 300 300 300。例如 m 3 , n 12 , m3,n12, m3,n12, 其和则为&#xf…

sqli-labs less-20 less-21 less-22 cookie注入

COOKIE 作用:是由网络服务器存储在你电脑硬盘上的一个txt类型的小文件,它和你的网络行为有关,记录了当前用户的状态 形式:keyvalue 例如:当我们登录某个账号后,服务器会在cookies进行记录 个人理解&#xf…

Kafka服务端SASL/PLAIN+ACL认证授权安装操作

Kafkazookeeper安全认证技术介绍 Kafka 目前支持多种认证方式,生产环境常见应用的SASL有以下几种: SSL/TLS认证:本认证是基于SSL/TLS的加密方式,使用SSL/TLS证书对客户端和服务器进行身份验证,确保在传输层上安全保证…

React02 JSX的基本使用

JSX的基本使用 JSX 变量引用JSX 函数调用JSX 方法调用JSX 遍历数组JSX 条件渲染JSX 事件绑定 JSX 变量引用 const userName "BLU"; function App() {return (<div className"App"><p>Hello, {userName}!</p></div>); } export d…