ChatGPT & Prompt 介绍,及使用指导手册
ChatGPT (是 GPT 模型系列的 3.5 版本)是一种基于神经网络的自然语言处理模型,由 OpenAI 公司开发。它可以通过预训练对大规模自然语言文本进行理解和生成,主要用于对话生成任务,可以生成自然语言回复并保持上下文连贯性,同时也具备处理情感分析、知识推理、智能问答等任务的能力。
ChatGPT 价值主要体现在两个方面:提高你的工作效率,提供生活上的便利。它可以帮助人们回答问题,解决诸如文章写作、语言翻译、客服对话、甚至社交娱乐等多种场景下的需求。以更长远视角来看,ChatGPT 的价值不单单体现在效率和便捷性上,其实质意义是引领人类与机器、与虚拟世界的智能互动、共同探索。
ChatGPT/GPT4 基于深度学习与强化学习,通过大量语言处理数据的训练,它可以让人们在用自然语言,进行人机交互和自然语言生成领域不断创新;代表了当前自然语言处理技术的最高水平,相当具有优势。
然而,ChatGPT 并不是一个完美的系统,它在多领域也都面临着诸如噪声输入、模型可解释性欠缺等问题。比如,在对话中,糟糕的 Prompt 或导致 ChatGPT 的输出存在失真和偏差;有查阅各种 Prompt 资料、心得、技巧,在此飨于诸君,期待您提出宝贵意见或建议;如有谬误,欢请斧正。
Prompt:提高 ChatGPT 语言生成质量的关键
Prompt 是什么?
如果你需要别人帮忙做事,就需要给他具体的「指令」或「提示」;把角色换成 ChatGPT,Prompt 就是你问问题或提出请求的文字提示。而决定 ChatGPT 回答品质的重要因素之一,就在于你提供的「Prompt」是否足够完善。
什么是 Prompt Engineering ?
提示工程(Prompt Engineering,缩写为:PE
)是一门较新的学科,关注 Prompt(提示词)开发和优化,帮助用户将大语言模型(Large Language Model, LLM)用于各场景和研究领域。 掌握了提示工程相关技能,将有助于用户更好地了解大型语言模型的能力和局限性。Prompt Engineering 需要掌握一系列的技能和技巧,例如:理解语言模型的原理和能力、设计和优化 Prompt、分析和改进生成内容等,详情可参见: Prompt Engineering Guide 。
ChatGPT 如何利用 Prompt 进行语言生成?
ChatGPT 具备自然语言生成的能力,利用深度学习的方式,可以根据给定的 Prompt 生成一段连贯的语言。具体过程如下:
- 提供 Prompt:用户输入一段文字,作为 ChatGPT 生成语言的起点。
- 分析 Prompt:ChatGPT 对用户提供的 Prompt 进行分析,理解用户的意图并确定生成语言的主题和方向。
- 生成语言:根据 Prompt 提供的信息和 ChatGPT 内部的大量语言模型,ChatGPT 生成与 Prompt 相关的语言信息。
- 输出结果:ChatGPT 根据生成的语言信息,输出一段或多段文本作为回答或是生成新的相关语言。
在这个过程中,Prompt 起到了连接用户和 ChatGPT 的关键作用。合理的 Prompt 会带来更为准确和匹配的语言输出,提高 ChatGPT 的语言生成质量,从而更好地为用户提供服务。
优秀 Prompt 应具备哪些要素?
- 清晰:越「具体」越好,避免给出太过复杂或模棱两可的文字。
- 重点:要有明确「目的」,避免太过广泛或是开放式的问题。
- 相关性:在对话中,建议内容都是相同「主题」,多主题会分散讨论焦点。
下面是 ChatGPT 认为「好」的 Prompt 案例:
- 2022 年冬季奥运会在哪里举行?—— 明确地提出了问题并且特别指出了「时间」。
- 请给我一些台北的知名美食—— 明确地提出了请求并且特别指出了需要「当地」的资讯。
下面是 ChatGPT 认为「不好」的 Prompt 案例:
- 给我讲讲—— 没有明确地表达问题或请求,不知道到底想要 ChatGPT 讲什么。
- 请给我美食资料—— 因为没有指定地区或美食种类,所以无法提供具体的美食资料。
不管对象是 ChatGPT 还是真实人类,遵循以上原则,都能让对方更好地理解你的意图,使对话维持在期望的轨道,这是一种高效率的对话方式。
基本原则 & 建议
建议使用最新的模型
如果你是直接使用 AI 产品,比如 ChatGPT 或者 Midjourney ,那无需在意这个原则。如果你是通过 API 或者 OpenAI Playground 的方式使用,则建议你先使用最新的模型测试。
Prompt 里最好包含完整的信息
这或许是对结果影响最大的因素。即便是实际的人类,假如披露的信息不完整,所获得答案同样不理想;AI 也是一样,Prompt 很抽象,它生成的答案可能就会很宽泛,而更好的方式是增加更多的信息。
# bad
Write a poem about OpenAI.
# good
Write a short inspiring poem about OpenAI, focusing on the recent DALL-E product launch (DALL-E is a text to image ML model) in the style of a {famous poet}
Prompt 最好简洁易懂,并减少歧义
这个比较好理解,即使你跟人说话,说一些简单的短句,对方也会更容易听懂,AI 也是这样。另外,在 prompt 里也需要减少一些歧义,少用模棱两可的词语。
# bad
The description for this product should be fairly short, a few sentences only, and not too much more.
# good
Use a 3 to 5 sentence paragraph to describe this product.
Prompt 要使用正确的语法、拼写,以及标点
如果以现代人的视角来读古籍,会发现极为困难——它没有标点符号,理解起来就更显困难。标点、或拼写错误,很可能导致整个意思完全不同;中、英文都有这个问题,该予以重视。
ChatGPT 使用技巧
在 Learning Prompt (免费的 Prompt Engineering 教程)中,作者分享了较多关于 ChatGPT 使用场景、使用技巧的内容;感兴趣的朋友不妨移步阅读。此外,Github ChatGPT 中文调教指南 (35K Star)记载了大量场景中的 prompt(提示次),涉及近 30 个不同方向,需要的朋友可移步以获取参考。下面与朋友们分享些通用技巧:
- 要求生成一个结构化的输出,可以是 Json、HTML、表格(Table)、列表(list)等格式,这可以使模型的输出更容易被我们解析;例如:“请化身财富积累专家,为理财分配提供一份计划;目标:在保持本金基础上,尽可能获得最大收益,最大允许 5% 的亏损; 可涉及的方向有股票、基金、银行理财产品等。请以表格的形式,将建议具体展现出来;标注清楚每个方向名称、资金占比、比例理由及注意事项”。
- 让 ChatGPT 担任某个领域的「专家」,比如法律专家、职涯顾问、导游,论文润色者、表格生成器、面试官、前端智能思路助手;例如:请“你充当表格生成器,为我生成一个 3 行 3 列的表格,内容随机产生”。
- 据悉 ChatGPT 的语料库以英文为主(占比 96%),此外中文互联网这些年,由于各种五颜六色的原因,亟待被改善;如果中文 prompt 不能得到满意的答案,不妨尝试将 prompt 翻译为英文,去跟 ChatGPT 交流(习惯阅读中文的话,让 ChatGPT 或自己手动把答复翻译下即可);
- 利用示例和参考:Prompt 中可以提供一些示例或参考,让语言模型学习和模仿特定的格式或风格。这样可以让语言模型更容易适应不同的任务和场景。例如:想要语言模型生成一篇新闻报道,你可以在 Prompt 中给它提供一篇参考的文章。
- “请确认上述说法是否正确”,不断地调用这个 prompt,让 ChatGPT 校验(反思)自己的回答,这样会让一些明显有问题的回答得到纠正;
- 如果你想让 ChatGPT 帮你完成一个(相对复杂的)任务,但是你却表达不清楚需求,或没想好应该考虑哪些方面;抑或是你欠缺关于完成这个任务所涉及的专业知识。那么可以让 ChatGPT 扮演一个提示生成器(Prompt Creator),即让 ChatGPT 帮助完成/改善你的
prompt
背后的 prompt;主要思路是首先简要的描述一下需求,然后通过“ChatGPT 提问——用户回答”的方式,把需求具体化和私人定制化,从而一步一步创建一个专业的、需求明确的 prompt。
ChatGPT 常见问题
时效性问题
ChatGPT 对近期的事件表示不清楚;导致此种情况发生的原因是:语料库收集的时间早于您问的事件发生的时间(语料库截止至 2021 年 9 月)。
事实错误问题
ChatGPT 回答出现了一些匪夷所思/张冠李戴的错误;导致此种情况发生的可能原因是:
- 中文语料库相比英文语料库少;
- 中文的语言逻辑比英文逻辑要复杂,理解错误;
- ChatGPT 的本质还是语言模型,它的内核的目标是说的像人说的话,而不是真的对语料的内容有理解;
综合这几种情况发生了一些事实性问答的错误;解决方案:将您想问的问答转译为英文再提交到 ChatGPT,后将 ChatGPT 的回答翻译成中文(这种方法可以解决大部分问答上的错误)。
关于 ChatGPT 补充说明
ChatGPT 的语料库组成
ChatGPT 的语料库主要是由大规模的自然语言文本数据构成的。在训练 ChatGPT 模型时,使用的语料库通常包括各种类型的文本,例如维基百科、新闻文章、网页内容、书籍、对话文本等;其中英文语料占比 96%,其他语种(含中文)语料占比 4%;以下是一些主要的语料库:
- 维基百科语料库:包含了大量的维基百科条目,涵盖了各种领域的知识。
- 新闻语料库:包含了各种类型的新闻文章,包括政治、经济、娱乐、体育等领域。
- 网页语料库:包含了大量的网页内容,例如社交媒体、论坛、博客等。
- 书籍语料库:包含了大量的书籍文本,涵盖了各种类型的书籍,包括小说、教科书、技术文档等。
- 对话语料库:包含了大量的对话文本,例如社交媒体上的聊天记录、客服对话记录等。
ChatGPT 是如何运作的?
ChatGPT 是根据 GPT-3.5 进行微调的,GPT-3.5 是一种经过训练可生成文本的语言模型。ChatGPT 通过使用人类反馈强化学习 (RLHF) 针对对话进行了优化——一种使用人类演示和偏好比较来引导模型朝着期望的行为发展的方法。
为什么人工智能看起来如此真实和栩栩如生?
这些模型是根据人类编写的来自互联网的大量数据(包括对话)进行训练的,因此它提供的响应可能听起来像人类。重要的是要记住,这是系统设计的直接结果(即最大化输出和训练模型的数据集之间的相似性),并且此类输出有时可能不准确、不真实,并且有时会产生误导。
我们可以相信 AI 说的是实话吗?
ChatGPT 没有连接到互联网,它偶尔会产生错误的答案。它对 2021 年之后的世界和事件的了解有限,也可能偶尔会产生有害的指令或有偏见的内容。
素问智聊斋
素问智聊斋 ,非官方 ChatGPT 在线客户端,旨在提供更便捷的 ChatGPT 访问体验;它基于非官方 ChatGPT API 、 Svelte 、 TailwindCSS 、 Vite 和 NodeJS 所搭建,无需账号,零配置,即可与 ChatGPT 畅聊;支持自定义 OPENAI API KEY。关于这款衍生产品更详细介绍、路线图、更新日志等内容,可参见 素问智聊斋 | 倾城之链 。