Prompts 提示词工程

chatGpt为代表的AI大模型使用提示器调教LLM神经网络得到模型

一、提示词工程原理

提示词工程的作用如上图

二、使用jinja2与f-string来实现提示词模板格式化

f-string

##f-string 是 python内置的一种模板引擎

from langchain.prompts import PromptTemplate

fstring_template = ""给我讲一个关于{name}的{what}故事"""
prompt = PromptTemplate.from_template(fstring_template)

prompt.format(name="翠花", what="悲伤")

安装 jinja2

pip install jinja2

## Jinja2是一个灵活、高效的python模板引擎、可以方便地生成各种标记格式的文档
from langchain.prompts import PromptTemplate

jinja2_template = "给我讲一个关于{{name}}的{{waht}}故事"
prompt = PromptTemplate.from_template(jinja2_template, template_format="jinja2")

prompt.format(name="狗剩", what="开心")

三、三层提示词设计

# Final Prompt 由一系列变量构成
full_template = """
{Chatacter}

{behavior}

{prohibit}

"""
full_prompt = PromptTemplate.from_template(full_template )

        A、第一层 基本性格设计

Character_template = """你是{person},你有着{xingge}."""
Character_prompt = PromptTemplate.from_template(Character_template)

        B、第二次 行为设计

behavior_template = """你应该遵守以下行为:
{behavior_list}

"""

behavior_prompt = PromptTemplate.from_template(behavior_template)

        C、第三层不允许的行为

prohibit_template = """

你不允许有以下行为:{prohibit_list}
"""
prohibit_prompt = PromptTemplate.from_template(prohibit_template)

        将三层提示词组合起来

input_prompts = [
    ("Character", Character_prompt),
    ("behavior", behavior_prompt),
    ("prohibit", prohibit_prompt),
]

pipeline_prompt = PipelinePromptTemplate(final_prompt=full_prompt, pipeline_prompts=input=input_prompts)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值