-
理解
PromptTemplate
:PromptTemplate
是一个类或函数,可能用于生成提示或模板化的代码片段。
-
from_template
方法的作用:- 这个方法可能是用来从一个完整的模板字符串生成一个
PromptTemplate
实例。
- 这个方法可能是用来从一个完整的模板字符串生成一个
-
模板化的重要性:
- 模板化是软件开发中的一种常见实践,它允许开发者创建可重用的代码结构。
-
使用模板的优点:
- 代码重用:减少重复代码,提高开发效率。
- 一致性:确保代码风格和结构的一致性。
- 可维护性:简化代码的修改和维护。
- 示例代码:
import os import getpass from langchain_openai import ChatOpenAI from langchain.chains import LLMChain from langchain.memory import ConversationBufferMemory from langchain_community.chat_models import ChatZhipuAI from langchain_core.prompts.prompt import PromptTemplate model_zhipu =ChatOpenAI( temperature=0.4, model="glm-4", openai_api_key=api_key, #api_key自定义 openai_api_base="https://open.bigmodel.cn/api/paas/v4/" ) full_template = """ {system_prompt} {input_msg} """ full_prompt = PromptTemplate.from_template(full_template) system_prompt = """ 忽略之前的所有消息记录。 你是一个日程提取助手。 日程严格按照以下json格式提取,并且仅回复该json。 [ {"date":"","task":"","location":"" } {"date":"","task":"","location":""} ] 用中文回复 必须严格按照上述格式回复,若date,task,location任何一项未能识别,则用“”取代。 """ input_msg = """ { 用户id:“001” 日期:“2024/07/12”; 周几:“周五”, 部门名称:"门店部", 用户昵称:“小李”, 用户别名:“木子” 原文:“本月我们要完成所有门店的新一轮盘点,新天地店,银泰店店库存特别多要好好盘点,15号要交上来。还有几个门店的业绩下降的,我们需要重点关注,把每个门店的销量做上去,争取8.1号能实现20%的业绩增长。 小李,这个库存盘点的事情交给你,你好好安排下去。门店部在8.1日的时候需要做一次全公司的汇报。” “木子,加油啊!你就快升职加薪了!”.另外看看15号有哪些计划安排 } """ llm_chain = LLMChain(prompt=full_prompt, llm=model_zhipu) response= llm_chain.invoke({"system_prompt":system_prompt,"input_msg":input_msg}) print(response) 如果使用上面的代码,可以使用通过数据库导入prompt来代替修改prompt。做到灵活可控和多性态
6,上面将用户输入信息的提取日程的示例。
使用Langchain和PromptTemplate模板高效提取用户输入的日程事件
于 2024-07-20 15:52:35 首次发布