ChatGPT和AI佛:探索开放AI的文本生成模型

释放双眼,带上耳机,听听看~!
探索ChatGPT的热度和开放AI的文本生成模型,以及提示工程对AI训练的重要性。了解如何利用开放AI的API开发类似AI佛的应用。

最近ChatGPT的热度非常高,OPEN AI也是在不久前刚刚宣布开放ChatGPT商用API。

写这篇文章的契机在于前几天一位群友分享了一个日本程序员基于ChatGPT开发了一个AI佛:HOTOKE AI

例如当用户提问“我不知道生存的目的”,AI佛会做出如下回答:

ChatGPT和AI佛:探索开放AI的文本生成模型

感觉还是挺有意思的,他会从佛教及心理学的角度去给你分析与解释。

但作为一名程序员,我们肯定对背后的原理更感兴趣,于是我又问了他和GPT有什么区别:

ChatGPT和AI佛:探索开放AI的文本生成模型

这个回答还是有点出乎我的意料的,于是我更感兴趣了,直接网上找起了教程,也研读了一下OPEN API的文档。所以这篇文章更像是一个学习笔记,也希望能吸引到一些同样感兴趣的小伙伴。

文章最后我们会开发一个基于ChatGPT的AI孙子(就是培养出高启强的那个孙子)

ChatGPT

相信大家能点进来的都知道ChatGPT是啥, 这part就过了吧。

OPEN AI API

Examples

OPEN AI API提供了很多种模型供用户选择,在官网上也提供了很多示例,包括各种各样的模型及其生成的结果。
这是官网示例的地址:platform.openai.com/examples

ChatGPT和AI佛:探索开放AI的文本生成模型

我们以Q&A为例:

ChatGPT和AI佛:探索开放AI的文本生成模型
可以看到它用的模型是text-davinci-003,然后他说”我是一个高度智能的问答机器人。如果你问的问题有确切答案,我就会给出答案,如果你问的问题是在搞我或者没有明确答案,我会回答不知道”。然后下面就是一些示例。

提示工程(Prompt Engineering)

我们还可以点右上角的Open in Playground来自己尝试下

ChatGPT和AI佛:探索开放AI的文本生成模型
可以看到右侧侧边栏有许多参数可以调节,根据调节的参数不同,生成的答案也会有所区别。参数就不细说了,感兴趣的同学可以自己去看,当你鼠标移到那个参数上时,会有对应的解释框弹出来解释这个参数的作用。

这里简单演示了如何去通过提示,引导AI之后回答出你所想要的答案,所以提示(Prompt)就变的尤为重要。事实上,现在提示工程师(Prompt Engineer)已经成为一个炙手可热的岗位,他们的主要任务就是引导AI去学习及训练。
官方文档也用了相当大的篇幅去介绍如何去提示:platform.openai.com/docs/guides…

这里就简单翻译一下开头:

概述

我们的模型可以做任何事情,从生成原创故事到执行复杂的文本分析。因为它们可以做这么多事情,所以你必须明确描述你想要什么。告诉他该怎么做,而不只是简单陈述,这就是一个好提示的秘籍。

创作提示有三个基本准则。

  • 展示和讲述。通过指示、例子或两者的结合,明确你想要什么。如果你想让模型按字母顺序排列一个项目清单,或按情绪对一个段落进行分类,就向它展示你想要的东西。

  • 提供高质量的数据。如果你试图建立一个分类器或让模型遵循一个模式,确保有足够的例子。确保校对你的例子 —— 模型足够聪明,它可以识别拼写错误,并且告诉你,但它也可能认为这是你故意写错的,这都会影响他的回答。

  • 检查你的设置。temperature和top_p参数控制了模型在产生响应方面的确定性。如果你要求它产生一个只有一个正确答案的响应,那么你就想把这些设置得低一些。如果你在寻找更多不同的反应,那么你可能想把它们设置得更高。人们使用这些设置的第一大错误是,假定它们是对”聪明”或”创造性”控制。

到这里大家应该也就知道了,那个AI佛就是通过程序员选择合适的模型,以及对他加以训练,比如告诉他当用户提问时,他需要从佛教及心理学的角度去回答用户的问题。

模型(Models)

模型可以说是非常重要的一部分,也是Open AI的核心。

ChatGPT和AI佛:探索开放AI的文本生成模型

ChatGPT用的就是GPT-3.5模型,他主要是面向大众,所以被训练的更加安全,不会输出一些出格的内容。

在GPT-3.5中又包含了几个子模型:

ChatGPT和AI佛:探索开放AI的文本生成模型

目前官方推荐的是gpt-3.5-turbo,称此模型能生成最好的结果,并且只需要text-davinci-003十分之一的算力。

价格

目前gpt-3.5-turbo的价格是每一千个token需要0.002🔪。所谓token可以理解为他处理的单词数,1000个token大概可以生成750个单词。
ChatGPT和AI佛:探索开放AI的文本生成模型

AI孙子

接下来我们尝试简单写一个AI孙子。

首先当然是创建一个项目,我用的就是简单的create-react-app去创建一个react应用:
npx create-react-app ai-sunzi

使用express写一个简单的服务端:

ChatGPT和AI佛:探索开放AI的文本生成模型

重写App.js,我们只需要一个textarea和一个提交按钮

ChatGPT和AI佛:探索开放AI的文本生成模型

访问http://localhost:3000 确保可以访问服务端,返回“Hello World!”:

ChatGPT和AI佛:探索开放AI的文本生成模型

接下来我们需要去Open AI官方文档中查看如何使用它的API,文档中有一个例子,如何在nodejs中引入包:

ChatGPT和AI佛:探索开放AI的文本生成模型

我们把他复制到我们代码中,有些地方还是需要改动一下,比如包的引入不能直接使用import。再将API Key复制到configuration中(API Key需要注册并登录OpenAI,可以免费领取):

ChatGPT和AI佛:探索开放AI的文本生成模型

然后我们再查看文档中Completion部分:

ChatGPT和AI佛:探索开放AI的文本生成模型

将其复制到我们代码中并测试:

ChatGPT和AI佛:探索开放AI的文本生成模型

此处我将max_token修改为100,因为中文字符所占字节数长一些。随后将prompt参数改为“无论用户输入什么,只需回答这是一个测试”
再次访问localhost:3000可以看到确实可以返回“这是一个测试”。

说明我们的后端已经从OPEN AI得到了返回的数据。

再接下来就简单了,我们只需要把前端和后端连上,再修改prompt,让这个AI表现的像孙子:

ChatGPT和AI佛:探索开放AI的文本生成模型

将textarea中的message传入至prompt参数中,再从OPEN AI得到返回的答案,就大功告成了。
以下为一些测试:

ChatGPT和AI佛:探索开放AI的文本生成模型

ChatGPT和AI佛:探索开放AI的文本生成模型

ChatGPT和AI佛:探索开放AI的文本生成模型

Reference: www.youtube.com/watch?v=bB7…

本网站的内容主要来自互联网上的各种资源,仅供参考和信息分享之用,不代表本网站拥有相关版权或知识产权。如您认为内容侵犯您的权益,请联系我们,我们将尽快采取行动,包括删除或更正。
AI教程

ChatGPT:人工智能对话式大型语言模型的发展历程

2023-12-16 18:28:14

AI教程

计算机视觉入门:从图像分类到KNN算法

2023-12-16 18:36:14

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索