目录
- ChatGPT 原理介绍
- 与人工智能 ChatGPT 对话
- ChatGPT 实战演练
OpenAI 组织
OpenAI(开放人工智能[6])是美国一个人工智能研究实验室,由非营利组织 OpenAI Inc,和其营利组织子公司 OpenAI LP 所组成。OpenAI 进行 AI 研究的目的是促进和发展友好的人工智能,使人类整体受益。
OpenAI 的创立
该组织于 2015 年由萨姆·阿尔特曼、里德·霍夫曼、Jessica Livingston、伊隆·马斯克、伊尔亚·苏茨克维、沃伊切赫·扎伦巴 (Wojciech Zaremba)、彼得·泰尔 等人在旧金山成立,他们共同认捐了$10 亿美元。 微软在 2019 年向 OpenAI LP 提供了$10 亿美元的投资,并在 2023 年 1 月向其提供了第二笔多年投资,据报导为$100 亿美元[12], 用于独家访问 GPT-4,这将为微软自己的 Bing Prometheus 模型提供支持[13]。
ChatGPT 产品介绍
- ChatGPT,全称聊天生成预训练转换器(英语:Chat Generative Pre-trained Transformer[2]),是 OpenAI 开发的人工智能聊天机器人程序,于 2022 年 11 月推出。该程序使用基于 GPT-3.5、GPT-4 架构的大型语言模型并以强化学习训练。ChatGPT 目前仍以文字方式交互,而除了可以用人类自然对话方式来交互,还可以用于甚为复杂的语言工作,包括自动生成文本、自动问答、自动摘要等多种任务。如:在自动文本生成方面,ChatGPT 可以根据输入的文本自动生成类似的文本(剧本、歌曲、企划等),在自动问答方面,ChatGPT 可以根据输入的问题自动生成答案。还有编写和调试计算机程序的能力。
- ChatGPT 可写出相似真人的文章,并在许多知识领域给出详细和清晰的回答而迅速获得关注,证明了从前认为 AI 不会取代的知识型工作它也足以胜任,对金融与白领人力市场的冲击相当大,但也认为事实准确度参差不齐是其重大缺陷,并认为基于意识形态的模型训练结果须小心校正。ChatGPT 于 2022 年 11 月发布后,OpenAI 估值已涨至 290 亿美元[7]。上线 5 天后已有 100 万用户,上线两个月后已有上亿用户[8]。目前 ChatGPT-3.5 为免费版本,ChatGPT-4 供 ChatGPT Plus 会员使用,且每三个小时只能发送 25 条消息。
- OpenAI API 几乎可以应用于任何涉及理解或生成自然语言、代码或图像的任务。我们提供一系列具有不同功率级别的模型,适用于不同的任务,并且能够微调您自己的自定义模型。这些模型可用于从内容生成到语义搜索和分类的所有领域。
- ChatGPT 是根据 GPT-3.5 进行微调的,GPT-3.5 是一种经过训练可生成文本的语言模型。 ChatGPT 通过使用人类反馈强化学习 (RLHF) 针对对话进行了优化——一种使用人类演示和偏好比较来引导模型朝着期望的行为发展的方法
用途
- Classification 分类
- Generation 生成
- Conversation 会话
- Translation 翻译
- Conversion 转换
- Summarization 总结
- Completion 完成 完形填空
- Factual responses 事实回应
- Inserting text 中间插入文字
- Editing text 编辑文本角色转换
GPT 模型总结
- OpenAI 组织孵化了商业化公司
- OpenAI 的商业化公司发明了 ChatGPT
- ChatGPT 使用 GPT 模型
- GPT 模型基于 Google Transformer 模型
- 谷歌的 BERT 同样基于 Transformer 模型
- 类似模型还包括百度的文心一言、阿里的通义千问
- Transformer 模型和之前的 CNN(Cellular neural network 卷积神经网络)、RNN(Recurrent Neural Network 循环神经网络)等模型被研究人员称作基础模型
ChatGPT 是否值得相信?
这些模型是根据人类编写的来自互联网的大量数据(包括对话)进行训练的,因此它提供的响应可能听起来像人类。重要的是要记住,这是系统设计的直接结果(即最大化输出与训练模型的数据集之间的相似性),并且此类输出有时可能不准确、不真实,并且有时会产生误导。
ChatGPT 没有连接到互联网,它偶尔会产生错误的答案。它对 2021 年之后的世界和事件的了解有限,也可能偶尔会产生有害的指令或有偏见的内容。 我们建议检查模型的响应是否准确。如果您发现答案不正确,请使用“不满意”按钮提供反馈。
注册流程
微软云服务
- 价格最低 3.8 美元
- 其他平台基本也都有 6 美元以下的服务器
- 也可以选择其他代理服务
国内邮箱、国内 ip 请慎用,推荐使用 gmail 邮箱
付费方案
不建议个人支付,针对国内有限制,容易被封号
ChatGPT 体验方式
核心概念 Prompts
- 设计提示本质上是您“编程”模型的方式,通常是通过提供一些说明或一些示例。
- 这不同于为单一任务设计的大多数其他 NLP 服务,例如情感分类或命名实体识别。
- 相反,完成和聊天完成端点可用于几乎任何任务,包括内容或代码生成、摘要、扩展、对话、创意写作、风格转换等。
我们的模型可以做任何事情,从生成原创故事到执行复杂的文本分析。因为他们可以做很多事情,所以你必须明确描述你想要什么。展示,而不仅仅是讲述,通常是获得良好提示的秘诀。
核心概念 提示词设计
- 展示和讲述。
- 通过说明、示例或两者的结合,明确您想要什么。
- 如果您希望模型按字母顺序对项目列表进行排名或按情绪对段落进行分类,请向它展示您想要的。
- 提供质量数据。
- 如果您正在尝试构建分类器或让模型遵循某种模式,请确保有足够的示例。
- 一定要校对你的例子——模型通常足够聪明,可以看穿基本的拼写错误并给你一个回应,但它也可能认为这是故意的,它会影响回应。
- 检查您的设置。
- temperature 和 top_p 设置控制模型在生成响应时的确定性。
- 如果您要求它提供只有一个正确答案的答复,那么您需要将这些设置得较低。
- 如果您正在寻找更多样化的响应,那么您可能希望将它们设置得更高。
- 人们在使用这些设置时犯的第一个错误是假设它们是“聪明”或“创造力”控制。
分类示例
提示词改进建议
- 把提示词当成
- 测试环境(测试对象、被测对象)
- 测试数据(定义输入数据格式)
- 期望结果(定义输出数据格式)
- 测试步骤(明确操作流程的步骤)
提示词案例
I want you to act as a javascript console. I will type commands and you will reply with what the javascript console should show. I want you to only reply with the terminal output inside one unique code block, and nothing else. do not write explanations. do not type commands unless I instruct you to do so. when i need to tell you something in english, i will do so by putting text inside curly brackets {like this}. my first command is console.log(“Hello World”);
我希望你作为一个 javascript 控制台。我将输入命令,你回复 javascript 控制台应显示的内容。我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容。不要写解释。除非我指示您这样做,否则不要输入命令。当我需要用英语告诉你一些事情时,我会把文字放在大括号内{like this}。我的第一个命令是 console.log(“Hello World From 霍格沃兹测试开发学社”);
测试环境
- “我希望你作为一个 javascript 控制台”。这句话使用了 "act as " hack 来告诉 ChatGPT 在对话中承担一个 javascript 控制台的角色。
- “我将输入命令,你回复 javascript 控制台应显示的内容”。这句话解释了用户在对话中的角色,以及 ChatGPT 在回应用户输入的命令时的角色。
期望结果
- “我希望您只在一个唯一的代码块内回复终端输出,而不是其他任何内容”。这句话为 ChatGPT 提供了进一步的指示,规定它只能用一个独特的代码块内的终端输出进行回复,而不能在其回复中包含任何其他内容或解释。
- “不要写解释”。这句话是对前一句指令的重复,强调 ChatGPT 不应该在其回复中写任何解释。
测试数据
- “除非我指示您这样做,否则不要输入命令”。这句话为 ChatGPT 提供了进一步的指示,明确指出除非有用户的指示,否则它不应该输入任何命令。
- “当我需要用英语告诉你一些事情时,我会把文字放在大括号内{就像这样}”。这句话为用户提供了如何用英语与 ChatGPT 交流的指示,即把文本放在大括号里。
测试步骤
- “我的第一个命令是 console.log(“Hello World From 霍格沃兹测试开发学社”);”。这句话提供了提示的第一个命令,因此 ChatGPT 将首先运行。
课堂练习
- 了解测试开发岗位的职业前景。
- 自由了解 2 个自己感兴趣的问题。
自动进行需求分析
- 你是一个资深的测试开发工程师,请分析以下需求内容,给出需求分析结果
- Web登录功能
- 帐号是手机号
- 手机号仅限制为国内常用的号段
- 密码必须为 数字+英文 的形式,字段为 8-12 个字符
- 账号密码都为空时,登录按钮置灰不可点击
- 点击登录按钮,发起登录请求
- 请求成功,跳转到首页
- 点击忘记密码跳转到找回密码页
自动生成架构图
- 请使用 plantuml 生成上述登录功能的架构图
制定测试方案
- 请针对以上登录功能,制订一套标准的软件测试流程和规范,需要包含
- 需求分析与测试计划
- 测试用例设计
- 环境配置和测试数据准备
- 执行测试用例
- 缺陷管理和跟踪
- 测试报告和总结
- 自动化测试
- 管理上述这套软件测试流程和规范,可以使用哪种平台工具
课堂练习
- 自动制定 LiteMall 商品查询功能测试方案。
编写测试计划
- 请编写上述 web 登录功能的测试计划,计划中包含 5W1H 的内容
编写测试用例
自动生成测试用例思维导图
- 请给出上述web产品登录功能的测试用例合集,包含具体的测试点,使用 plantuml 中的 mindmap 格式,展示在一个代码块中
课堂练习
- 自动编写 LiteMall 商品查询功能的测试用例。
- 生成上述功能思维导图格式的测试用例。
自动找 Bug
import Random
a = random.randint(1,12)
b = random.randint(1,12)
for i in range(10):
question = "What is "+a+" x "+b+"? "
answer = input(question)
if answer = a*b
print (Well done!)
else:
print("No.")
课堂练习
- 找一段自己报错的 python 代码,找出这段代码中包含的 Bug。
编写测试报告
- 请针对以上web登录功能,编写测试报告,测试报告中需要包含以下内容
自动编写 python 脚本
- 你是一位资深的 python 开发工程师,请编写计算两位整数加法的方法
总结
- 什么是 ChatGPT
- 测试领域中如何使用 ChatGPT