提示工程师指南4-ChatGPT Prompt Engineering

ChatGPT Prompt Engineering

在这个部分,我们将介绍 ChatGPT 的最新提示工程技术,包括技巧、应用、限制、论文和额外的阅读材料。

主题:

与 ChatGPT 对话
Python 笔记本
请注意,本部分正在紧密开发中。

文章目录

  • ChatGPT Prompt Engineering
    • @[toc]
    • ChatGPT介绍
    • 审查对话任务
    • 使用ChatGPT进行对话
      • 多轮对话
      • 单轮任务
      • Instructing Chat Models
    • Python笔记本
    • 参考资料(英文)
    • 指南

ChatGPT介绍

ChatGPT是OpenAI训练的一种新型模型,可以进行对话交互。该模型经过训练,可以按照提示中的指令,在对话上下文中提供适当的回应。ChatGPT 可以帮助回答问题、建议菜谱、按某种风格写歌词、生成代码等等。

ChatGPT 使用人类反馈强化学习(RLHF)进行训练。虽然这个模型比之前的 GPT 版本更具有能力(还经过训练以减少有害和不真实的输出),但它仍然存在限制。让我们通过具体的例子来了解一些能力和限制。

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


审查对话任务

In one of the previous guides, we covered a bit about conversation capabilities and role prompting. We covered how to instruct the LLM to have a conversation in a specific style, with a specific intent, behavior, and identity.
在之前的指南中,我们介绍了一些关于对话能力和角色提示的内容。我们讲解了如何指导LLM以特定的风格、意图、行为和身份进行对话。

让我们回顾一下之前的基本示例,我们创建了一个对话系统,能够生成更技术和科学的回答。

Prompt:

以下是与AI研究助手进行的对话。助手的语气是技术和科学的。人类:你好,你是谁?
AI:您好!我是一个AI研究助手。我今天可以帮您什么?
人类:你能告诉我关于黑洞的形成吗?
AI:

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

意图或者解释聊天机器人是什么
身份,它指导聊天机器人用什么风格或语气来回复

上述简单示例适用于使用text-davinci-003的文本完成API。最近,OpenAI宣布了ChatGPT APIs,它是一种更强大和更便宜的模型,名为gpt-3.5-turbo,专门用于这种类型的功能(聊天完成)。OpenAI推荐它作为它们的最佳模型,即使是非聊天的用例也是如此。使用ChatGPT API的其他好处是显着的成本降低(90%)和效率。
Snap Inc.和Instacart等大公司已经在他们的产品上集成了由ChatGPT支持的对话功能,从个性化推荐到开放式购物目标不等。


使用ChatGPT进行对话

多轮对话

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

Input:

系统: 你是一个使用技术性和科学性语气的AI研究助手。
用户: 你好,你是谁?
助手: 你好!我是一名AI研究助手。今天我能为你做些什么?
用户: 你能告诉我黑洞是如何产生的吗?

Output:

助手: 当然可以!黑洞是由于一个大质量星体耗尽燃料并在自身引力作用下崩塌形成的。这种崩塌导致星体变得极为致密,具有极强的引力场,甚至连光线都无法逃脱。这个无法回头的点称为事件视界。一旦一颗星体穿过事件视界,它就被认为是一个黑洞...

请注意,在上面的示例中,我已经简化了输入和输出,但是ChatGPT聊天补全API要求消息以特定的格式提供。我在下面添加了一个快照,展示了在OpenAI Playground中使用Chat Mode时,此示例的外观:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

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

import openaiopenai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "系统", "content": "你是一个使用技术性和科学性语气的AI研究助手。"},{"role": "用户", "content": "你好,你是谁?"},{"role": "助手", "content": "你好!我是一名AI研究助手。今天我能为你做些什么?"},{"role": "用户", "content": "你能告诉我黑洞是如何产生的吗?"}]
)

未来开发人员与ChatGPT交互的方式预计将通过Chat Markup Language(简称ChatML)完成。

单轮任务

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

Input:

USER:根据下文回答问题。保持答案简短明了。如果不确定答案,请回答“不确定答案”。背景:Teplizumab的根源可以追溯到名为Ortho Pharmaceutical的新泽西州制药公司。在那里,科学家生成了抗体的早期版本,称为OKT3。最初从小鼠中获得,这种分子能够结合到T细胞的表面并限制它们的细胞杀伤潜力。 1986年,它获得批准,用于帮助预防肾脏移植后器官排斥,成为首个允许人类使用的治疗性抗体。问题:OKT3最初是从哪里获得的?回答:

Output:

ASSISTANT:小鼠。

请注意,我添加了“USER”和“ASSISTANT”标签,以更好地演示如何使用ChatGPT执行任务。以下是使用Playground的示例:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传在这里插入图片描述

更正式地说,这是API调用(我仅包括请求的消息组件):

CONTENT = """Answer the question based on the context below. Keep the answer short and concise. Respond \"Unsure about answer\" if not sure about the answer.Context: Teplizumab traces its roots to a New Jersey drug company called Ortho Pharmaceutical. There, scientists generated an early version of the antibody, dubbed OKT3. Originally sourced from mice, the molecule was able to bind to the surface of T cells and limit their cell-killing potential. In 1986, it was approved to help prevent organ rejection after kidney transplants, making it the first therapeutic antibody allowed for human use.Question: What was OKT3 originally sourced from?Answer:
"""response = openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "user", "content": CONTENT},],temperature=0,
)

Instructing Chat Models

根据官方OpenAI文档,gpt-3.5-turbo模型的快照也将提供。例如,我们可以访问3月1日的快照gpt-3.5-turbo-0301。这使得开发人员可以选择特定的模型版本。这也意味着指导模型的最佳实践可能会从一个版本变化到另一个版本。

目前针对gpt-3.5-turbo-0301的推荐做法是,在user消息中添加指令,而不是在可用的system消息中添加指令。


Python笔记本

描述Python笔记本
学习如何使用openai库调用ChatGPT APIChatGPT API介绍
学习如何使用LangChain库使用ChatGPT特性。ChatGPT API with LangChain

参考资料(英文)

  • Seeing ChatGPT Through Students’ Eyes: An Analysis of TikTok Data (March 2023)
  • Extracting Accurate Materials Data from Research Papers with Conversational Language Models and Prompt Engineering – Example of ChatGPT (Mar 2023)
  • ChatGPT is on the horizon: Could a large language model be all we need for Intelligent Transportation? (Mar 2023)
  • Making a Computational Attorney (Mar 2023)
  • Does Synthetic Data Generation of LLMs Help Clinical Text Mining? (Mar 2023)
  • MenuCraft: Interactive Menu System Design with Large Language Models (Mar 2023)
  • A Comprehensive Survey of AI-Generated Content (AIGC): A History of Generative AI from GAN to ChatGPT (Mar 2023)
  • Exploring the Feasibility of ChatGPT for Event Extraction
  • ChatGPT: Beginning of an End of Manual Annotation? Use Case of Automatic Genre Identification (Mar 2023)
  • Is ChatGPT a Good NLG Evaluator? A Preliminary Study (Mar 2023)
  • Will Affective Computing Emerge from Foundation Models and General AI? A First Evaluation on ChatGPT (Mar 2023)
  • UZH_CLyp at SemEval-2023 Task 9: Head-First Fine-Tuning and ChatGPT Data Generation for Cross-Lingual Learning in Tweet Intimacy Prediction (Mar 2023)
  • How to format inputs to ChatGPT models (Mar 2023)
  • Can ChatGPT Assess Human Personalities? A General Evaluation Framework (Mar 2023)
  • Cross-Lingual Summarization via ChatGPT (Feb 2023)
  • ChatAug: Leveraging ChatGPT for Text Data Augmentation (Feb 2023)
  • Dr ChatGPT, tell me what I want to hear: How prompt knowledge impacts health answer correctness (Feb 2023)
  • An Independent Evaluation of ChatGPT on Mathematical Word Problems (MWP) (Feb 2023)
  • ChatGPT: A Meta-Analysis after 2.5 Months (Feb 2023)
  • Let’s have a chat! A Conversation with ChatGPT: Technology, Applications, and Limitations (Feb 2023)
  • Check Your Facts and Try Again: Improving Large Language Models with External Knowledge and Automated Feedback (Feb 2023)
  • On the Robustness of ChatGPT: An Adversarial and Out-of-distribution Perspective (Feb 2023)
  • How Generative AI models such as ChatGPT can be (Mis)Used in SPC Practice, Education, and Research? An Exploratory Study (Feb 2023)
  • Can ChatGPT Understand Too? A Comparative Study on ChatGPT and Fine-tuned BERT (Feb 2023)
  • A Prompt Pattern Catalog to Enhance Prompt Engineering with ChatGPT (Feb 2023)
  • Zero-Shot Information Extraction via Chatting with ChatGPT (Feb 2023)
  • ChatGPT: Jack of all trades, master of none (Feb 2023)
  • A Pilot Evaluation of ChatGPT and DALL-E 2 on Decision Making and Spatial Reasoning (Feb 2023)
  • Netizens, Academicians, and Information Professionals’ Opinions About AI With Special Reference To ChatGPT (Feb 2023)
  • Linguistic ambiguity analysis in ChatGPT (Feb 2023)
  • ChatGPT versus Traditional Question Answering for Knowledge Graphs: Current Status and Future Directions Towards Knowledge Graph Chatbots (Feb 2023)
  • What ChatGPT and generative AI mean for science (Feb 2023)
  • Applying BERT and ChatGPT for Sentiment Analysis of Lyme Disease in Scientific Literature (Feb 2023)
  • Exploring AI Ethics of ChatGPT: A Diagnostic Analysis (Jan 2023)
  • ChatGPT for Good? On Opportunities and Challenges of Large Language Models for Education (Jan 2023)
  • The political ideology of conversational AI: Converging evidence on ChatGPT’s pro-environmental, left-libertarian orientation (Jan 2023)
  • Techniques to improve reliability - OpenAI Cookbook
  • Awesome ChatGPT Prompts
  • Introducing ChatGPT (Nov 2022)

指南

以下是我们的一系列Prompt工程指南。指南仍在不断完善中。

  • 1. Prompt工程-简介
  • 2. Prompt工程-基本提示
  • 3. Prompt工程-高级提示
  • 4. Prompt工程-ChatGPT
    1. Prompt工程-Midjouney]
    1. Prompt工程-StableDiffusion]
    1. Prompt工程-应用]
    1. Prompt工程-对抗性提示]
    1. Prompt工程-可靠性]
    1. Prompt工程-其他主题]
    1. Prompt工程-论文]
    1. Prompt工程-工具]
    1. Prompt工程-数据集]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/14554.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cmd输出中文乱码

解决cmd中文乱码问题 解决方法: 1. chcp 直接输入chcp命令,查看当前cmd的编码格式 活动代码页:936指GBK 2. 设置活动代码页为:UTF-8 编码格式 方法一:直接执行 chcp 65001 执行完后,使用 chcp 可查看当前…

chatgpt赋能python:Python转码详解:解决乱码问题

Python转码详解:解决乱码问题 在使用Python进行编程的过程中,经常会遇到乱码的问题。这种情况往往发生在不同操作系统和应用程序之间交互数据时。本文将介绍Python如何进行转码以解决乱码问题。 什么是转码? 当我们将文本从一个编码格式转…

chatgpt赋能python:Python中文字符乱码问题及解决方法

Python中文字符乱码问题及解决方法 Python作为一种高级编程语言,已经被广泛应用于数据分析、机器学习等领域,尤其是在处理中文文本方面具有很大的优势。然而,在实际使用中,我们有时会遇到一些令人头痛的问题,比如中文…

QMessageBox显示中文为乱码

如图,想要输出这些信息,但是展示为乱码 解决办法: 在cpp文件的最顶端加上#pragma execution_character_set("utf-8"),然后重新构建并运行就可以啦!

处理中文乱码和中文部分乱码

文章转自:http://book.51cto.com/art/201112/306309.htm 在网络操作中,关于中文乱码很多初学者都感到非常困难,如何解决乱码?不要没有目的胡乱转码,笔者访问了几个初学者,他们对于这个问题常用的方法就是一…

PHP界面显示中文乱码

在写一个表单提交的项目中&#xff0c;遇到了PHP界面输出无法显示中文界面。 后来查阅相关资料&#xff0c;得出解决途径。 代码如下&#xff1a; <!DOCTYPE html> <html> <head> <title>123</title> </head> <body><?php he…

中文乱码问题

解决中文乱码问题&#xff0c;出现于解压后中文文件名&#xff0c;中文应用程序即exe 常见的中文乱码及解决一. zip压缩包解压之后中文文件名称乱码1. 系统区域改成中文简体2. 用winar打开的时候&#xff0c;选择名称加密&#xff1a;简体中文 二. 中文应用程序&#xff08;以.…

零代码编程:用ChatGPT爬取网页数据遇到乱码怎么办?

今天用ChatGPT写了一段代码&#xff0c;爬取中文网站数据&#xff0c;提示词如下&#xff1a; 写一段Python程序&#xff0c;爬取网页数据并保存到excel表格。 具体步骤&#xff1a; 打开网站https://www.zhenfund.com/Case/?id3&#xff0c;解析源代码&#xff1b; 定位 …

解决各种中文乱码问题

tomcat出现中文乱码问题有以下几种情况&#xff1a; 1.通过cmd启动tomcat出现中文乱码&#xff08;tomcat日志输出编码与cmd编码不一致&#xff09; cmd启动tomcat出现中文乱码 乱码原因&#xff1a;这是由于windows下的cmd的默认编码是GBK编码&#xff0c;Tomcat控制台默认输…

Python 乱码原理及其解决办法

最近在爬虫过程中爬下来的HTML文件中出现了不认识的字符&#xff0c;也就是“乱码”&#xff08;之前也遇到了系统之间文件显示“乱码”的问题&#xff09;&#xff0c;花了点时间学习Python编码相关的问题&#xff0c;主要参考了以下几位的文章&#xff1a;Unicode编码底层描述…

别研究 ChatGPT 了,来看个国产好项目

今天我要给大家推荐一个近期荣获 GVP 称号的项目—— Eoapi&#xff0c;界面简洁的同时满足我的核心诉求。&#xff08;项目作者是我的朋友&#xff0c;大家都支持一下~&#xff09; 简单介绍 Eoapi 是纯国产的开源项目&#xff0c;可以说是 Postman 的好兄弟&#xff0c;该有…

Android小项目——新闻APP

前言&#xff1a; 在公司学习了一段时间Android知识&#xff0c;决定做一个小项目&#xff0c;目的是学会运用所学的基础知识&#xff0c;在这里记录一下开发历程&#xff0c;大家可以把它看成一款入门级练手的 Demo 应用吧~ 项目概述&#xff1a; 类型&#xff1a; 新闻APP&am…

【编程架构实践】关于技术栈和架构

目录 技术栈和架构 技术栈 1. 项目需求 2. 开发团队技能

提示工程七巧板:让ChatGPT发挥出最佳性能

机器有机器的作用&#xff0c;人有人的独特个性和价值。正因为如此&#xff0c;一方面&#xff0c;ChatGPT 等人工智能语言模型需要通过不断与人类的公共知识信息数据交互、汇聚&#xff0c;不断与人类进行对话&#xff0c;才能拥有越来越好的智能表现&#xff1b;另一方面&…

搭建DVWA渗透测试靶场

目录 一、虚拟机的介绍及安装 二、Windows镜像操作系统安装 三、Windows虚拟机的相关配置 四、DVWA靶场搭建 一、虚拟机的介绍及安装 1、双击运行安装文件&#xff0c;然后一直点下一步 2、我接受 3、勾选增强型&#xff0c;然后继续下一步 4、去掉更新及加入体验计划&a…

用 ChatGPT 实现综艺节目中的“你说我猜”游戏|征稿活动V6

引言&#xff1a;本文为 Cocos 第 6 期社区征稿活动参赛文章&#xff0c;作者「花叔爱折腾」。他用ChatGPT Cocos Creator 做了款 AI 对话的小游戏&#xff0c;以下为开发实录。 前言 在实现这个游戏前&#xff0c;我在思考&#xff0c;GPT 实现的是 AI 对话&#xff0c;我总在…

基于深度强化学习训练《街头霸王·二:冠军特别版》通关关底 BOSS -智能 AI 代理项目上手

文章目录 SFighterAI项目简介实现软件环境项目文件结构 运行指南环境配置验证及调整gym环境&#xff1a; gym-retro 游戏文件夹错误提示及解决Could not initialize NNPACK!错误提示&#xff1a;libGL error: MESA-LOADER: failed to open swrast 运行测试训练模型查看曲线 Tip…

WebGoat8.2.2通关记录一(General、Injection)

安装与部署 # 安装 docker pull webgoat/goatandwolf # 启动 sudo docker run -d -p 6870:8888 -p 6869:8080 -p 6871:9090 webgoat/goatandwolf我下载webgoat版本经常无法自动启动webwolf&#xff0c;需要进入到容器命令函手动启动 docker exec -it -uroot fervent_carson b…

通关pikaqu靶场sql注入数字型(一)

目录 1.数字型注入 2.实战(通过pikachu平台) 3.sql代码原理 1.数字型注入 原理以及步骤和实战 SQL数字型注入是指攻击者通过在SQL语句中注入恶意数字型参数&#xff0c;从而利用程序漏洞获得对数据库的未经授权访问。 实现SQL数字型注入的过程通常包括以下几个步骤&#xff1…