提示工程&chatgpt相关资源分享
ChatGPT基于OpenAI的GPT-3.5架构,是一款强大的自然语言处理模型。其核心技术原理包括Transformer架构和自注意力机制。以下是对ChatGPT技术原理的简要介绍。
首先,Transformer架构是ChatGPT的基础。它是一种革命性的神经网络结构,克服了传统循环神经网络(RNN)和长短时记忆网络(LSTM)的局限性。Transformer通过并行计算和自注意力机制实现了更快的训练速度和更高的性能。
自注意力机制是Transformer的关键组成部分。它允许模型在处理输入序列时,为每个单词分配不同的权重,从而捕捉输入中的长距离依赖关系。自注意力机制的计算过程包括查询、键和值三个向量的点积和归一化,以生成权重矩阵。
在训练过程中,ChatGPT采用了大量的文本数据进行预训练和微调。预训练阶段,模型学习了语言的基本结构和概念,形成了对世界的初步理解。微调阶段,模型在特定任务的标注数据上进行训练,以适应各种应用场景。
值得注意的是,ChatGPT采用了生成式预训练Transformer(GPT)模型,而非BERT等判别式预训练模型。这使得ChatGPT具有生成连贯、自然的文本回应的能力,而不仅仅是进行分类或实体识别等任务。
总之,ChatGPT基于Transformer架构和自注意力机制,通过大规模的预训练和微调过程,实现了对自然语言的理解和生成能力。这使得ChatGPT在各种自然语言处理任务中表现出色,为用户提供高质量的文本生成、问答系统等服务。
本次分享会的主要目的有三个:首先,我们将深入了解如何更好地使用ChatGPT。这部分内容包括提示工程简介、如何优化输入提示,以便获得更准确、更相关的回答,以及如何控制和调整输出,以满足特定需求。我们还将讨论一些实际应用案例,以便大家更好地理解如何在不同场景中使用ChatGPT。其次,我们将汇总现有的ChatGPT用法,涵盖了从文本生成、自动问答系统到代码生成、数据分析等多个领域。这将有助于大家发现更多使用ChatGPT的创新方式,以便在工作中取得更好的成果。然后,我们将汇总chatgpt相关的工具资源,包括api的使用、网页版插件、科研工具、自我提升等等,有助于大家在平时提高使用chatgpt时更加高效。
通过本次分享会,我们希望大家能够更深入地了解ChatGPT的潜力,掌握更多有效使用方法,从而在实际工作中发挥更大的价值。
在本节中,首先简单了解一下提示工程,然后我们将重点讨论如何更好地使用ChatGPT。首先,我们来了解提示工程。
提示工程 是创建提示、要求或指示的过程,用来引导ChatGPT等语言模型的输出。它允许用户控制模型的输出,生成符合他们特定需求的文本。 如何更好的提出问题,解构问题。
提示公式是提示的具体格式,它一般由3个要素组成: - 角色:模型在生成文本时应承担的角色。 - 任务:对模型生成内容的清晰、简洁的陈述。 - 说明:模型生成文本时应遵循的指令。截止到2023年2月,中文信息在全球互联网的公开内容只占1.5%,英文是56.9%。大部分情况下,用英文可以得到的信息结果都比中文要好。中文提问之后,chatgpt也是采用中翻英,生成答案,再将答案翻译成中文显示。所以中文和英文的语法以及文化的差异,会导致中文不如英文。 tip:chatgpt可以对英文进行修正。 事实问答:Answer the following factual question: 定义:Define the following word:
信息检索:Retrieve information about
from the following source:
文章摘要:Summarize the following news article in one short sentence:
会议记录:Summarize the following meeting transcript by listing the main decisions and actions taken:
图书概要:Summarize the following book in one short paragraph:
用于鼓励模型生成反思性,沉思性文本的技术,对于写作散文,诗歌或创造性写作等任务很有用。 公式:
向模型提供一个明确且具体的角色,来引导模型输出。这种技术适用于针对特定环境或受众的文本。
提示公式
根据模型对任务或所提供范例的理解来生成文本。 公式: 适合用于不知道该怎么描述问题时。
自我一致性提示是一种技术,用于确保模型的输出与提供的输入一致。 这种技术对于事实核查、数据验证或文本生成中的一致性检查等任务很有用。
自我一致性提示的提示公式是输入文本后,说明“请确保以下文本是自我一致的(Please ensure the following text is self-consistent)”。 写法律文书时,先给定一些法律条文,要求必须要符合这些。
公式:请根据以下种子词生成文本的指令后跟着种子词或短语。
举例: - 文本生成:Please generate text based on the following seed-word : apple - 扩写:Complete the following sentence in a way that is related to the seed word ‘science’ and in the style of a research paper as a researcher):physics no longer exists.“ - 文本摘要:Summarize the following news article in away that is related to the seed word ‘politics’ in a neutral and unbiased tone as a journalist):新闻文章 “
从模型中获取新信息和原始信息的技术。
公式:请生成有关X的新的、原始的信息(Please generate new and original information about X)
例子: - 知识生成:Generate new and accurate information about - 知识整合:Generate new and accurate information about [specific topic] : [insert new information] - 数据分析:Please generate new and original information about customer behavior from this dataset
使用模型里现有的知识,来整合新信息或连接不同的信息,有助于将现有知识与新信息相结合,以更全面地了解特定主题。
应该向这个模型提供新信息和现有知识作为输入,并指定生成文本的任务或目标。提示应包括所需输出的信息,例如要生成的文本类型,以及任何特定要求或限制。
例子: - 知识整合:Integrate the following information with the existing knowledge about :
- 连接信息片段:Connect the following pieces of information in a way that is relevant and logical:
- 更新现有知识: Update the existing knowledge about
with the following information:
该模型可以生成限于预定义选项的文本。 例子: - 问答:Answer the following question by selecting one of the following options:
- 完成句子: Complete the following sentence by selecting one of the following options:
- 情感分析: Classify the following text as positive, neutral or negative by selecting one of the following options:
这是通过向模型提供一组特定的输入实现的,例如模板、特定词汇或一组约束条件,可以用来指导生成过程。 例子: - 文本生成:Generate a story based on the following template: - 文本补全:Complete the following sentence using the following vocabulary:
:
- 特定风格:Generate text that follows the following grammatical rules:
:
商业文书有些模板化的表达。 背单词的时候可以把要背的单词输入chatgpt,编一个故事。
向模型提供一个上下文、一组角色或实体以及它们的背景,并要求模型在它们之间生成对话。适用于对话生成、故事创作和聊天机器人开发等任务。 例子: - 对话生成:Generate a conversation between the following characters in the following context
- 故事创作:Generate a dialogue between the following characters
in the following story
- 聊天机器人开发:Generate a professional and accurate dialogue for a customer service chatbot, when the customer asks about
对抗性提示是一种技术,可以让模型生成的文本对某些类型的攻击或偏见具有抵抗力。这种技术可以用于训练更强大、更具抵抗力的模型。 例子: - 文本分类:Generate text that is difficult to classify as - 情感分析:Generate text that is difficult to classify as having the sentiment of
- 语言翻译:Generate text that is difficult to translate to
通过提供一组数据点,并要求模型根据某些特征或特点将它们分组成簇来实现。 这种技术对于数据分析、机器学习和自然语言处理等任务非常有用。
例子: - 客户分组:Group the following customer reviews into clusters based on sentiment: - 文章分组:Group the following news articles into clusters based on topic:
” - 论文分组: Group the following scientific papers into clusters based on research area:
向模型提供一段文本,并要求根据预定义的类别或标签对其进行分类。提示还应包括有关所需输出的信息,例如类别或标签的数量以及任何特定的要求或限制。 - 客户评论:Perform text classification on the following customer reviews and classify them into different categories such as electronics, clothing and furniture based on their content - 新闻: Perform text classification on the following news articles [insert articles] and classify them into different categories such as sports, politics, and entertainment based on their content - 邮件: Perform text classification on the following emails [insert emails] and classify them into different categories such as spam, important, or urgent based on their content and sender
可以让模型从其过去的行动中学习,并随着时间的推移改善其性能。
要在ChatGPT中使用强化学习提示,应该向模型提供一组输入和奖励,并允许其根据所接收的奖励调整其行为。提示还应包括有关所需输出的信息,例如要完成的任务和任何特定要求或约束。
这种技术对于决策制定、游戏和自然语言生成等任务非常有用。
例子: - 文本生成:Use reinforcement learning to generate text that is consistent with the following style - 语言翻译: Use reinforcement learning to translate the following text
from
to
- 问答: Use reinforcement learning to generate an answer to the following question
向模型提供一系列逐渐增加难度的任务。提示还应包括有关所需输出的信息,例如要完成的最终任务和任何特定要求或约束。
这种技术对于自然语言处理、图像识别和机器学习等任务非常有用。
例子: - 文本生成:Use curriculum learning to generate text that is consistent with the following styles in the following order
- 翻译:Use curriculum learning to translate text from the following languages
in the following order
- 问答:Use curriculum learning to generate answers to the following questions
in the following order
向模型提供一段文本,并要求根据其情绪对其进行分类。提示还应包括有关所需输出的信息,例如要检测的情感类型(例如积极、消极或中立)和任何特定的要求或限制。
这种技术对于自然语言处理、客户服务和市场研究等任务非常有用。
例子: - 客户评价:Perform sentiment analysis on the following customer reviews and classify them as positive, negative, or neutral. - 推文: Perform sentiment analysis on the following tweets
and classify them as positive, negative, or neutral - 产品评价: Perform sentiment analysis on the following product reviews
and classify them as positive, negative, or neutral
向模型提供一段文本,并要求识别和分类文本中的命名实体。
提示还应包括有关所需输出的信息,例如要识别的命名实体类型(例如人物、组织、地点、日期)以及任何特定的要求或限制。
例子: - 新闻:Perform named entity recognition on the following news article [insert article] and identify and classify people, organizations, locations, and dates - 法律文档:Perform named entity recognition on the following legal document [insert document] and identify and classify people, organizations, locations, and dates - 论文:Perform named entity recognition on the following research paper [insert paper] and identify and classify people, organizations, locations, and dates
为了获得更准确、更相关的回答,我们需要关注两个方面:输入提示的优化策略和输出控制与调整。
为了从ChatGPT中获得有价值的回答,我们需要向模型提供清晰、具体的问题或指示。以下是一些建议,可以帮助你更好地构建输入提示:确保你的问题或指示清晰明确,避免模糊或模棱两可的措辞。尽量提供足够的上下文信息,以帮助模型理解你的需求。例如,不要问:“如何处理数据?”而应该具体描述问题,如:“在使用Python的Pandas库处理电商交易数据时,如何有效地去除重复记录并根据交易日期进行降序排序?”
通过在输入提示中加入明确的指示,你可以引导模型生成更符合需求的回答。例如,你可以要求模型以特定的格式或风格回答问题,或者在回答中提供特定的信息。 例如,不仅问:“介绍一下Transformer模型。” 还可以指定:“请从以下四个方面简要介绍Transformer模型:1) 模型结构,2) 自注意力机制,3) 位置编码,4) 训练与优化策略。”原则:在问题中提供足够的背景信息,有助于模型理解问题背景,生成更有针对性的答案。例子: 不佳:如何处理缺失数据?优化:在使用Python的Pandas库处理表格数据时,如何处理缺失数据以减小对分析结果的影响?原则:确保问题表述中避免偏见和不准确的假设,以获得公正、准确的回答。例子: 不佳:为什么基于规则的NLP方法无法处理复杂任务? 优化:请比较基于规则的NLP方法和基于深度学习的NLP方法在处理复杂任务上的优缺点。
原则:通过将问题分解为多个小问题,逐步引导模型生成详细的回答。 例子: 不佳:请介绍BERT模型的训练和应用。 优化:首先,请简要介绍BERT模型的基本架构。然后,请描述BERT模型的预训练过程。最后,请列举几个典型的BERT模型应用场景。
原则:在问题中指定期望的答案类型,以便模型生成符合要求的答案。 例子: 不佳:说说Transformer模型的特点。 优化:请列出Transformer模型的三个主要特点,并简要解释。
原则:在问题中要求模型提供相关来源或证据,以支持其回答的正确性和可靠性。 例子: 不佳:什么是迁移学习? 优化:请解释迁移学习的概念,并提供一篇相关研究论文的引用。 注意chatgpt给出的论文依据可能时虚假的,要注意甄别。
原则:在问题中指定期望的回答角度,以引导模型生成有针对性的答案。 例子: 不佳:聊聊深度学习的优点。 优化:从计算机视觉领域的角度,谈谈深度学习的优点。
通过遵循这些输入提示的优化策略,你将能够从ChatGPT中获得更准确、更相关的回答。然而,仅仅优化输入提示还不够,我们还需要关注输出控制与调整,以确保生成的回答满足我们的特定需求。在下一节中,我们将深入讨论如何控制和调整ChatGPT的输出。
在优化输入提示之后,我们还需要关注输出控制与调整,以确保生成的回答满足我们的特定需求。以下是一些建议,可以帮助你更好地控制和调整ChatGPT的输出:
原则:通过设定词数限制或字数限制,控制模型生成的回答长度。 例子:请用不超过50字简要介绍自然语言处理(NLP)的定义。
原则:通过调整生成温度,控制输出结果的随机性与多样性。 例子:将生成温度设为0.8以获得较为多样且具创意的回答。
原则:在问题中指定期望的输出格式,以便模型生成符合要求的答案。 例子:请以列表形式列出五种主要的机器学习算法。
原则:在问题中明确禁止或限制某类回答,以避免不相关或不合适的输出。 例子:请列举五种编程语言,但不要包括Python和Java。
原则:通过要求模型对不同概念、方法或技术进行比较和评估,以便生成更有价值的回答。 例子:请比较LSTM和GRU在处理序列数据时的优缺点。
原则:在问题中设定时间限制,以确保模型生成的回答具有时效性。 例子:截止到2021年,哪些公司在自然语言处理领域取得了重要突破?
原则:在问题中明确要求避免重复性内容,以确保模型生成的回答具有丰富性和多样性。 例子:请列举五种机器学习算法,但不要包括已经提到的支持向量机和随机森林。
通过实施这些输出控制与调整策略,我们将能够获得更符合需求的回答,从而更好地利用ChatGPT的能力。结合输入提示优化和输出控制调整,我们可以充分发挥ChatGPT的潜力,为我们解决各种自然语言处理任务提供有力支持。
在使用ChatGPT时,我们可以根据实际经验和技巧进一步优化效果。以下是一些建议:逐步优化:尝试使用不同的输入提示和参数设置,观察结果,并根据反馈进行调整,直至获得满意的回答。学习模型限制:理解模型的局限性,如处理知识更新、避免模型生成错误答案等,从而更加明智地使用模型。结合其他工具:将ChatGPT与其他工具(如数据可视化、自然语言理解等)结合使用,以实现更加完善的解决方案。
通过深入了解不同场景下的用例并结合实际操作经验和技巧,我们可以充分发挥ChatGPT的潜力,为实际工作带来更多价值。 Prompt模板可以总结为: 我希望你充当{角色/工具},我将提供一些{角色/工具相关信息},你的任务是{角色/工具任务描述},利用{工具/行业方法论}来回答。我的第一个任务是{第一条任务描述}。 其他通用的模板要求: 为了避免chatgpt废话多,可以增加“不需要解释,直接回答”; 为了回答规范,可以设计回答模板,可增加“按照以下方式:{回答模板}”; 为了chatgpt回答准确,可以把回答模板参数化,参数化用大括号“{参数}”表示。
在本节中,我们将概述ChatGPT在不同领域的应用,以便大家了解它的广泛用途并为实际工作中的问题寻找解决方案。
ChatGPT可用于生成各种类型的文本内容,如撰写文章、生成摘要、创意写作等。通过向模型提供具体的指示,可以生成具有特定风格或主题的内容。
ChatGPT可以作为自动问答系统,为用户提供实时的问题解答,从而提高客户支持效率。例如,在线客服、知识库检索等。
ChatGPT可以根据描述生成代码片段,辅助程序员进行软件开发。例如,生成特定功能的代码、提供算法解决方案等。
ChatGPT可以用于解读数据报告,提供洞察和建议。例如,分析销售数据、市场趋势预测等。
ChatGPT可以将文本从一种语言翻译成另一种语言,实现多语种翻译与跨语言沟通。例如,实时翻译、文档翻译等。
ChatGPT可以用于辅助教学和培训,提供个性化的学习建议和资源。例如,智能教学助手、在线课程设计等。
ChatGPT可以根据特定行业的需求提供定制化的解决方案。例如,金融市场分析、医疗问诊辅助等。
通过了解现有的ChatGPT用法汇总,我们可以找到更多使用ChatGPT的创新方式,并将其应用于实际工作中。openai-cookbook/How_to_format_inputs_to_ChatGPT_models.ipynb at main · openai/openai-cookbook (github.com)
其中可以注意的是调用api时,角色中有system角色,针对于不同用途的api调用,可以采用不同的system消息来设置assistant的行为。例如这里是,是比较通用的情况。在需要学习数学时,可以写'You are a math teacher.'在需要培养习惯制定目标时,可以写‘You are a Life Coach ’acheong08/ChatGPT: Reverse engineered ChatGPT API (github.com)截至2023-03-23 star21.9kpip安装example-code可以直接在本地起一个图形化应用。无教程文档,需读源码。2023-03-23 star5.1k轻快好用的Web图形界面GaiZhenbiao/ChuanhuChatGPT: GUI for ChatGPT API (github.com) 英文、内容丰富、查找困难:f/awesome-chatgpt-prompts: This repo includes ChatGPT prompt curation to use ChatGPT better. (github.com) 中文:PlexPt/awesome-chatgpt-prompts-zh: ChatGPT 中文调教指南。各种场景使用指南。学习怎么让它听你的话。 (github.com) 无需翻墙:标签查找、关键词搜索、中英切换、一键复制:ChatGPT Shortcut - 简单易用的 ChatGPT 快捷指令表,让生产力倍增! | 标签筛选、关键词搜索和一键复制 Prompts (newzone.top) chrome插件: AIPRM for ChatGPT,集成到chatgpt页面中, 一键访问为 SEO、SaaS、营销和更多 ChatGPT 的精选提示模板列表,也有开发相关,可选语言,有教程插件安装: https://chrome.google.com/webstore/detail/aiprm-for-chatgpt/ojnbohmppadfgpejeebfnmnknjdlckgj官网:https://www.aiprm.com/github仓库地址:kaixindelele/ChatPaper: Use ChatGPT to summarize the arXiv papers. (github.com)截至2023-03-23 star 3.7kchat_arxiv.py可以从arxiv网站,根据关键词,最近几天,几篇论文,直接爬取最新的领域论文论文总结+论文审稿+论文审稿回复文档详细使用部署容易ChatPDF - Chat with any PDF!免费额度有限,$5/month
可以直接打开pdf 总结内容,需在侧边栏使用,不能挂代理使用,需要直连翻墙网络。chrome插件:voice control for chatgpt 语言输入输出 https://www.zhihu.com/question/582979328/answer/2916080530论文润色 https://www.zhihu.com/question/582979328/answer/2886062027分解复杂句式 https://www.zhihu.com/question/582979328/answer/2894762377创意写作 https://www.zhihu.com/question/582979328/answer/2885074540ChatGPT_MD 因为upsplash api的缘故,刷新页面后图片可能改变
输入文本,要求chatgpt绘制相应的mermaid图片。chatgpt作为Midjourney prompt生成器以生成产品图。 https://www.zhihu.com/question/582979328/answer/2910126860https://www.zhihu.com/question/582979328/answer/2909591103电影梗概生成影评:https://www.zhihu.com/question/582979328/answer/2884876552工作流、图片处理、语音等等 https://www.zhihu.com/question/582979328/answer/2907714269室内设计:Nutlope/roomGPT: Upload a photo of your room to generate your dream room with AI. (github.com)
在这一部分,我们将讨论ChatGPT及聊天机器人领域所面临的挑战,以及未来的发展趋势和机遇。
随着ChatGPT等聊天机器人的广泛应用,数据安全和隐私保护成为关键问题。我们需要确保用户数据的安全存储、传输和处理,同时防止潜在的数据泄露和滥用风险。
[插入一张展示数据安全与隐私保护的图片]
聊天机器人可能会从训练数据中学到偏见,导致不公平和歧视性的回答。为了解决这一问题,我们需要在模型训练和部署阶段关注道德伦理,并努力消除模型偏见。
[插入一张展示模型偏见与道德伦理的图片]
为了满足不断增长的应用需求,我们需要不断优化和提升聊天机器人的性能,包括提高模型的准确性、响应速度和稳定性。
[插入一张展示模型性能优化与提升的图片]
随着技术的发展,我们可以期待聊天机器人在更多领域和场景中发挥作用。这包括更紧密的人机协作、更高级的自然语言理解能力和更广泛的行业应用等。
[插入一张展示未来发展趋势与机遇的图片]
GPT-4是一种预先训练的Transformer模型,用于预测文档中的下一个标记。该模型使用了公开可用的数据(如互联网数据)和第三方提供商授权的数据进行训练,然后使用人类反馈强化学习(RLHF)进行微调。由于竞争格局和大型模型(如GPT-4)的安全影响,本报告不包含有关架构(包括模型大小)、硬件、训练计算、数据集构建、训练方法等方面的进一步细节。
GPT-4项目的一个重点是建立一个可预测扩展的深度学习堆栈。为了解决这个问题,我们开发了具有非常可预测行为的基础设施和优化方法。这些改进使我们能够从使用较少计算量训练的较小模型中可靠地预测GPT-4的某些性能方面。
此外,本报告还包括一份详细的系统卡片(附录之后),描述了我们预见到的围绕偏见、虚假信息、过度依赖、隐私、网络安全、扩散等方面的风险,并描述了我们为减轻GPT-4部署可能带来的潜在危害而采取的干预措施,包括与领域专家进行对抗性测试和模型辅助安全管道。
该PDF文件表明,GPT的影响并不限于特定行业或工作类型。
相反,大约80%的美国劳动力可能至少有10%的工作任务受到GPT的影响, 而大约19%的工人可能看到他们至少50%的任务受到影响。
这种影响跨越了所有的工资水平,高收入的工作可能会面临更大的影响。因此,广泛的行业和工作类型可能会受到引入GPT的影响。
这种影响并不限于近期生产力增长较高的行业,高收入的工作可能面临更大的影响。本文提出了一个开创性的衡量任务受GPT影响的标准,并提供了GPT软件可能包括的功能的例子,如总结文件,从互联网上检索最新的事实,搜索一个组织的现有知识或数据,并提供问题的咨询。
本文还讨论了潜在的政策影响,并建议政策制定者应考虑如何支持可能受到GPT引进影响的工人,同时也促进创新和经济增长。
工人也可以从了解人工智能和GPT技术的进展中受益,并寻求培训或教育机会,以发展不太可能被GPT自动化的技能。此外,工人可能想考虑发展补充GPT技术的技能,如批判性思维、创造力和解决问题的能力。归根结底,随着技术的不断发展,工人保持适应性和开放性来学习新技能是非常重要的。openai-cookbook/How_to_format_inputs_to_ChatGPT_models.ipynb at main · openai/openai-cookbook (github.com))