提示词(prompt)工程指南(五):ChatGPT提示工程

提示工程指南3个月前更新 Prompt
1,060 0 0

提示词(prompt)工程指南(五):ChatGPT提示工程

在本节中,我们介绍ChatGPT的最新提示工程技术,包括提示、应用、限制、论文和其他阅读资料。

完整的中文版本指南和更丰富的参考资料在 Github 和 Gitee 中,自动持续翻译更新: 🐙 关于提示词工程(prompt)的指南、论文、讲座、笔记本和资源大全

主题:


ChatGPT简介

 

ChatGPT是OpenAI训练的可以进行交互对话的新模型。该模型经过训练,在对话的背景下,可以按照提示中的指示提供适当的响应。ChatGPT可以帮助回答问题、建议配方、以特定格调写歌词、生成代码等等。

ChatGPT使用人类反馈的强化学习(RLHF)进行训练。虽然该模型比以前的GPT迭代版本更加强大(也经过训练以减少有害和不真实的输出),但仍然存在一些限制。让我们通过具体例子来介绍一些功能和限制。

您可以在这里使用ChatGPT的研究预览,但下面的例子中,我们将使用OpenAI Playground上的“Chat”模式。


审查对话任务

 

先前的指南中,我们介绍了一些关于对话能力和角色提示的内容。我们介绍了如何指示LLM以特定的方式进行对话,以特定的意图、行为和身份。

让我们回顾一下我们先前的基本示例,我们创建了一个会话系统,该系统能够针对问题生成更多技术性和科学性的响应。

提示:

这是与AI研究助理的对话。助手的口吻是技术和科学的。

人类:你好,你是谁?
```AI:您好!我是一位AI研究助手。请问今天我能帮您什么忙吗?
人类:您能告诉我黑洞是如何形成的吗?
AI:

从上面的示例中,您可以看到两个重要的组成部分:

  • 意图或解释聊天机器人的内容
  • 身份指示聊天机器人将用哪种风格或口吻来回复

上面的简单示例在使用 text-davinci-003 的文本补全API上运行得很好。 更近期,OpenAI 宣布了ChatGPT APIs,这是一个更强大、更便宜的模型,称为 gpt-3.5-turbo,专为这种功能(聊天补全)而建。OpenAI推荐这个模型,即使是非聊天使用案例,也是其最佳模型。使用ChatGPT APIs的其他好处是显著的成本降低(90%)和效率。

像Snap Inc.和Instacart这样的大公司已经在他们的产品上集成了由ChatGPT驱动的对话功能,涉及个性化推荐和开放性购物目标等方面。


ChatGPT的对话

 

多回合对话

 

为了开始展示ChatGPT的功能,我们将使用上面的聊天机器人助手示例并讨论结果。与 text-davinci-003 相比,ChatGPT驱动的 gpt-3.5-turbo 模型使用聊天格式作为输入。模型期望一系列信息作为输入,并使用这些信息生成响应。

输入:

系统: 您是一位AI研究助手。您使用的语气是技术性和科学性的。
用户:您好,您是谁?
助手:您好!我是一位AI研究助手。请问今天我能帮您什么忙吗?
人类:您能告诉我黑洞是如何形成的吗?

输出:


ASSISTANT:当一个巨大的恒星耗尽燃料并在自身引力下坍塌时,就会形成黑洞。这种坍缩会使星体变得异常致密,引力场非常强,甚至光线也无法逃脱。这个不能返回的点被称为事件视界。一旦恒星越过事件视界,就被认为是黑洞... 

请注意,上面的示例已简化输入和输出,但ChatGPT聊天完成API要求消息以特定格式呈现。我在下面添加了一个快照,显示了如何在OpenAI Playground中使用“聊天模式”查看此示例:

提示词(prompt)工程指南(五):ChatGPT提示工程

我们的示例的更正式API调用可能类似于下面的示例:

import openai

openai.ChatCompletion.create(
  model="gpt-3.5-turbo",
  messages=[
        {"role": "system", "content": "您是一个AI研究助手。您使用的语气是技术性的和科学性的。"},
        {"role": "user", "content": "你好,你是谁?"},
        {"role": "assistant", "content": "你好!我是一个AI研究助手。您今天需要我帮助您什么?"},
        {"role": "user", "content": "您能告诉我黑洞的形成吗?"}
    ]
)

ChatML在未来可能是开发人员与ChatGPT进行交互的方式.

单轮任务

 

聊天格式使多次对话成为可能,但它也支持类似于我们使用’text-davinci-003’所演示的单轮任务。这意味着我们可以使用ChatGPT执行与我们为原始GPT模型演示的类似任务。例如,让我们尝试使用ChatGPT执行以下问答任务:

输入:

用户:基于下面的上下文回答问题。回答应简短明了。如果不确定答案,请回答“不确定答案”。
格式:仅返回翻译后的内容,不包括原始文本。
ASSISTANT: OKT3最初是来源于老鼠。根据官方的OpenAI文档,`gpt-3.5-turbo`模型的快照也将可供使用。例如,我们可以访问3月1日的快照`gpt-3.5-turbo-0301`。这使开发人员可以选择特定的模型版本。这也意味着对模型进行指导的最佳实践可能会随版本变化而变化。

针对gpt-3.5-turbo-0301的当前建议是在“用户”消息中添加指令,而不是已有的“系统”消息。


Python笔记本

 

描述 笔记本
学习如何使用openai库调用ChatGPT API ChatGPT API简介
学习如何使用LangChain库使用ChatGPT features。 ChatGPT API with LangChain

参考文献

 

 

声明:本文内容源自互联网公开资源,旨在分享与交流。若您发现任何侵犯您版权的内容,请立即与我们联系,我们将第一时间核实并删除,以确保尊重并维护版权所有者的合法权益。

© 版权声明

相关文章

暂无评论

暂无评论...