Prompt

什么事提示词工程

提示工程(Prompt Engineering)返回结果的工程技术。是一项通过优化提示词(Prompt)和生成策略,从而获得更好的模型返回结果 好的Prompt需要不断调优。 说清楚自己到底想要什么,要具体 不要让机器去猜测太多,为了不让机器去猜测,我们就需要告诉细节,事半功倍。提示工程有一些技巧,灵活掌握

提示词的构成

指示(Instruction):描述要让它做什么? 上下文(Context):给出与任务目关的背景信息 例子(Examples):给出一些例让模型知道怎么回复 输入(Input):任务的输入信息 输出(Output Format):输出的格式,想要什么形式的输出?

定义提示词

编程角度案例

instruction = "根据下面的上下文回答问题,保持答案简单且准确"

context = "xxx是一个起源于新泽西的医药公司"

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

复制代码
             任务描述                   信息                问题
Prompt = f"{instruction}    ### 上下文:{context}    ###问题:{query}"
python 复制代码
import os
from openai import OpenAI
​
api_key = os.getenv("DASHSCOPE_API_KEY")
​
client = OpenAI(
    api_key=api_key,
    base_url="https://dashscope.aliyuncs.com/compatible-mode/v1"
)
​
def call_qwen(prompt, model):
    response = client.chat.completions.create(
        model=model,
        messages=[
            {"role":"user", "content":prompt}
        ],
        temperature=0.7  # 温度,值越大,大模型回答的可能性越多,一般学术类的会设置为0,防止发散
    )
    return response.choices[0].message.content
复制代码
案例1 简单的prompt
instruction = "根据下面的上下文回答问题,保持答案简短且准确,如果不确定答案请回答‘不知道’"
context = """
Teplizuma起源于一个位于新泽西的药品公司,名为0rtho Pharmaceutical。\
在那里,科学家们生成了一种早期版本的抗体,被称为0KT3。最初这种分子是从小鼠中提取的,\
能够结合到T细胞的表面,并限制它们的细胞杀伤潜力。在1986年,它被批准用于帮助预防肾脏移植后的\
器官排斥,成为首个被允许用于人类的治疗性抗体。
"""
query = "0KT3最初是从什么来源提取的?"
prompt = f"""
{instruction}

### 上下文:
{context}

### 问题:
{query}
"""

print(prompt)
根据下面的上下文回答问题,保持答案简短且准确,如果不确定答案请回答‘不知道’

### 上下文

Teplizuma起源于一个位于新泽西的药品公司,名为0rtho Pharmaceutical。在那里,科学家们生成了一种早期版本的抗体,被称为0KT3。最初这种分子是从小鼠中提取的,能够结合到T细胞的表面,并限制它们的细胞杀伤潜力。在1986年,它被批准用于帮助预防肾脏移植后的器官排斥,成为首个被允许用于人类的治疗性抗体。

### 问题:
0KT3最初是从什么来源提取的?
复制代码
​
​# 案例2 有要求的任务描述,要注意 {"[问题]":"[答案]"}  和 {"问题":"答案"} 大模型给出的格式也不一样
instruction = """
根据下面的上下文回答问题,保持答案简短且准确,如果不确定答案请回答‘不知道’
​
以JSON格式输出:
{"[问题]":"[答案]"}
"""
context = """
Teplizuma起源于一个位于新泽西的药品公司,名为0rtho Pharmaceutical。\
在那里,科学家们生成了一种早期版本的抗体,被称为0KT3。最初这种分子是从小鼠中提取的,\
能够结合到T细胞的表面,并限制它们的细胞杀伤潜力。在1986年,它被批准用于帮助预防肾脏移植后的\
器官排斥,成为首个被允许用于人类的治疗性抗体。
"""
query = "0KT3最初是从什么来源提取的?"
prompt = f"""
{instruction}
​
### 上下文:
{context}
​
### 问题:
{query}
"""
​
# 大模型输出: {"0KT3最初是从什么来源提取的?":"小鼠"}
​
​
response = call_qwen(prompt, "qwen-plus")
print(response)

样本学习

One-shot learning: 只给一个example

Few-shot learning: 多个examples, Few-shot主要用于基于少量示例,让模型参考示例回答

简单来说就是"用示例定义任务,在模型的预训练知识的基础上,提升模型回答的对齐精度(比如参考示例的格式)

Zero-shot learning: 不给任何example ,Zero-shot思想用于基于已训练的能力,不提供任何示例仅通过语言去描述任务的要求、目标和约束,让模型直接生成结果。

复制代码
# 案例2 有要求的任务描述,要注意 {"[问题]":"[答案]"}  和 {"问题":"答案"} 大模型给出的格式也不一样
instruction = """
根据下面的上下文回答问题,保持答案简短且准确,如果不确定答案请回答‘不知道’
​
以JSON格式输出:
{"[问题]":"[答案]"}
"""
​
example = """
{"你是谁?":"qwen-plus"}
"""
​
context = """
Teplizuma起源于一个位于新泽西的药品公司,名为0rtho Pharmaceutical。\
在那里,科学家们生成了一种早期版本的抗体,被称为0KT3。最初这种分子是从小鼠中提取的,\
能够结合到T细胞的表面,并限制它们的细胞杀伤潜力。在1986年,它被批准用于帮助预防肾脏移植后的\
器官排斥,成为首个被允许用于人类的治疗性抗体。
"""
query = "0KT3最初是从什么来源提取的?"
prompt = f"""
{instruction}
​
### 示例:
{example}
​
### 上下文:
{context}
​
### 问题:
{query}
"""
​

案例

短视频prompt

复制代码
你是热门短视频脚本撰写的专家。你的想法很多,掌握各种网络流行梗,拥有短视频平台时尚、服饰、食品、美妆等领域的相关知识储备;
能把这些专业背景知识融合到对应的短视频脚本创作需求中来;
根据用户输入的主题创作需求,进行短视频脚本创作,输出格式为:
一、拍摄要求:
1、演员:xxxx(演员数量、演员性别和演员主配角)
2、背景:xxxx(拍摄背景要求)
3、服装:xxxx(演员拍摄服装要求)
二:分镜脚本
以markdown的格式输出如下的分镜脚本:
时间|对话 |画面|备注镜头
00:00-00:xxxxx
其中“对话”请按角色,依次列出“角色:对话内容”,对话都列在“对话”这一列。。“画面”这部分侧重说明对场景切换摄影师拍摄角度、演员的站位要求,演员走动要求,演员表演要求,动作特写要求等等

小红书爆款文案prompt

复制代码
案例1:
你是小红书爆款写作专家,请你用以下步骤来进行创作,内容的主题为: 饲养2岁泰迪的烦恼。首先产出5个标题(含适当的emoji表情),其次产出1个正文(每一个段落含有适当的emoji表情,文未有合适的tag标签)
​
案例2:
在小红书正文方面,你会以下技能:
1.写作风格
2.写作开篇方法
3. 文本结构
4.互动引导方法
5.一些小技巧
6.爆炸词
7.从你生成的稿子中,抽取3-6个seo关键词,生成#标签并放在文章最后
8.文章的每句话都尽量口语化、简短
9.在每段话的开头使用表情符号,在每段话的结尾使用表情符号,在每段话的中间插入表情符
罗
三、结合我给你输入的信息,以及你掌握的标题和正文的技巧,产出内容。请按照如下格式输出内容,只需要格式描述的部分,如果产生其他内容则不输出:-.标题
[标题1到标题51
[换行]
二.正文
[文
标签:[标签]
相关推荐
m0_613856292 分钟前
mysql如何优化重复索引_mysql冗余索引查找与处理
jvm·数据库·python
四维迁跃4 分钟前
Python Web开发如何防范SQL注入_使用参数化查询与ORM实践
jvm·数据库·python
噜噜噜阿鲁~4 分钟前
python学习笔记 | 8.3、函数式编程-匿名函数
笔记·python·学习
YJlio8 分钟前
Windows Internals 读书笔记 10.3.3:Task Scheduler 架构详解
人工智能·windows·笔记·python·学习·chatgpt·架构
2401_8330336211 分钟前
如何自动更新SQL标签状态_利用触发器实现基于逻辑的状态机
jvm·数据库·python
2401_8314194415 分钟前
mysql如何优化数据库文件写入速度_配置innodb刷盘策略
jvm·数据库·python
dFObBIMmai33 分钟前
Python Celery任务队列怎么配_实现Web后台异步任务调度处理
jvm·数据库·python
南宫萧幕34 分钟前
Python与Simulink联合仿真:基于DQN的HEV能量管理策略建模与全链路排雷实战
开发语言·人工智能·python·算法·机器学习·matlab·控制
千寻girling40 分钟前
滑动窗口刷了快一个月(26天)了 , 还没有刷完. | 含(操作系统学什么的Java 后端)
java·开发语言·javascript·c++·人工智能·后端·python
WL_Aurora41 分钟前
备战蓝桥杯国赛【day3】
python·蓝桥杯