LangChain使用Prompt02

embedded/2025/1/31 6:04:26/

1.设置提示

from langchain.prompts import ChatPromptTemplate
prompt_template = ChatPromptTemplate.from_messages([("system", "你是一位专业的翻译,能够将{input_language}翻译成{output_language},并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。"),("human", "文本:{text}\n语言风格:{style}"),]
)

2.输出提示模板

prompt_template.input_variables

[‘input_language’, ‘output_language’, ‘style’, ‘text’]

3.提示中输入值

prompt_value = prompt_template.invoke({"input_language": "英语", "output_language": "汉语", "text":"I'm so hungry I could eat a horse", "style": "文言文"})
prompt_value

ChatPromptValue(messages=[SystemMessage(content=‘你是一位专业的翻译,能够将英语翻译成汉语,并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。’), HumanMessage(content=“文本:I’m so hungry I could eat a horse\n语言风格:文言文”)])

4.取出提示

prompt_value.messages

[SystemMessage(content=‘你是一位专业的翻译,能够将英语翻译成汉语,并且输出文本会根据用户要求的任何语言风格进行调整。请只输出翻译后的文本,不要有任何其它内容。’),
HumanMessage(content=“文本:I’m so hungry I could eat a horse\n语言风格:文言文”)]

5.输入模型

model = ChatOpenAI(model="gpt-3.5-turbo",base_url="https://api.chatanywhere.tech/v1")
response = model.invoke(prompt_value)

6.获得结果

response

AIMessage(content=‘吾今飢極,如欲食馬也。’, additional_kwargs={‘refusal’: None}, response_metadata={‘token_usage’: {‘completion_tokens’: 17, ‘prompt_tokens’: 109, ‘total_tokens’: 126, ‘completion_tokens_details’: {‘reasoning_tokens’: 0}}, ‘model_name’: ‘gpt-3.5-turbo-0125’, ‘system_fingerprint’: None, ‘finish_reason’: ‘stop’, ‘logprobs’: None}, id=‘run-9d752bd9-468e-4fe1-9ff9-e379561c957b-0’, usage_metadata={‘input_tokens’: 109, ‘output_tokens’: 17, ‘total_tokens’: 126})

7.取出结果

response.content

‘吾今飢極,如欲食馬也。’

8.多行示例

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": "口语"}
]

10.输入模型

for input in input_variables:response = model.invoke(prompt_template.invoke({"input_language": input["input_language"], "output_language": input["output_language"], "text":input["text"], "style": input["style"]}))print(response.content)

输出:
吾今饥饱难忍,实有食马之心也。
I am sorry for what thou hast done.
Oggi tempo fantastico
お前本当にイライラするな


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

相关文章

JavaScript将array数据下载到Excel中

具体代码如下&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widt…

Python:方法的链式调用

相关阅读 Pythonhttps://blog.csdn.net/weixin_45791458/category_12403403.html?spm1001.2014.3001.5482 在Python编程中&#xff0c;方法的链式调用是一种简洁且优雅的编程风格&#xff0c;它允许你在一行代码中连续调用多个方法&#xff0c;这种编程模式在简化代码、提升可…

Android Compose 控件基本属性

本文的代码由上一篇文章的Demo进一步书写完成, 传送门:Android Compose的基本使用-CSDN博客 _____________________________________________________________________________ 以下代码分别列举了控件的: 内边距,外边距,内容居中,渐变自定义边框,宽度权重,string资源引用等…

解决方案:“<”not supported between instances instances of “int” and “str”

文章目录 一、现象二、解决方案 一、现象 # 按照2024年10月01日为界拆分数据集 train df[:2024-09-30].iloc[:, 0:1].values #训练集 test df[2024-10-01:].iloc[:, 0:1].values #测试集“<”not supported between instances instances of “int” and “str” 二…

Tiktok 网络稳定与 IP 类型的关系

大家好&#xff01;今天&#xff0c;我们要聊一个既实用又接地气的话题——静态IP和动态IP&#xff0c;哪个更适合你的Tiktok账号呢&#xff1f;别担心&#xff0c;我会用最简单的方式帮你理清思路&#xff0c;让你轻松做出选择。 首先&#xff0c;咱们得明白什么是静态IP和动…

JavaScript 中的 DOM 尺寸测量与节流技巧

“今日事,今日毕” 文章目录 前言文章有误敬请斧正 不胜感恩&#xff01;一、如何获取元素的尺寸1. Element.clientHeight 和 Element.clientWidth2. Element.scrollHeight 和 Element.scrollWidth3. Element.scrollTop 和 Element.scrollLeft 二、节流&#xff08;Throttle&am…

【React】如何对组件加载进行优化

1. 懒加载 (Lazy Loading) 使用 React.lazy() 和 Suspense 来实现懒加载&#xff08;按需加载&#xff09;组件。只有在需要时才加载对应组件&#xff0c;可以减小初始加载的体积。 const LazyComponent React.lazy(() > import(./LazyComponent));function App() {retur…

3_路由器分组交换知多少?20241009

上次介绍到了路由器的分组交换戛然而止&#xff0c;这次扫盲式介绍下。 1、分组交换的主要特点 分组交换则采用存储转发技术1-11 表示把一个报文划分为几个分组后再进行传送。通常我们把要发送的整块数据称为一个报文(message)。在发送报文之前&#xff0c;先把较长的报文划分成…