通过阿里云函数计算解决ChatGPT API的调用问题

ChatGPT系列文章


与其被ChatGPT取代,不如征服ChatGPT,做它的主人!

文章目录

  • ChatGPT系列文章
  • 前言
  • 命令行部署
    • 准备工作
  • 两行命令实现部署
  • 应用中心部署
  • 使用代理访问API
  • 总结


前言

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

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

最近,DD也花了不少时间去研究和体验了一些有趣的内容。比如:尝试跑了一些基于其API实现的类ChatGPT应用:
在这里插入图片描述还有比如下面这个通过拖拽就能轻松调试和构建智能聊天应用的开源工具:
在这里插入图片描述在这几天的不断尝试过程中,DD发现一个比较麻烦的问题,就是这些应用都需要OpenAI的API Key。
在这里插入图片描述作为开发者来说,相信不少小伙伴知道如何获取了,这里就不细节说了,大家可以Google一下,有大量的资料。

这里具体说说另外一个问题:由于我们本地调试、服务器部署等原因,在请求 https://api.openai.com 的时候,很容易造成IP混乱,稍有不慎就有可能被封号。所以,我们最好还是有一个稳定的位于国外的调用来源,这样日常开发调试就能更效率一些。

那么如何快捷方便的来搞定呢?下面就给大家分享一个利用阿里云函数计算(有大量免费试用额度)来实现的方案。


命令行部署

准备工作

点击这里,进入管理“控制台”,开通函数计算FC
在这里插入图片描述
1、安装最新版本的nodejs,不会的可以看官网:https://nodejs.org/
2、执行命令安装Serverless Devs Tool

npm安装:
$ npm install @serverless-devs/s -gyarn安装:
$ yarn global add @serverless-devs/s

1、通过该链接(https://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-accessAlias: 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 StatusrouteConfig: [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...

在这里插入图片描述
在部署完成之后,最后面会有上图这样的一段输出,记住红线部分的域名,这是可以直接访问。你可以尝试访问一下,如果返回如下信息,说明部署成功了。

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

同时,我们也可以通过这个链接https://fcnext.console.aliyun.com/us-west-1/services 去阿里云的控制台找到创建的这个函数服务:
在这里插入图片描述

应用中心部署

如果你不喜欢命令行的部署方式的话,还可以通过应用中心实现部署,方法更简单!

第一步:点击这里,进入管理“控制台”,开通函数计算FC
在这里插入图片描述
访问应用中心:http://www.devsapp.cn/details.html?name=openai-proxy

第二步:点击“一键部署”按钮
在这里插入图片描述
第三步:点击“创建并部署默认环境”
在这里插入图片描述
接下来就是等着阿里云的精彩表演:
在这里插入图片描述
完成部署之后,可以看到如下图的操作列中,有“访问域名”链接,点击后就可以获取到用来代理的域名了。
在这里插入图片描述

使用代理访问API

通过简单的五步操作,我们已经完成了一个OpenAI调用的代理搭建,还记得上面最后配置的域名不?接下来就可以随便找一个开源项目来使用一下试试。

比如可以用这个项目来验证一下:https://github.com/ddiu8081/chatgpt-demo

方法很简单,只需要

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
在这里插入图片描述

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

2、打开浏览器,访问:http://localhost:3000/,可以看到如下页面:
在这里插入图片描述
尝试给他设定一个角色,然后发几句话试试吧,如果可以收到AI回复,那就代表已经完成代理。

当然,你也可以选择很多其他的应用来验证和使用,比如下面这些有趣的项目:

https://github.com/mckaywrigley/chatbot-ui
https://github.com/logspace-ai/langflow

总结

通过本文的方法搭建之后,由于已经有一个位于海外的调用来源,所以在本地开发和线上测试的时候,可以都直接用同一个API Key即可,本地日常使用也不需要采用其他特殊手段了,是不是安逸不少呢?

最后,聊聊为什么选择函数计算来部署,主要还是几个方面的考虑:

轻松部署:可以看到只需要简单几步,就完成了,非常适合这类轻量级的应用部署。
免运维:几乎不需要运维,大大减少了日常繁琐的精力投入,可以更专注业务开发了。
省钱利器:函数计算拥有弹性伸缩的能力,最小可以缩为零,也就是如果不调用,都不会产生费用。

进一步思考下,函数计算还是非常适合于开发ChatGPT应用的。由于OpenAPI的API Key是按量计费的,函数计算也是按量计费的,那么这样的按量计费模式可以继续传递到用户侧。如果用户侧的调用实现采用函数计算的方式来部署,那么可以说除了基础控制模块存在固定成本之外,用户侧的成本和收益是强绑定关系。只要架构合理,充分利用函数计算的弹性伸缩能力,那就可以构建出一个低成本运行但却又能自动应对突发大流量的强壮应用。

其实,巧妙的应用函数计算来构建偏向用户侧的应用,不光对于ChatGPT有用。对于一些SaaS应用的场景来说,也可以深入思考和尝试,除了弹性伸缩的能力之外。借助函数计算提供的API能力,还能利用其实现SaaS租户的资源隔离。写着写着似乎又偏题了…

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

参考资料
https://github.com/Ice-Hazymoon/openai-scf-proxy/
https://www.aliyun.com/product/fc
https://github.com/ddiu8081/chatgpt-demo

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/11910.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AI各种模型的聊天机器人的接入聊天平台(服务器和本地搭建)

探索ChatGPT,协助工作学习创作。公众号「阿杰与AI」回复AI,加入社群,一同探讨,一同成长,比他人更进一步。 我们一起维护一个完全免费开源知识库。 1.AI、OpenAI、MidJourney发展史2.ChatGPT们对今后社会生活的影响3.目…

开源一键拥有你自己的ChatGPT+Midjourney网页服务,用不用是另一回事,先收藏!

功能支持 原ChatGPT-Next-Web所有功能 midjourney imgine 想象 midjourney upscale 放大 midjourney variation 变幻 midjourney describe 识图 midjourney blend 混图 midjourney 垫图 绘图进度百分比、实时图像显示 自身支持midjourney-api 参数说明 MIDJOURNEY_PROXY_URL …

中科院基于gpt的学术优化网站搭建教程

我使用的python为3.10版本,编译器为pycharm,浏览器为火狐 我们进入github找到中科院提供的资源: https://github.com/binary-husky/chatgpt_academic 其中有关于ChatGPT学术优化的安装步骤,使用教程,我没有用Git下载&a…

快速使用ChatGpt Web Server

快速使用ChatGpt Web Server ChatGpt Web Server是使用Blazor Server模式部署的一个服务,所有的逻辑和代码执行都会在服务器执行,然后通过SignalR传输到前端渲染。通过这样模式,我们部署ChatGpt Web Server只需要新加坡服务器,不需…

一、海外服务器租赁方案及配置与登录

1、为什么要租赁海外服务器 ChatGPT是能听懂人话的人工智能,能够模拟人类的思考和表达,图灵测试对它来说是小儿科了。它的出现标志着人工智能技术在自然语言处理和智能对话系统领域的重大进展和突破,其历史意义,业界认为不亚于互联网和个人电脑的诞生。它虽然可以被全世…

宝塔反代教程502 Bad Gateway问题解决,实现服务器访问openai api

前言 宝塔反代教程502 Bad Gateway问题解决,实现服务器访问openai api 此方法最简单快捷,没有复杂步骤,不容易出错,即最简单,零代码、零部署的方法。 实现前准备 一台海外VPSOpenAI官方的3.5或者4.0 API_KEYChatGPT…

两小时搭建自己的ChatGLM免硬件

目录 准备(注册): 搭建: API模式: 测试: 总结: 准备硬件(注册): 注册modelscope(底层阿里云)免费使用服务器 https://modelscope.cn/ 按照图片里的选择(选择其他好像不能创建成功) 可以白嫖60多个小时…

宝塔反代教程+国内服务器访问openai api接口+502 Bad Gateway问题解决!

前言 宝塔反代教程国内服务器访问openai api接口502 Bad Gateway问题解决! 此方法最简单快捷,没有复杂步骤,不容易出错,即最简单,零代码、零部署的方法。 实现前提 一台海外VPSOpenAI官方的API_KEYChatGPT网站系统源码 ChatGP…

Swift 周报 第二十九期

文章目录 前言新闻和社区担心泄密!外媒:苹果公司限制员工使用ChatGPT苹果公司大幅削减其MR头显销售预期,不足百万台 提案通过的提案正在审查的提案 Swift 论坛1、讨论 SwiftUI 图表、超大数据集和图表叠加2、讨论带有线程安全属性包装器的可发…

ChatterBot+第三方中文语料库实现在线聊天机器人

设计并实现一个在线聊天机器人案例 1、ChatterBot ChatterBot是Python自带的基于机器学习的语音对话引擎,可以基于已知的对话库来产生回应。ChatterBot独特的语言设计可以使它可以通过训练来用任何一种语言进行对话。该项目的开源代码链接:https://git…

ChatGPT不是聊天机器人,是任何人值得重视的竞争对手。

ChatGPT使用了一种聊天界面来和用户互动,用户的理解成本降低,通过输入文字,来得到各种反馈。有预见性的创造者们,已经挖掘ChatGPT所展示出来的各种能力应该如何更好地融入我们的日常生活中。比如,生成菜谱、音乐播放列…

手机号发验证码实现用户注册登录

一.技术及思路 二.案例编写 配置环境:使用docker新建redis,mysql,rabbitmq的容器 MySQL:启动docker服务 systemctl start docker 查看docker服务状态 systemctl status docker 查看目录进入mysql目录下,然后新创建一个容器&#x…

chatgpt了解(一)

狂飙的ChatGPT,为什么是OpenAI最先做出来? ChatGPT 的训练集来自哪里?

chatgpt赋能python:Python运行卡住?这是由什么原因引起的?

Python运行卡住?这是由什么原因引起的? 如果你是一个有10年Python编程经验的工程师,那么你经常会遇到Python运行卡住的情况。在这篇文章中,我将告诉大家Python程序在运行过程中可能会遇到的问题,以及如何解决这些问题…

OpenAI掌门人Sam Altman:AI的下一个发展阶段

来源|Greylock OneFlow社区编译 翻译|胡燕君、贾川 预告了一整年的GPT-4迟迟没来,人们猜想OpenAI是不是要跳票了,更何况他们之前的得意之作DALL-E也被开源Stable Diffusion打了个措手不及,再不来点深水炸弹业界地位危矣…

中国最容易和最难被ChatGPT所代替的 TOP25 职业

作者:chenqin https://zhuanlan.zhihu.com/p/620334140 OpenAI 研究人员曾发文称「约 80% 美国人的工作将被 AI 影响」。 文章的结论是,至少80%的美国劳动力会受到影响,他们的工作的10%会被GPT所替代。其中甚至有19%的美国劳动力的50%工作会被…

美国最新调查显示 50% 企业已在用 ChatGPT,其中 48% 已让其代替员工,你怎么看?

美国企业开始使用ChatGPT,我认为这不是什么新闻。 如果美国的企业现在还不使用ChatGPT,那才是个大新闻。 据新闻源显示,已经使用chatGPT的企业中,48%已经让其代替员工工作。 ChatGPT的具体职责包括:客服、代码编写、招…

Python 打造微信群聊天机器人(带操作界面)

前言 这几天我的一个小伙伴问我能不能给 Ta 做一个配置灵活的微信群聊天机器人,之前了解过 itchat 库的使用,我就爽快的答应了,花了一个晚上,终于做出了雏形。 电脑上运行程序如下: 手机上的信息如下: 其实基于 itchat 的微信机…

企业微信群机器人应用

现在很多企业都在使用企业微信进行工作交流,自从企业微信推出群机器人之后,使用企业微信的小伙伴一般都会用机器人来推送定时消息或者提醒等,这样能够为企业工作群的管理提升效率,能很好的帮助企业运营管理工作群,同样…

微信群机器人(仿真企业微信群机器人)

使用过企业微信的朋友应该应该用过企业微信群机器人,它是企业微信的原生功能,你在企业微信群中新建一个机器人,随后就可以获得这个群机器人的web挂钩,调用这个web挂钩并加上消息参数就可以让这个机器人在群内发送消息,…