推广
帮朋友推广一下公众号,欢迎大家关注,谢谢!
引言
上一篇文章《这样设置Prompt,让ChatGPT输出更优的结果!》聊到了写好 Prompt的几个原则和策略。
这篇文章继续聊一聊:如何通过持续迭代Prompt来获得更优质、更符合预期的ChatGPT结果。
概述
在机器学习领域,通常的开发流程是这样的:
- 有初步的想法
- 实现它:编写代码、获取数据、训练模型、获得结果
- 评估输出结果,进行错误分析
- 修改实现细节,重新获得结果、评估结果
- 按照上面方式反复迭代
在编写 Prompt 以使用 LLM 开发应用程序时,这个过程跟上述非常相似。
您有一个关于要完成的任务的想法,可以尝试编写第一个 Prompt,满足上一章说过的两个原则:①清晰明确;②给系统足够的时间思考。
然后您可以运行它并查看结果。
如果第一次效果不好,那么迭代的过程就是找出为什么指令不够清晰或为什么没有给算法足够的时间思考,以便改进想法、改进提示等等,循环多次,直到找到适合您的应用程序的Prompt。
下面,将以“从产品说明书中生成营销文案”这一示例,来展示一些框架,以提示您思考如何迭代地分析和完善你的 Prompt。
准备环境
import openai
from IPython.display import display, HTML
# 查看api-Key: https://beta.openai.com/account/api-keys
openai.api_key = "sk-XXXX"
# 一个封装 OpenAI 接口的函数,参数为 Prompt,返回对应结果
def get_completion(prompt, model="gpt-3.5-turbo"):
messages = [{"role": "user", "content": prompt}]
response = openai.ChatCompletion.create(
model=model,
messages=messages,
temperature=0, # 模型输出的温度系数,控制输出的随机程度
)
return response.choices[0].message["content"]