自2022年11月30日 OpenAI 发布 ChatGPT 以来,尽管时有唱衰的声音呈现,但在OpenAI不断推陈出新,陆续发布了OpenAPI、GPT-4、ChatGPT Plugins之后,好像让咱们看到了一个谈天机器人往操作系统入口进军的升纬之路。

ChatGPT能被认为是操作系统等级的入口平台,那么必然会催生各行各业运用的从头入局。对此,作为一名开发者来说,面临这样的变革,应该尽早的去了解与实践,在蓝海里更简略找到一份自己的位置。目前DD知道的就有不少小伙伴在根据其API做一些出海的运用。

最近,DD也花了不少时间去研讨和体验了一些风趣的内容。比方:测验跑了一些根据其API完结的类ChatGPT运用:

两条命令搞定 ChatGPT API 的调用问题

还有比方下面这个经过拖拽就能轻松调试和构建智能谈天运用的开源工具:

两条命令搞定 ChatGPT API 的调用问题

在这几天的不断测验过程中,DD发现一个比较费事的问题,便是这些运用都需求OpenAI的API Key。

两条命令搞定 ChatGPT API 的调用问题

作为开发者来说,信任不少小伙伴知道怎么获取了,这儿就不细节说了,咱们能够Google一下,有许多的资料。

这儿具体说说别的一个问题:因为咱们本地调试、服务器布置等原因,在恳求 api.openai.com 的时分,很简略形成IP紊乱,稍有不慎就有可能被封号。所以,咱们最好仍是有一个安稳的坐落国外的调用来历,这样日常开发调试就能更效率一些。

那么怎么快捷方便的来搞定呢?下面就给咱们共享一个运用阿里云函数核算(有许多免费试用额度)来完结的方案。

命令行布置

准备工作

  1. 点击链接(t.aliyun.com/U/nb5Ka1),进入办理“操控台”,注册函数核算FC

两条命令搞定 ChatGPT API 的调用问题

  1. 装置最新版本的nodejs,不会的能够看官网:nodejs.org/

  2. 执行命令装置Serverless Devs Tool

npm装置:
$ npm install @serverless-devs/s -g
yarn装置:
$ yarn global add @serverless-devs/s
  1. 经过该链接(usercenter.console.aliyun.com/#/manage/ak ),获取阿里云的AccessKey。一定要把这儿获取的AccessKey ID和AccessKey Secret记下来,下面马上要用。
  2. 为Serverless Devs Tool装备阿里云的AccessKey
$ s config add
? Please select a provider: Alibaba Cloud (alibaba)
 Refer to the document for alibaba key:  http://config.devsapp.net/account/alibaba
? AccessKeyID 此处填写AccessKeyID
? AccessKeySecret 此处填写AccessKeySecret
? Please create alias for key pair. If not, please enter to skip alibaba-access
Alias: alibaba-access
AccountID: 主动获取AccountID
AccessKeyID: 此处填写AccessKeyID
AccessKeySecret: 此处填写AccessKeySecret
✔ Configuration successful

两行命令完结布置

在完结了上面的准备工作之后,接下来咱们只需求两行命令即可完结署理服务的布置!

第一步:初始化项目。执行命令**s init openai-proxy**,创立openai-proxy项目。

$ s init openai-proxy
  More applications: https://registry.serverless-devs.com
? Please input your project name (init dir) openai-proxy
✔ file decompression completed
创立运用所在的地区
? 地域 us-west-1
? please select credential alias aliyun-key
‍  Thanks for using Serverless-Devs
  You could [cd /Users/zhaiyongchao/IdeaProjects/test/openai-proxy] and enjoy your serverless journey!
️  If you need help for this example, you can use [s -h] after you enter folder.
  Document ❤ Star: https://github.com/Serverless-Devs/Serverless-Devs
  More applications: https://registry.serverless-devs.com

会有几个选项,一直回车就好,假如想修改也行,自己根据需求挑选即可。

**第二步:一键布置。**进到初始化好的openai-proxy目录下,然后执行命令**s deploy**直接布置到阿里云上。不要置疑,便是这么丝滑,一键完结!

$ s deploy
 Config check:
Online status => Target Status
  routeConfig: [
    0: {
    + qualifier: undefined
    }
  ]
? Domain [auto] was changed, please confirm before deployment:
    * You can also specify to use local configuration through --use-local during deployment)  use local
✔ Generated auto custom domain...
✔ Generated custom domain (3.78s)
⠙ Generated auto custom domain...
注意:当前域名并非阿里云官方域名,由 CNCF Project Serverless Devs 社区提供,仅供测验运用。
Note: The current domain name is not the official domain name of Alibaba Cloud. It is provided by the CNCF Project Serverless Devs community for testing purposes only
✔ Generated domain (23.38s)
✔ Checking Service, Function, Triggers (1.53s)
✔ Creating Service, Function, Triggers (9.57s)
✔ Creating custom domain (1.7s)
Tips for next step
======================
* Display information of the deployed resource: s info
* Display metrics: s metrics
* Display logs: s logs
* Invoke remote function: s invoke
* Remove Service: s remove service
* Remove Function: s remove function
* Remove Trigger: s remove trigger
* Remove CustomDomain: s remove domain
...

两条命令搞定 ChatGPT API 的调用问题

在布置完结之后,最终面会有上图这样的一段输出,记住红线部分的域名,这是能够直接拜访。你能够测验拜访一下,假如返回如下信息,说明布置成功了。

{
  "error": {
    "message": "Invalid URL (GET /)",
    "type": "invalid_request_error",
    "param": null,
    "code": null
  }
}

一同,咱们也能够经过这个链接fcnext.console.aliyun.com/us-west-1/s… 去阿里云的操控台找到创立的这个函数服务:

两条命令搞定 ChatGPT API 的调用问题

运用中心布置

假如你不喜欢命令行的布置办法的话,还能够经过运用中心完结布置,办法更简略!

第一步:点击链接(t.aliyun.com/U/nb5Ka1),进入办理“操控台”,注册函数核算FC

两条命令搞定 ChatGPT API 的调用问题

拜访运用中心:www.devsapp.cn/details.htm…

第二步:点击“一键布置”按钮

两条命令搞定 ChatGPT API 的调用问题

第三步:点击“创立并布置默许环境

两条命令搞定 ChatGPT API 的调用问题

接下来便是等着阿里云的精彩表演:

两条命令搞定 ChatGPT API 的调用问题

完结布置之后,能够看到如下图的操作列中,有“拜访域名”链接,点击后就能够获取到用来署理的域名了。

两条命令搞定 ChatGPT API 的调用问题

运用署理拜访API

经过简略的五步操作,咱们现已完结了一个OpenAI调用的署理建立,还记得上面最终装备的域名不?接下来就能够随意找一个开源项目来运用一下试试。

比方能够用这个项目来验证一下:github.com/ddiu8081/ch…

办法很简略,只需求

  1. 拉取代码:git clone git@github.com:ddiu8081/chatgpt-demo.git
  2. 装置依靠:npm install
  3. 仿制.env.example文件,命名为.env文件,把申请的OPENAI_API_KEY填上,再把OPENAI_API_BASE_URL填写上面装备好的署理地址,比方:http://openai-proxy.abc123.com

两条命令搞定 ChatGPT API 的调用问题

  1. 发动运用:npm start,操控台输出如下信息,代表发动成功
> chatgpt-api-demo@0.0.1 start
> astro dev
    astro  v2.1.7 started in 209ms
  ┃ Local    http://localhost:3000/
  ┃ Network  use --host to expose
  1. 打开浏览器,拜访:http://localhost:3000/,能够看到如下页面:

两条命令搞定 ChatGPT API 的调用问题

测验给他设定一个人物,然后发几句话试试吧,假如能够收到AI回复,那就代表现已完结署理。

当然,你也能够挑选许多其他的运用来验证和运用,比方下面这些风趣的项目:

  • github.com/mckaywrigle…
  • github.com/logspace-ai…

总结

经过本文的办法建立之后,因为现已有一个坐落海外的调用来历,所以在本地开发和线上测验的时分,能够都直接用同一个API Key即可,本地日常运用也不需求选用其他特殊手法了,是不是闲适不少呢?

最终,聊聊为什么挑选函数核算来布置,首要仍是几个方面的考虑:

  1. 轻松布置:能够看到只需求简略几步,就完结了,十分适合这类轻量级的运用布置。
  2. 运维:几乎不需求运维,大大减少了日常繁琐的精力投入,能够更专心业务开发了。
  3. 省钱利器:函数核算具有弹性弹性的才能,最小能够缩为零,也便是假如不调用,都不会发生费用。

进一步考虑下,函数核算仍是十分适合于开发ChatGPT运用的。因为OpenAPI的API Key是按量计费的,函数核算也是按量计费的,那么这样的按量计费形式能够继续传递到用户侧。假如用户侧的调用完结选用函数核算的办法来布置,那么能够说除了基础操控模块存在固定本钱之外,用户侧的本钱和收益是强绑定联系。只要架构合理,充分运用函数核算的弹性弹性才能,那就能够构建出一个低本钱运转但却又能主动应对突发大流量的强壮运用。

其实,巧妙的运用函数核算来构建倾向用户侧的运用,不但关于ChatGPT有用。关于一些SaaS运用的场景来说,也能够深入考虑和测验,除了弹性弹性的才能之外。借助函数核算提供的API才能,还能运用其完结SaaS租户的资源阻隔。写着写着好像又偏题了…

回到ChatGPT的正题,假如你还在纠结,未来ChatGPT是否会筛选程序员的话,那就一同行动起来吧!与其被ChatGPT取代,不如征服ChatGPT,做它的主人!

参考资料

  1. github.com/Ice-Hazymoo…
  2. www.aliyun.com/product/fc
  3. github.com/ddiu8081/ch…

欢迎关注我的公众号:程序猿DD。第一时间了解前沿行业音讯、共享深度技术干货、获取优质学习资源