使用Langchain和PromptTemplate模板高效提取用户输入的日程事件

  1. 理解PromptTemplate:

    • PromptTemplate是一个类或函数,可能用于生成提示或模板化的代码片段。
  2. from_template方法的作用:

    • 这个方法可能是用来从一个完整的模板字符串生成一个PromptTemplate实例。
  3. 模板化的重要性:

    • 模板化是软件开发中的一种常见实践,它允许开发者创建可重用的代码结构。
  4. 使用模板的优点:

    • 代码重用:减少重复代码,提高开发效率。
    • 一致性:确保代码风格和结构的一致性。
    • 可维护性:简化代码的修改和维护。
  5. 示例代码:
    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,上面将用户输入信息的提取日程的示例。

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值