开源模型应用落地-LangChain实用小技巧-使用文件管理Prompt模版(六)

一、前言

   使用文件管理提示词模板可以带来多方面的好处:它有助于提高代码的可读性和可维护性,它能确保在不同的文件操作中使用一致的提示格式和参数传递方式,同时模板也便于扩展和复用。总的来说,采用文件管理提示词模板是一种非常值得推广的最佳实践。


二、术语

2.1.提示词模板

    是一种预先定义好的结构或格式,用于指导和规范生成特定类型的提示或指令。它通常包含一些固定的文本部分和占位符,占位符可以在使用时被具体的值或信息所替换。例如,“请分析[文本内容]中的情感倾向”,这里“[文本内容]”就是一个占位符。

使用文件管理提示词模板的好处

  1. 提高代码的可读性和可维护性:通过使用清晰定义的模板,使得文件管理相关的代码逻辑更加直观,易于理解和修改

  2. 一致性和标准化:确保在不同的文件管理操作中使用一致的提示格式和参数传递方式,有助于减少错误和不一致性

  3. 便于扩展和复用:可以方便地创建新的模板来支持新的文件管理需求,或者在不同的项目中复用现有的模板

  4. 提高开发效率:减少了重复编写相似代码的工作量,让开发者能够更快速地实现文件管理功能。

使用文件管理提示词模板的步骤

  1. 定义提示词模板:明确想要实现的文件管理操作的具体需求,例如读取文件、写入文件、删除文件等,并根据这些需求创建相应的提示词模板

  2. 加载和设置模板:在代码中,使用 LangChain 提供的相关接口或方法来加载和设置定义好的提示词模板。

  3. 传递参数:根据模板中定义的占位符,传递相应的具体参数值,以指定具体的文件操作细节。


三、前提条件 

3.1. 基础环境

  1.  操作系统:不限

3.2. 安装虚拟环境

conda create --name langchain python=3.10
conda activate langchain
pip install langchain langchain-openai langchain-community

四、技术实现

4.1.JSON文件示例

prompt_example.json

{
    "_type":"prompt",
    "input_variables":["region","num"],
    "template":"{region}有什么好玩的地方,请推荐{num}个。"
}

具体代码:

# -*- coding: utf-8 -*-
from langchain_core.prompts import load_prompt

if __name__ == '__main__':
    prompt = load_prompt("prompt_example.json")
    print(prompt)
    print(prompt.format(region="广州", num="1"))

    print(prompt.format(region="深圳", num="3"))

调用结果:

4.2.yaml文件示例

prompt_example.yaml

_type: prompt
input_variables:
    ["region","num"]
template:
    "{region}有什么好玩的地方,请推荐{num}个。"

具体代码:

# -*- coding: utf-8 -*-
from langchain_core.prompts import load_prompt

if __name__ == '__main__':
    prompt = load_prompt("prompt_example.yaml")
    print(prompt)
    print(prompt.format(region="广州", num="1"))

    print(prompt.format(region="深圳", num="3"))

调用结果:

4.3.完整示例

# -*- coding: utf-8 -*-
import os

from langchain_core.prompts import load_prompt
from langchain_openai import ChatOpenAI

os.environ["OPENAI_API_KEY"] = "sk-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

if __name__ == '__main__':
    prompt = load_prompt("prompt_example.yaml")

    prompt = prompt.format(region="广州", num="1")
    
    llm = ChatOpenAI(model_name='gpt-3.5-turbo-1106', temperature=0.1, max_tokens=512)


    print(llm.invoke(prompt))



调用结果:


五、总结

5.1. 使用文件管理提示词模板的要点

  1. 权限和安全性

    确保您的应用具有适当的文件操作权限。对敏感文件的访问应受到严格控制,以防止数据泄露或未经授权的修改。
  2. 路径准确性

    在提示词模板中指定的文件路径必须准确无误。错误的路径可能导致文件操作失败。
  3. 错误处理

    为文件操作可能出现的错误情况编写完善的错误处理代码。例如,文件不存在、权限不足、磁盘空间不足等情况。
  4. 数据格式和编码

    注意文件中的数据格式和编码,确保在读取和写入操作中正确处理。不同的文件可能使用不同的编码方式,如 UTF-8、GBK 等。
  5. 模板的灵活性和可扩展性

    设计的提示词模板应具有一定的灵活性,以便能够适应未来可能的变化和扩展需求。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

开源技术探险家

以微薄之力温暖这个世界

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值