大模型实战-prompt

1、prompt理论

常见Prompt框架
一、CRISPE框架(全能型设计模板),适用场景:需要精准控制输出风格与内容的复杂任务(技术文档、创意写作、商业分析等);

[Capacity and Role] 你是一位拥有10年经验的机器学习架构师
[Insight] 当前团队正在开发实时视频分析系统,面临计算资源受限的挑战
[Statement] 请设计兼顾效率与精度的轻量化模型方案
[Personality] 采用严谨的学术论证风格,引用最新顶会论文
[Experiment] 给出3种不同计算预算下的方案比较(<10TOPS/10-50TOPS/>50TOPS)
核心要素:
Capacity:定义模型的知识边界
Role:设定回答者角色身份
Insight:注入领域洞察与背景
Statement:明确核心任务要求
Personality:控制语言风格特征
Experiment:指定验证与评估方式

二、BROKE框架(商业分析专用),适用场景:市场分析、战略规划、产品设计等商业决策场景。

[Background] 新能源汽车充电桩市场年增长率25%
[Role] 作为麦肯锡资深顾问
[Objective] 制定二三线城市扩张策略
[Key Entities] 政府补贴政策、地产商合作、用户充电习惯
[Expected Output] SWOT分析矩阵 + 实施路线图(2024-2026)
要素解析:
Background → 建立认知基线
Role → 确定专业视角
Objective → 聚焦核心目标
Key Entities → 划定分析维度
Expected Output → 规范输出形态

三、角色设定框架(领域专家模式),适用场景:需要深度专业知识的垂直领域咨询。

你作为[三甲医院心内科主任医师],需要:
1. 用[医患沟通话术]解释[房颤消融手术]的
   - 治疗原理(比喻说明)
   - 成功率数据(最新临床研究)
   - 术后注意事项(分点列举)
2. 回应患者典型顾虑:
   "手术风险有多大?复发了怎么办?"
3. 输出格式:
   {原理说明:..., 数据支撑:..., 注意事项:..., 答疑:...}
变体形式:
学术评审模式:"作为ICLR领域主席,请从创新性、实验严谨性、写作质量三个维度评审这篇论文"
技术专家模式:"以AWS解决方案架构师身份,设计支持百万并发的Serverless架构"

四、结构化模板(技术文档专用),适用场景:代码生成、API文档撰写、技术方案设计;

关键组件:
需求说明 → 功能需求与非功能需求分离
输入示例 → 规范数据格式
约束条件 → 明确技术边界
输出要求 → 结构化交付物

五、思维链(CoT)框架;适用场景:复杂问题求解、数学推导、逻辑推理。

经典模板:
请分步解释如何计算两组实验数据的显著性差异:
1. 陈述适用的统计检验方法选择依据
2. 列出计算公式并说明各参数含义
3. 演示具体计算过程
4. 解释P值的实际意义
5. 给出可视化建议(含图表类型选择)
示例数据:
对照组 = [23,45,67,54,39]
实验组 = [56,72,68,81,64]
进阶技巧:
分步验证:在每步结尾添加"(请确认本步骤正确性)"
多路径探索:"如果采用参数检验与非参数检验,结果会有何不同?"
假设推演:"若样本量扩大10倍,对检验效力会产生什么影响?"

六、TAG任务分解框架;适用场景:项目管理、流程优化、多步骤操作指导。

[Task] 实现跨境电商站点的多语言支持
[Actions]
1. 前端国际化方案选型(i18next vs react-intl)
2. 后端API多语言处理架构设计
3. 持续集成中的翻译文件管理
[Goals]
- 支持50+语言实时切换
- 新增语言无需重新部署
- 翻译覆盖率监控>95%
要素关系:
Task → 战略目标
Actions → 战术路径
Goals → 验收标准

七、CARE案例教学框架;适用场景:教育培训、操作指导、故障排查

[Context] 用户报告"API返回500错误"
[Action] 作为运维工程师,请给出诊断流程:
1. 首要检查项及命令
2. 日志分析关键线索
3. 常见原因优先级排序
[Result] 形成标准化排查清单
[Example] 以K8s集群的Ingress配置错误为例演示
扩展应用:
故障模拟:"如果同时出现数据库连接池耗尽和缓存雪崩,应如何优先处理?"
预案训练:"设计API成功率骤降的应急演练方案"

二、Prompt设计的六大法则

法则1:结构化指令设计

# 低效Prompt
"写个函数计算平均数"

# 高效Prompt
"""
任务:编写Python函数实现浮点数列表的平均值计算
输入要求:
- 输入参数为numbers: List[float]
- 返回float类型结果
约束条件:
- 处理空列表返回0
- 时间复杂度O(n)
- 添加类型注解
示例输入:[1.5, 2.3, 4.0]
示例输出:2.6
"""

法则2:动态上下文控制

# 多轮对话管理
conversation = [
    {"role": "user", "content": "推荐北京的历史景点"},
    {"role": "assistant", "content": "1. 故宫 2. 颐和园..."},
    {"role": "user", "content": "请用表格比较前两个景点的特色"}
]

法则3:温度参数的科学调校

# 创意写作(高温)
generate(text, temperature=0.9, top_p=0.9)

# 技术文档(低温)
generate(text, temperature=0.2, top_p=0.5)

法则4:安全防护机制

# 敏感内容过滤
safety_filters = {
    "violence": 0.95,
    "self_harm": 0.99,
    "sexual": 0.85
}

法则5:元提示工程

# 模型角色设定
"""
你是一位有20年经验的机器学习专家,擅长用类比解释复杂概念。
请用不超过300字说明Transformer架构,要求:
- 使用日常物品作比喻
- 包含数学直觉解释
- 标注关键技术突破点
"""

法则6:迭代优化框架

# Prompt优化闭环
def optimize_prompt(initial_prompt):
    for i in range(3):
        response = generate(initial_prompt)
        feedback = get_human_feedback(response)
        initial_prompt += f"\n优化建议{i+1}: {feedback}"
    return initial_prompt

2、prompt实战

1、导入所需环境。

from openai import OpenAI
from dotenv import load_dotenv, find_dotenv

2、配置好你自己的openai_key,默认都有,这里就不做赘述了。

_ = load_dotenv(find_dotenv("openai_key.env"))
client = OpenAI()

3、基于gpt-3.5-turbo进行内容生成

def get_completion(prompt, model="gpt-3.5-turbo"):
    messages = [{"role": "user", "content": prompt}]
    response = client.chat.completions.create(
        model=model,
        messages=messages,
        temperature=0.8  # 必须加大随机性
    )
    return response.choices[0].message.content

输入你的prompt进行内容生成:

prompt = f"介绍一下图像去噪的流程"
response = get_completion(prompt)
print(response)

在这里插入图片描述
修改prompt,重新生成一下内容:

prompt = f"假设你现在是一名图像处理领域的专家,请介绍一下图像去噪的流程"
response = get_completion(prompt)
print(response)

在这里插入图片描述但是也有一些问题,模型不能准确的生成答案,例如,后边文章我们尝试使用RAG来解决该问题~
在这里插入图片描述
基于RAG生成的结果如下:
在这里插入图片描述感谢您阅读到最后!😊总结不易,希望多多支持~🌹 点赞👍收藏⭐评论✍️,您的三连是我持续更新的动力💖~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

坏脾气的小十七

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值