从开发到上线,三分钟拥有自己的 ChatGPT !

OpenAI 已经公布了 ChatGPT 正式版 API,背后的新模型是 gpt-3.5-turbo,这是 OpenAI 目前最先进的模型,响应速度更快,价格更便宜。

作为开发人员,我们还是希望通过 API 将 ChatGPT 和相关模型集成到自己的产品和应用中,尴尬的是,目前无法访问 ChatGPT API,原因大家都懂得。于是网上出现了各种各样的 API 反代服务,我们可以直接通过反代服务来变相访问 ChatGPT API。

即使我们解决了 API 的访问问题,还要准备一个开发环境,比如对于 Node.js 客户端来说,需要准备一个 Node.js 环境。

有没有一种简单快捷的方法来调用 ChatGPT API 呢?

那当然是用 Laf 了。

Laf 是一个完全开源的一站式云开发平台,提供了开箱即用的云函数,云数据库,对象存储等能力,让你可以像写博客一样写代码。

GitHub:https://github.com/labring/laf

如果你希望快速了解 Laf 的用法,可以参考这篇文章:三分钟学会 Laf[1]

言归正传,下面我们开始计时,三分钟时间用 Laf 实现一个自己的 ChatGPT!

前提条件:你需要准备一个 ChatGPT 账号并且生成一个 API Key (这一步可以问 Google )

云函数教学

首先需要登录 laf.dev[2],然后新建一个应用。

40e3d9281096ce2ffa94d809a3ec21b7.png

点击开发按钮进入开发页面。

44ee3e4fcf1411e8dd31649b49040311.png

在 NPM 依赖面板中点击右上角的 +

e9dc9832ef32f39db30aa1b2fa42f797.png

然后输入 chatgpt 并回车进行搜索,选择第一个搜索结果,保存并重启:

dcacfb3a71756700e89927476ee9e2ef.png

重启之后,自定义依赖项中便出现了 chatgpt。

0ffacefeabda22db83e7ed3151d14ad1.png

然后就可以像我一样新建一个云函数名字叫 send,并写入以下内容:

import cloud from '@lafjs/cloud'
export async function main(ctx: FunctionContext) {const { ChatGPTAPI } = await import('chatgpt')const api = new ChatGPTAPI({ apiKey: cloud.env.CHAT_GPT_API_KEY })let res = await api.sendMessage('“鸡你太美”指的是中国大陆哪位男艺人?给你个提示,他喜欢唱、跳、篮球、Rap')console.log(res.text)return res.text
}
8996f1e021e1fe66bc30aec9e42fe889.png

API Key 是通过环境变量 CHAT_GPT_API_KEY 传入的,所以我们还需要创建一个环境变量。点击左下角的设置图标:

057bfff5093b26342aadff93f116e5bd.png

依次选择「环境变量」--> 「新增环境变量」,输入环境变量的名称和值,然后点击「确定」,再点击「更新」,便会重启应用。

12dccee818f577bfbfb6c65301297976.png

现在点击右上角的「运行」,即可调试运行。

98326cd6fbdc57cb2fe9a0958a455acc.png

Perfect!现在我们来试试添加追踪上下文的功能。其实也很简单,只需要在对话时传入上一次对话的 ID 即可,代码如下:

import cloud from '@lafjs/cloud'
export async function main(ctx: FunctionContext) {const { ChatGPTAPI } = await import('chatgpt')const api = new ChatGPTAPI({ apiKey: cloud.env.CHAT_GPT_API_KEY })let res = await api.sendMessage('“鸡你太美”指的是中国大陆哪位男艺人?给你个提示,他喜欢唱、跳、篮球、Rap')console.log(res.text)// 传入 parentMessageId 追踪上下文res = await api.sendMessage('不对,他姓蔡,请重新回答', {parentMessageId: res.id})console.log(res.text)return res.text
}

运行一下看看:

84165118e0a0a2e61647ddcb160835f0.png

好厉害,竟然两次就答对了我的问题!

好了,现在才开始真的计时,因为刚刚是教学环节,不计入耗时😁

云函数

接下来我们就可以开始动手打造自己的 ChatGPT 了,首先把上一节的函数替换为下面的内容:

import cloud from '@lafjs/cloud'export async function main(ctx: FunctionContext) {const { ChatGPTAPI } = await import('chatgpt')const data = ctx.body// 这里需要把 api 对象放入 cloud.shared 不然无法追踪上下文let api = cloud.shared.get('api')if (!api) {api = new ChatGPTAPI({ apiKey: cloud.env.CHAT_GPT_API_KEY })cloud.shared.set('api', api)}let res// 这里前端如果传过来 parentMessageId 则代表需要追踪上下文if (!data.parentMessageId) {res = await api.sendMessage(data.message)} else {res = await api.sendMessage(data.message, { parentMessageId: data.parentMessageId })}return res
}

现在应该很好理解这个函数了吧?

前端

我们要实现的是 Web 版 ChatGPT,所以还需要一个前端页面。首先需要安装 Laf 的 SDK:

$ npm install laf-client-sdk

接下来,需要创建一个 cloud 对象:

import { Cloud } from "laf-client-sdk"; // 创建 cloud 对象 这里需要将 <appid> 替换成自己的 App ID
const cloud = new Cloud({baseUrl: "https://<appid>.laf.dev",getAccessToken: () => "", // 这里不需要授权,先填空
});

这里我们看一下前端的核心代码,非常的简单,就是把提问的内容和上下文 id 传入云函数就可以了。

async function send() {// 我们提问的内容
const message = question.value;let res;
// 与云函数逻辑一样,有上下文 id 就传入
if (!parentMessageId.value) {res = await cloud.invoke("send", { message });
} else {res = await cloud.invoke("send", { message, parentMessageId: parentMessageId.value });
}// 回复我们的内容在 res.text // 这个是上下文 id
parentMessageId.value = res.id;
}

到这一步 我们已经可以发信息给 ChatGPT 并且拿到回复的消息了。

我们只要稍微加亿点点细节,就可以变成这样:

2e4950b5a2122cf9d4c7f012dc8c1780.png

加完这点细节之后,基本开发工作就完成了,接下来就是把项目上线分享给你的朋友,顺便装个杯。

说到上线我们现在应该要去买一台服务器安装 Nginx,配置 Nginx,解析域名,绑定域名...

NO NO NO 我不允许你浪费年轻而美好的生命,life is short, you need laf 😃

上线

打开你的 Laf,点击存储界面 --> 点击上方加号 --> 创建一个权限为 readonly 的存储桶(名字随意)。

2cd4344da12aa16cd988bed25d3896c4.jpeg

创建完之后,在你的前端项目中运行打包命令。我这里用的是 npm run build

打包完毕之后找到打包好的 dist 文件夹,像我一样把 dist 文件里面的所有东西都上传到我们刚刚创建的存储桶里面,记住是原封不动的上传哦,文件就是文件,文件夹就是文件夹。

471674f67fad18cb4e322dc672c12bfb.jpeg

上传完毕之后,发现右上角有一个 “开启网站托管”,点一下它!

871ed6cadbf92d76cf4f46ec6bc9eec4.jpeg

点完之后出来一个链接,我们点击一下访问看看是啥东西。

5a0fe7623fe17439afa256b2bfd48bab.jpeg

哦!我的老天鹅呀 这不就是我刚刚开发的项目吗??

732f0f518ca4839a70252a9251a7ec21.jpeg

恭喜,到这里你的项目已经上线了,快分享给你的好朋友吧!

什么?3 分钟还是太长了?没关系,你可以让 ChatGPT 帮你写一个 ChatGPT。。。

ChatGPT 自动帮你写 Laf 函数代码,想想就很酷哦,不过这个功能暂时还没有正式上线,等着吧!


  • 项目源码:https://github.com/zuoFeng59556/chatGPT

  • 示例网站:https://jyf6wk-chat-gpt.site.laf.dev/

引用链接

[1]

三分钟学会 Laf: https://zuofeng59556.github.io/my-blog/pages/quickStart/laf/

[2]

laf.dev: https://laf.dev

------

我们创建了一个高质量的技术交流群,与优秀的人在一起,自己也会优秀起来,赶紧点击加群,享受一起成长的快乐。另外,如果你最近想跳槽的话,年前我花了2周时间收集了一波大厂面经,节后准备跳槽的可以点击这里领取!

推荐阅读

某国产电商APP利用Android漏洞细节曝光

你还在用 Windows 吗?美国已下跌至 57%

找到了阅读GitHub项目源码的最佳姿势

··································

你好,我是程序猿DD,10年开发老司机、阿里云MVP、腾讯云TVP、出过书创过业、国企4年互联网6年。从普通开发到架构师、再到合伙人。一路过来,给我最深的感受就是一定要不断学习并关注前沿。只要你能坚持下来,多思考、少抱怨、勤动手,就很容易实现弯道超车!所以,不要问我现在干什么是否来得及。如果你看好一个事情,一定是坚持了才能看到希望,而不是看到希望才去坚持。相信我,只要坚持下来,你一定比现在更好!如果你还没什么方向,可以先关注我,这里会经常分享一些前沿资讯,帮你积累弯道超车的资本。

点击领取2023最新10000T学习资料

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

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

相关文章

基于Tushare量化分析示例

1. 量化神器Tushare介绍 大家都知道量化分析离不开数据支撑&#xff0c;那下面就简单说一下一个简单好用的量化神器——Tushare。 Tushare 提供免费的数据接口&#xff0c;包含沪深股票数据、财务报表数据、指数、基金、期权、期货、港股、美股、宏观经济等数据&#xff0c;甚…

零代码量化投资:用ChatGPT获取新浪财经上的股票实时行情

现在很多免费的股票数据库&#xff0c;比如akshare&#xff0c;其实是从新浪财经或者东方财富网站上爬取下来的。如果能直接从新浪财经或者东方财富网站上爬取数据&#xff0c;可以获取更全面更即时的信息。 可以在ChatGPT中输入提示词如下&#xff1a; 写一段Python代码&…

ChatGPT:搞『量化投资』我是认真的!

量化投资与机器学习微信公众号&#xff0c;是业内垂直于量化投资、对冲基金、Fintech、人工智能、大数据等领域的主流自媒体。公众号拥有来自公募、私募、券商、期货、银行、保险、高校等行业30W关注者&#xff0c;曾荣获AMMA优秀品牌力、优秀洞察力大奖&#xff0c;连续4年被腾…

如何利用ChatGPT学习量化投资?

引言 最近&#xff0c;ChatGPT持续火了很长时间&#xff0c;占领各大热点和头版头条&#xff0c;成为A股开年以来最大的热点之一。ChatGPT是OpenAI开发的一种语言生成模型&#xff0c;可以理解为智能问答机器人。最近围绕量化投资在上面试了很多问题&#xff0c;大部分回答还是…

ChatGPT在社工攻击和反钓鱼中的应用

概述 ChatGPT是一种基于神经网络的自然语言处理模型&#xff0c;可以生成自然流畅的文本或对话。在钓鱼攻击中&#xff0c;攻击者可以使用ChatGPT生成虚假电子邮件或消息&#xff0c;更好地伪装成受害者所信任的个人或组织&#xff0c;从而获取受害者的个人信息。这种行为对个…

看ChatGPT这形势,留给我们开发人员的时间不多了

程序员一直所做的工作是什么&#xff1f;恐怕想到最后&#xff0c;每个努力的程序员都是在让自己努力的走向失业。最近ChatGPT爆火&#xff0c;他能做什么&#xff1f;能写文章&#xff0c;写的很好&#xff0c;可以代替你发邮件&#xff0c;一直到发现OpenAI的深度加持&#x…

ChatGPT其实并不想让开发人员做这5件事情

前言 ChatGPT已经火爆了快半年了吧&#xff0c;紧接着国内也开始推出了各种仿制品&#xff0c;我甚至一度怀疑&#xff0c;如果人家没有推出ChatGPT&#xff0c;这些仿制品会不会出现。而很多人也嗨皮得不行&#xff0c;利用各种方法开始科学上网&#xff0c;用ChatGPT做各种觉…

让ChatGPT连接进互联网世界

大家知道ChatGPT是没有链接到互联网的&#xff0c;所以只能回答2021年之前的知识&#xff0c;对于这么强劲的大脑这有点可惜了&#xff0c;现在有办法了&#xff1a; 使用WebChatGPT插件&#xff08;chrome&#xff09; 安装插件&#xff1a; 上图是安装前 安装后的效果&…

chatGPT打不开问题(个人亲测有效)

chatGPT打不开问题&#xff08;个人亲测有效&#xff09; ChatGPT打不开 Access denied &#xff01;Access denied &#xff01;Access denied &#xff01;相信今天很多国内的小伙伴们打开 Open AI ChatGPT 都会出现&#xff1a;“Access denied You do not have access to …

小狐狸ChatGPT付费创作系统V2.1.0独立版 +WEB端+ H5端 + 小程序端安装教程

播播资源针对ChatGPT付费创作系统V2.1.0提供最新的对应版本小程序端全套测试&#xff0c;上一版本增加了PC端绘画功能&#xff0c;绘画功能采用其他绘画接口-意间AI&#xff0c;本版新增了百度文心一言接口。后台一些小细节的优化及一些小BUG的处理&#xff0c;前端进行了些小细…

ChatGPT 官方 API 来了,价格直接打骨折,未来……

大家好&#xff0c;我是校长。 ChatGPT 自去年年底公布以来&#xff0c;最近这几个月一直处于火热的状态当中&#xff0c;堪称引起了人工智能旋风。 01 官方 API 来了 昨天凌晨 2 点左右&#xff08;美西时间 3 月 1 日&#xff08;周三&#xff09;&#xff09;&#xff0c;Op…

2023年ChatGPT商业版免授权源码/AI绘画/付费系统

正文&#xff1a; 2023 最新 ChatGPT商业版源码&#xff0c;该产品支持用户付费套餐&#xff0c;AI 绘画&#xff0c;支付对接&#xff0c;卡密购买兑换等功能&#xff0c;并且可以免费使用&#xff0c;同时附带详细的教程文档。 AI程序采用NUXT3LARAVEL9开发 字节网盘&#…

小狐狸ChatGPT付费创作系统1.6.1独立开源版 + 小程序VUE前端

小狐狸GPT付费体验系统最新版系统是一款基于ThinkPHP框架开发的AI问答小程序&#xff0c;是基于国外很火的ChatGPT进行开发的Ai智能问答小程序。小程序版本&#xff0c;包含全插件&#xff0c;开源可二开&#xff01;接口模型升级至GTP3.5&#xff0c;修复一句可能会出bug的代码…

小狐狸ChatGPT付费创作系统1.8.9独立版源码,H5端 + 小程序端

v1.8.9 1、增加后台手动加绘画次数 2、增加新用户送绘画次数 3、云存储改成在超管后台配置 4、修复H5首次进入会弹网络错误的问题 5、修复其他几个小问题

重磅!阿里版本【ChatGPT】开放测评!

前两天突然爆出惊人消息&#xff1a;阿里版ChatGPT开放测评了&#xff01; 在本月初&#xff0c;已经有诸多关于阿里巴巴即将推出类似ChatGPT产品的传闻。 数日前&#xff0c;首批曝光的天猫精灵“鸟鸟分鸟”脱口秀版GPT基于大型模型的“精简版”&#xff0c;凭借其出色的表现吸…

阿里版 ChatGPT 突然官宣!我们用 16 个提问,火速进行了测评……

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 平地一声雷&#xff01;今天中午阿里版类 ChatGPT 「通义千问」突然官宣&#xff1a; 没错&#xff0c;就这 3 行简短介绍 1 个官网地址&#xff0c;再无其他“剧透”。 好在&#xff0c;CSDN 有幸拿…

猿如意|chat GPT测评

文章目录 猿如意猿如意传送门猿如意个人使用感受好的一面&#xff1a;可以改进的一面: 什么是猿如意 chat GPT测评chat GPT关于通用的问题问题1-如何写一篇会计论文问题2 -如何规划自己的人生目标问题3 -如何自学称为一名中医问题4 -未来哪些行业更具有持续发展问题5 现在选择什…

关于虚拟数字人你想知道的都在这里

2022年底&#xff0c;微软旗下的人工智能实验室Open AI发布的对话式大型语言模型ChatGPT聊天机器人一夜蹿红&#xff0c;5天用户量超百万&#xff0c;在各大中外媒体平台掀起了一阵热潮。也带火了人工智能相关产业&#xff0c;AI虚拟数字人就是其中之一&#xff0c;一个随着元宇…

ChatGPT的探索研究

开篇&#xff1a;随着人工智能的迅速发展&#xff0c;众多令人兴奋的技术突破应运而生&#xff0c;其中之一是ChatGPT。ChatGPT是一种强大的对话模型&#xff0c;它使得计算机与人类更自然地交流成为可能。ChatGPT的问世意味着计算机在人类语言理解和生成方面获得了巨大的进步。…

用ChatGPT创建虚拟小镇,或许《西部世界》已经成为现实

我们也许真的可以创造一个世界&#xff01; 你们有没有想过有一天电影《西部世界》可能成为现实&#xff0c;又或许它已经成为现实了。当我们以后玩的游戏不在是程序员的精心设计&#xff0c;而是它们自己的“情绪变化”&#xff0c;那这个世界又会是怎样&#xff1f;可能有一天…