当前位置: 首页 > news >正文

LangChain中使用Prompt01

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.lryc.cn/news/458227.html

相关文章:

  • 如何使用bpmn-js实现可视化流程管理
  • 【PostgreSQL 】实战篇——如何使用 EXPLAIN 和 ANALYZE 工具分析查询计划和性能,优化查询
  • List、Map、Set 三个接口存取元素时,各有什么特点
  • 掌握 ASP.NET Web 开发:从基础到身份验证
  • 【C++图文并茂】01背包问题不会?超详细的详解,看完保证你会
  • SQL自学:什么是子查询,如何使用它们
  • No.10 笔记 | PHP学习指南:PHP数组掌握
  • RS-232 串口通信和 RS-485 串口通信的区别
  • 【K8s】专题十四(1):Kubernetes 安全机制之 RBAC
  • 8. 多态、匿名内部类、权限修饰符、Object类
  • CentOS/Ubuntu/Debian安装LibeventCentOS安装Libevent库(含示例代码)库(含示例代码)
  • 【大数据】数据采集工具sqoop介绍
  • vite学习教程02、vite+vue2配置环境变量
  • k8s 的网络通信
  • 【编程基础知识】掌握Spring MVC:从入门到精通
  • 多线程下,@Transactional失效解决
  • PyCharm 项目解释器切换指南:如何在项目中更换 Python Interpreter
  • STM32F407寄存器操作(DMA+SPI)
  • Oracle 的 OCP 与 MySQL 的 OCP 的区别
  • 数据治理、数据清洗定义、区别以及数据清洗常用方法
  • web基础-攻防世界
  • Java基础-String Class(字符串类)
  • 《Linux服务与安全管理》| 服务进程与网络配置
  • No.15 笔记 | CSRF 跨站请求伪造
  • 解决linux中pip速度过慢问题
  • FlinkSQL中 的 双流JOIN
  • Mysql(五) --- 数据库设计
  • po框架的了解和应用
  • Linux云计算 |【第四阶段】RDBMS2-DAY5
  • 从0开始深度学习(9)——softmax回归的逐步实现