Login
首页 > 精选好文 > 干货分享

大模型Prompt工程实战教程:从设计原则到行业应用

聚客AI 2025-03-12 16:16:34 人看过

一、Prompt设计三原则与代码实现

1. 清晰性:明确任务指令

核心代码:通过结构化描述限定输出格式

import openai
response = openai.ChatCompletion.create(
  model="gpt-4",
  messages=[{
    "role": "user",
    "content": """
    生成3条手机产品广告文案,要求:
    1. 突出续航能力
    2. 包含数字参数
    3. 使用感叹号结尾
    格式示例:[1. 文案内容]
    """
  }]
)
print(response.choices[0].message.content)

2. 上下文控制:历史对话管理

代码实现:通过消息队列维护上下文

chat_history = []
def chat(query):
    chat_history.append({"role": "user", "content": query})
    response = openai.ChatCompletion.create(
        model="gpt-4",
        messages=chat_history[-6:]  # 保留最近3轮对话
    )
    chat_history.append(response.choices[0].message)
    return response.choices[0].message.content
print(chat("推荐北京适合家庭聚餐的餐厅"))
print(chat("人均预算200元左右"))

3. 角色设定:构建专业形象

代码模板

system_prompt = """
你是一名资深营养师,回答需满足:
1. 基于《中国居民膳食指南》 
2. 给出具体热量估算
3. 语言亲切自然
"""
response = openai.ChatCompletion.create(
  model="gpt-4",
  messages=[
    {"role": "system", "content": system_prompt},
    {"role": "user", "content": "轻食沙拉能减肥吗?"}
  ]
)


二、Prompt优化三大技巧实战

1. 迭代测试:优化商品描述生成

代码演进过程

# 初版Prompt
prompt_v1 = "生成手机广告"
# 改进版:添加结构化要求
prompt_v2 = """
生成手机广告,包含:
- 核心卖点(不超过3个)
- 使用场景描述
- 促销信息
输出为JSON格式:
{"slogan": "", "features": [], "promotion": ""}
"""
# 最终版:增加风格限制
prompt_v3 = prompt_v2 + "\n语言风格:年轻化网络用语,如'YYDS'、'种草'等"

2. Few-shot Learning:精准格式控制

代码示例

examples = """
用户:翻译"Hello world"成法语
助手:{"translation": "Bonjour le monde"}
用户:翻译"Good morning"成日语 
助手:{"translation": "おはようございます"}
"""
response = openai.ChatCompletion.create(
  model="gpt-4",
  messages=[{
    "role": "user",
    "content": examples + "\n用户:翻译'谢谢'成西班牙语"
  }]
)

3. 思维链(CoT):复杂问题拆解

代码实现

problem = """
小明有5个苹果,吃了2个,妈妈又给他3个,
然后他分给朋友一半,还剩多少苹果?
分步骤计算并用中文解释。
"""
response = openai.ChatCompletion.create(
  model="gpt-4",
  messages=[{
    "role": "user",
    "content": problem
  }]
)


三、综合实践:智能客服系统开发

1. 系统架构设计

image.png

2. 完整实现代码

import openai
class CustomerServiceBot:
    def __init__(self):
        self.context = [{
            "role": "system",
            "content": """
            你是手机品牌客服,需:
            1. 识别用户问题类型(售后/功能咨询/投诉)
            2. 分步骤解答
            3. 结尾提供联系方式
            """
        }]
    def respond(self, query):
        self.context.append({"role": "user", "content": query})
        
        response = openai.ChatCompletion.create(
            model="gpt-4",
            messages=self.context[-8:],
            temperature=0.3
        )
        
        reply = response.choices[0].message.content
        self.context.append({"role": "assistant", "content": reply})
        return reply
bot = CustomerServiceBot()
print(bot.respond("手机充不进电怎么办?"))

3. 运行效果示例

用户输入
"新买的X50 Pro拍照模糊"

输出结果

1. 问题分类:功能咨询  
2. 建议步骤:  
   a) 清洁镜头保护膜  
   b) 检查相机设置 > 专业模式  
   c) 尝试重启设备  
3. 如未解决,请联系400-123-4567

关键要点总结

  1. 结构化Prompt使输出更可控

  2. 上下文窗口管理需平衡记忆与效率

  3. Few-shot示例数量建议3-5个为佳

  4. 温度参数(temperature)设置:

    • 高创造性:0.7-1.0

    • 严谨回答:0.2-0.5

通过本教程的代码实践,可快速掌握Prompt工程的核心方法,建议结合具体业务场景调整参数设计。

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章

大厂标准培训
海量精品课程
汇聚优秀团队
打造完善体系
Copyright © 2023-2025 聚客AI 版权所有
网站备案号:湘ICP备2024094305号-1