ChatGPT及GPT-3API本地调用
相信这两天大家的社交媒体上或多或少都会出现ChatGPT、GPT、OpenAI等英文字眼,简单来说它就是一个人工智能,只不过相对如今的很多AI要更加智能,从OpenAI官网我们可以看到它的功能包括但不限于聊天;翻译;文章复写或润色;编写文案、代码、邮件等等文字内容。这一代模型的独特之处在于它会根据上文的聊天内容来完善下文的回答,流畅程度已经可以堪比人类的交流,不过随着聊天时间的延长,回答效果还是有所影响。
本人是研究区块链的研究生,因此我从去年年底开始便使用ChatGPT来解决一些科研上的疑惑,用下来的感觉还是蛮不错的,很多涉及区块链底层架构的问题它都能给出见解。然而随着ChatGPT影响力的扩大以及请求量的增加,广大网友们也开始发现这个AI存在的一些问题,比如虚构科研文献、生成用字词简单拼接的诗词、无法回答高时效性的问题等等。
其实任何一个新鲜事物的诞生总会伴随着好与坏,而如何正确看待这个事物并将其为我所用才是我们作为使用者应该做的。ChatGPT本身是一个基于海量数据训练的大语言模型,其回答中能给出的答案都是基于训练的数据,因此只要没有在其训练数据中的问题,它都不可能给出准确的答案。基于这个结论,我们在使用ChatGPT时还是要注意辨别答案的正确性,不能因为人工智能丧失了我们宝贵的辨别力。
讲完ChatGPT的缺点,我们再回过头聊聊它强大的文字编写能力。最近漂亮国很多大学生利用ChatGPT撰写学术论文,严重蔑视了科研工作的严谨性,所以纽约的教育系统开始全面封杀ChatGPT,斯坦福大学也提出了DetectGPT算法来判断文本是否由机器生成。针对上述这个例子,首先我必须表明我的态度:我觉得使用ChatGPT辅助科研或论文书写是可以的,这样不仅发挥了人工智能本身的作用,同时加快了我们获取研究相关信息的速度,但是直接用它的回答作为论文内容是坚决反对的;其次,虽然ChatGPT的文字编写能力很强,但对一些文字逻辑或学术性要求较高的工作来说它是不太适合的,至少目前的智能程度还完成不了,比如学术论文、诗歌、哲学思考等等。
ChatGPT API目前没有公开,因此当前国内所有相似的小程序或网页端的底层模型都是GPT-3,即text-davinci-003,这里我就拿GPT-3作为模型演示一下本地部署与调用的过程(不需要科学上网)。
- 注册OpenAI账号,拿到OpenAI API key。账号的话可以查询网上教程,或者直接上某宝购买,也挺便宜的。接着登录账号进入个人API Keys界面,点击+Create new secret key即可生成OpenAI API key(记得复制保存)。
- 本地安装python、pip环境,这一步直接CSDN查教程,很简单。
- 下载openai包:pipinstallopenai
- 编写如下python文件运行即可。每次询问问题修改prompt变量即可,运行后答案显示在terminal终端。
这里简单讲解一下关键函数openai.Completion.create中几个常用参数的含义。
engine:使用的模型,这里指的是text-davinci-003,GPT-3在官网中还有以下几个模型。
prompt:传入的问题或补全内容
max_tokens:输出生成的最大token数,即回复内容的单词数量
n:默认值为1,表示生成多少个回复
stop:终止序列,API将停止生成进一步的token,返回的内容不包含该序列
temperature:模型将承担风险的高低,也可理解为答案的随机性,0.0—0.9表示随机性从小到大
完整的参数列表如下,大家可以尝试修改其他参数的取值,看看回复会有啥变化,玩AI也是学习AI的过程嘛。
其实我们在使用ChatGPT的时候,针对不同的场景需求OpenAI需要调用不同的API函数,GPT-3也是同理,由于函数以及每个函数的相关参数数量较多,因此下次有时间再跟大家盘盘。