写在前面:
起因是在去年的11月份,参与了在Yeelight Fun系列产品线的Cube内测阶段,那会我觉得这款Cube是离OpenAI接入最近的一次,当时提出了“自然语言处理”的概念,由于项目还在专注解决内测问题,我的工作也满满当当,遂提了一嘴后面就没再关心了。
没想到的是1个月后ChatGPT就发布了人机聊天对话机器人,广超老师12月份在软件群里也提到了这件事,这个东西上线2天后用户超百万,1个月后用户超一亿,那会就感受到了它的奇妙的存在。
随着AI的话题如火如荼,国内也兴起了这波AI浪潮,令人失望的是,国内大厂们前期只是在做PPT划拉纳税人的钱。易来顺应国际潮流,3月30号,易来开启探索AI会议的第一步,也是物联网产业迈入AI的一大步。那会游荡在春熙路的我也加入了这次会议,在嘈杂的人海中汲取了对本身岗位的一丝灵感。感叹道,人类的技术积累虽然是循序渐进的,但是技术革新永远都是突破性的,神奇到什么样,好比第一次工业革命到现在的工业互联网那样神奇。
AI 概念
人工智能(AI)是指开发计算机系统,这些系统可以执行通常需要人类智能才能完成的任务,例如学习、推理、解决问题、感知和自然语言理解。人工智能基于创造可以像人类一样工作和学习的智能机器的想法。可以训练这些机器识别模式、理解语音、解释数据并根据该数据做出决策。早期的AlphaGo、微软小冰,他们都是上一代的架构,没法与其他信息构建关联,都作用在垂直领域。总而言之,目的是解决并扩散人类生产力。
生成式 AI
生成式 AI 是人工智能中的一种技术类型,例如图像、视频或文本。它的工作原理是使用一个在大量示例数据集上训练过的模型,然后使用这些知识生成与训练过的示例相似的新内容。生成式 AI 适用于计算机图形学、自然语言生成和音乐创作等任务。国外的 New Bing 国内如文心一言、
生成式人工智能的另一个应用是在自然语言处理领域。通过使用生成模型,可以生成风格和语气与特定作者或流派相似的新文本。这对于范围广泛的应用程序非常有用,从生成新闻文章到创建营销文案。我们通过 Midjourney,可根据几个关键词就可以生成图像。例如“来个 gaming 场景”,如下。值得注意的是我们需要提供更多、更准的关键词来匹配我们想要的结果。让我们在实际工作中实现真正的“赋能”。
ChatGPT 3.5
概念
ChatGPT(Chat Generative Pre-trained Transformer)是基于 OpenAI GPT 系列架构的一款大型语言模型,具有强大的自然语言处理能力。该模型可以理解和生成文本,用于各种场景,如智能对话、文本生成、文本纠错等。通过大量数据训练,ChatGPT 能够理解用户意图并提供有价值的回复,为人工智能应用提供基础设施。经过不断迭代与升级,ChatGPT 3.5 和 ChatGPT 4 分别代表了不同阶段的技术演进。想了解更多关于 ChatGPT 的信息,请访问 OpenAI 官方网站。
注册
准备工具
1. 梯子:由于 ChatGPT 会屏蔽掉国内的 IP,所以需要进行代理访问。使用 shadowsocks,下载地址:https://github.com/shadowsocks
2. 海外代理服务器:
美国-洛杉矶节点
3. 邮箱:不要用国内邮箱,尽量是 Gmail 邮箱。
4. 手机号:必须是国外手机号,推荐使用接码平台:https://sms-activate.org/#
注册步骤
1. 进入 https://chat.openai.com/chat,选择 Sign up,填写已注册的 Gmail 邮箱
2. 提示需要进行邮箱验证,点击 Open Gmail
3. 登陆邮箱,通过邮箱内 Open AI 链接进行验证
4. 邮箱链接验证完成后,Open AI 需要验证手机号码
5. 打开 https://sms-activate.org/#,左侧搜索 OpenAI 服务并选择任意一个便宜点的手机号,如“印度尼西亚”即可(如果账号上没有钱,则需要先充值,最低 2 美元,支持支付宝)
6. 将购买的手机号复制到 ChatGPT 短信验证页面,点击“Send code via SMS”,通过短信平台的验证码 输入并验证
7. 短信验证通过后,自动进入到 ChatGPT 的 chat 页面。后续我们直接访问 https://chat.openai.com/chat 即可,登陆账号跟密码就是你的 Gmail 账号
使用实例
协助解决日常工作出现的痛点
例如当一个项目从头到尾都在需求变更,作为软件测试人员面临即将延期的项目不知所措,可以通过ChatGPT进行对话并作为参考。
构建测试用例
1. ChatGPT 可以回答你输入的任何问题,由于数据模型的庞大,回答的问题可能不是我们需要的,可以进一步通过点击 Regenerate response 来重新获得答案。如“qa 是做什么的”,很明显第一个答案并不是我们需要的,第二个答案匹配度较高
2. 尝试询问 ChatGPT 如何高效的协助测试工程师工作,查看以下答案
3. 我们可以根据第一条回答的来看到,“通过向 ChatGPT 提供产品要求和设计信息来生成测试文档和测试用例”,言外之意就是我们需要描述清楚、表达清楚一个准确并完整的信息才会得到 ChatGPT 的匹配的答案,如果一个需求描述不清楚,可能事与愿违。我们想要设计多条遥控器控灯的测试用例,可见以下回答
4. 以上回答仍然存在一些问题,如我们的遥控器支持色温调节,ChatGPT 没有说出来,没有写出我们需要的色温调节,蓝牙的一些个高低性能也没有凸显出来,我们再优化一下提问,可以这么说“遥控器有开关、亮度、色温等调节功能,并通过蓝牙控制灯光,尽可能的设计多个测试用例,其中也包含蓝牙性能等”
5. 通过回答的来看,青空®️灯的固件状态上报的 case 没有回答,ChatGPT 并不知道我们是智能灯光,控制普通灯光也可以复用此条 case,于是我们通过查看灯的规格书之后,再改进下问答,可以这么问“尽可能多的设计 beacon 遥控器控制蓝牙 Mesh 灯具的测试用例,包含开关灯、亮度调节、色温调节、蓝牙性能等,灯具也会将遥控器控制的状态上报到云端,也支持 APP 控制”,见以下回答
6. 不是很直观,我们让其直接生成一份 Excel 试试,如下
7. 我们根据前几次的提问与 ChatGPT 的回答,使其不断补充去训练,人工进一步修改后,基本可以定型一份遥控器控制灯光的测试用例,进入下一步的 review 阶段,如果整个 ChatGPT 的网络流畅的话,基本在半个小时内写完初稿。所以ChatGPT只是起到了辅助工作作用,它本身不具有思考行为,我们作为提问者,还是需要不断提高自我技术的认知能力、语言的表达能力,否则你提给 ChatGPT 的问题本身就是一个问题。
解读会议纪要等文档
由于ChatGPT-3.5-Turbo功能没有像4.0那一样强大,所以无法解析文件。我们将文档内容粘贴到聊天框中,查看匹配内容
通过ChatGPT API实现在Word中问答
各种基于ChatGPT的api的软件纷至沓来,我们将ChatGPT通过宏的方式整合到word中去,即可用简短的提问方式去改善文档内容。
1. 首选需要拿到ChatGPT的API信息,登陆OpenAI的个人账户,https://platform.openai.com/
2. 点击 Create new secret key,弹出的API key一定要复制好,或者记到别的地方,如果没记下来好像就没有地方再显示了,f12里面也是加密的
3. ChatGPT API 调用是收费的,但是 OpenAI 已经为我们免费提供了5美元的用量,如果后续有更大的需要,可以充值Plus
4. 我们需要用到Office中VBA编辑器(VBA中的vba是Visual Basic For Application的缩写。一般用来实现简单或中等的办公自动化应用,现在只有win能用了),打开win中的Word >> 开发工具 >> Visual Basic,插入一个新的模块,内容填写以下内容,意思是我们要实现一个selectedText后,调用openai apis的/chat/completions来实现对话
Sub ChatGPT()
Dim selectedText As String
Dim apiKey As String
Dim response As Object, re As String
Dim midString As String
Dim ans As String
If Selection.Type = wdSelectionNormal Then
selectedText = Selection.Text
selectedText = Replace(selectedText, ChrW$(13), "")
apiKey = "your app-key"
URL = "https://api.openai.com/v1/chat/completions"
Set response = CreateObject("MSXML2.XMLHTTP")
response.Open "POST", URL, False
response.setRequestHeader "Content-Type", "application/json"
response.setRequestHeader "Authorization", "Bearer " + apiKey
response.Send "{""model"":""gpt-3.5-turbo"", ""messages"":[{""role"":""user"",""content"":""" & selectedText & """}], ""temperature"":0.7}"
re = response.responseText
midString = Mid(re, InStr(re, """content"":""") + 11)
ans = Split(midString, """")(0)
ans = Replace(ans, "\n", "")
Selection.Text = selectedText & vbNewLine & ans
Else
Exit Sub
End If
5. 解答后的效果与直接通过https://chat.openai.com/chat 效果一致,如下
任何软件或者平台要接入ChatGPT的话,拿到API-keys这一步是必须的
利用小爱同学向ChatGPT提问
https://www.youtube.com/watch?v=K4YA8YwzOOA(侵删)
基于LLMs方案的软件测试模型
背景
目前来说由于通用大模型训练/部署的高成本,产业水平化分工的条件基本成熟,世界上并不需要很多个大模型,做LLM的应用将会是中小型企业和个人开发者的必然选择。(Large language model(LLM),大型语言模型是一种基于深度学习的自然语言处理(NLP)技术))
回归到本质,国内外市场的 AI 应用 层出不穷,除了上面我们讲到的 ChatGPT 还有微软的 New Bing、百度的文心一言等。
生成式 AI 现在可以分为四层:芯片层、框架层、模型层和应用层,而在模型层上,类似ChatGPT、文心一言背后的技术本质上是大型语言模型(LLM)的应用。无论哪家公司都不可能靠突击几个月就做出的,都会面临着高额成本投入。 在 AI 业界,大模型的训练堪称“暴力美学”,需要有大算力、大数据和大模型,每一次训练任务都耗成本巨大。截止2023/4中旬,可公测的只有几家公司,像国内360、百度等也基本上处于内测阶段,内测码寥寥无几,且阶段还不够成熟,估计公测还需要很长的时间;国外由于先天服务环境不友好,高效使用起来也很困难。
传统测试 跟 基于LLMs 模型测试方法的区别
未来计划
1. 迎合易来探索AI的脚步,并持续改进软件测试过程
2. 基于LLMs方案技术,熟悉并细化语言模型的测试指标,实现具体实例
3. 不断学习并探索合适的测试模型及算法测试方式
本次总结
我们在整个过程中会发现对国内网络环境确实不是很友好,日后等时机成熟了,可以使用国内的生成式 AI 文心一言。另外,我作为QA,更多的会去从QA角度审视AI应用给软件测试带来的冲击。虽然明知道不会被取代,但是思维步伐要紧跟大环境的潮流,才能与时俱进。
最后给大家推荐个视频
https://www.bilibili.com/video/BV1VL411U7MU?share_source=copy_web