提示词工程代码实践

5 阅读2分钟

github地址:github.com/YueJingGe/p…

提示词工程

大模型本质上是文字接龙,通过优化提示词 prompt 和生成策略,从而获得更好的模型返回结果的工程技术,如下图:

image.png

好的Prompt需要不断调优,最终的结果是要得到稳定的输出。  

提示词的构成

• 指示(Instruction):描述要让它做什么?

• 上下文(C6ntext):给出与任务相关的背景信息

• 例子(Examples):给出一些例子,让模型知道怎么回复

• 输入(Input):任务的输入信息

• 输出(Output Format):输出的格式,想要什么形式的输出?

提示词工程 + 代码

1、定义清楚的提示词

减少模型幻觉,减少计算时间

image.png

2、结构化提示词、使用变量

• instruction =“"根据下面的上下文回答问题。保持答案简短且准确””

• context ="""Teplizumab起源于一个位于新泽西的药品公司"""

• query = """OKT3最初是从什么来源提取的?"""

• prompt = f"'''{instruction} ### 上下文 {context}###问题:{query}"""

代码上类似于这样:

image.png

3、定义输出格式

image.png  

 4、样本学习shot learning

• one-shot learning: 只给一个example

• few-shot learning: examples

• zero-shot learning: 不给任何的examples

image.png

5、思维链

基本是大模型已经内置的一个能力,如果想要显示的使用可以加上:请逐步思考

image.png  

提示词工程+具体业务

1、短视频脚本制作

image.png

最终版本:可以将上面的结果复制给另一个大模型进行评价修改,比如:

“以下是一个短视频脚本的设计,请对之进行评价,并给出修改建议。”

2、小红书爆款文章

image.png

如果没有行业经验,可以让大模型帮你做一些总结工作,然后再把它优化到你的提示词中。

总结

写清楚指令,将复杂任务拆分成更简单的子任务(让大模型帮你拆分任务)

提供参考文本,使用外部工具(搜提示词优化)

引入新信息,可靠的复制复杂的风格或方法