暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

用JavaScript实现ChatGPT API的调用,做个自己的智能应答机器人。

1560

从去年年底发布始,ChatGPT一夜之间成为圈内圈外大热的话题。截至2月底,注册用户已经破亿。徐大爷也赶着这波热浪,体验了ChatGPT的强大。尤其是对于码农,真的是一个全新的体验。举个例子,徐大爷曾经一段代码有问题,debug了一整天,逻辑都是正确的,但是输出一直有问题。后来干脆把整段代码扔给ChatGPT让它帮我检查。不到半分钟,ChatGPT给我一个回复说一个引用的横杠(-)我错敲成下划线(_)。改正后,输出立马正确。不得不服。

OpenAI提供了ChatGPT API,可以让开发者通过调用API开发更灵活的AI应用。徐大爷通过JavaScript调用ChatGPT API。做了个“万能的徐大爷”智能应答机器人。在这里把实现思路(案例)分享给大家。

首先你要有基本的JavaScript的编程知识。实现这个案例还需要以下前提,本文不涉及这些前提条件如何实现的分享和讨论。

  • 你能够科学上网。

  • 你已经成功注册了OpenAI/ChatGPT用户(网上有很多傻瓜式申请教程)。新注册用户有3个月18美金的免费体验额度。

  • 一个Node.js的开发运行环境。如果在Windows和MacOS上实现,建议安装Visual Studio Code,便于开发测试。


另外,

  • 本文只分享关键的实现API调用,不涉及前端页面(如文本输入框)的设计。

  • 本文只分享本地(localhost)实现。不涉及如何把应用发布(deploy)到网站。


实现思路其实很简单,写一个client(前端)服务和一个server(后端)服务。

  • client负责交互页面的展现,包括获取页面输入的问题和显示ChatGPT返回的结果。

  • client通过fetch把问题传递给server,并接收server的结果。

  • server负责调用API与ChatGPT通讯,并把ChatGPT返回的结果传递给client。

先来看一下client。其实很简单,声明一个的response去fetch server的内容。如果正确返回就把内容打印出来。否则就打印错误信息。

其中,端口5000是server的服务端口。 “prompt”是要传递给server/ChatGPT的内容(问题)。

再来看一下server。首先要获取OpenAI的密钥。登录https://platform.openai.com。点击右上角你的头像,然后选择View API Keys。

然后创建新的密钥。

在server目录下创建一个.env。把生成的密钥放进去。

接下来,看看server的js怎么写。先要在node.js上安装4个依赖包:express, dotenv, cors, openai。

然后到platform.openai.com上面去参照范本写调用脚本。目前OpenAI API中可调用的版本是GPT3.0(3.5刚出来,还没有看到有3.5的example)。这里选用了达芬奇(davinci)模型。按照OpenAI最新的说法,达芬奇是目前最强大的AI模型(当然收费也最高)。

下面讲一下怎么找这个范本。在platform.openai.com点击上方的“Example”菜单,输入“code”搜索出结果后选择“Natural language to OpenAI API”。

在弹出窗口点击右上角的“Open in Playground”。在新的页面的右边栏菜单的Model里选择你需要的模型。然后点击右上角的“View Code”。在弹出窗口右上角选择你需要的语言脚本(我这里选的是node.js)。这样生成的Example就可以直接拷贝黏贴使用了。

当然,最后一步要设置server的监听端口(5000)

好了,完成之后,可以试试ChatGPT到底有多AI了

点击下面链接可以体验一下基于ChatGPT的万能的徐大爷智能应答机器人。

http://124.222.18.141/ords/r/4600855618148042/chatgpt/

友情给徐大爷打个赏呗

==============End==============

文章转载自徐大爷的学习笔记,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论