三分钟拥有自己的 chat-gpt (开发到上线)

本文介绍了如何在三分钟内使用laf平台和npm包快速开发并上线一个Chat-GPT接口。通过创建云函数、设置apiKey,前端调用,以及laf平台的存储和网站托管功能,实现项目快速部署。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三分钟拥有自己的 chat-gpt (开发到上线)

  • 首先你需要有一个 laf 账号,如果你还不知道 laf 是什么,点击这里三分钟学会
  • 然后你还需要有一个 chat-gpt 的账号并且生成一个 apiKey (这一步可以问 Google )

云函数

具备了上面这两个条件我们就可以开始啦。
点击 NPM 依赖右边的加号 file 搜索 chatgpt 找到对应的 npm 包 保存并重启应用。 alt 属性文本
然后就可以像我一样新建一个云函数 名字叫send并写入以下内容(记得更换 apiKey)

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: "这里需要换成你自己的apiKey哦" })
    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
}

前端

前端项目中老三样

// 安装 laf sdk
 npm install laf-client-sdk 

// 引入
import { Cloud } from "laf-client-sdk"; 

// 创建 cloud 对象 这里换掉appid
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 并且拿到回复的消息了。
我们只要稍微加亿点点细节,就可以变成这样。
alt 属性文本
加完这点细节之后,基本开发工作就完成了,接下来就是把项目上线分享给你的朋友,顺便装个杯。
说到上线我们现在应该要去 买一台服务器 安装nginx 配置nginx 解析域名 绑定域名...

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

上线

打开你的 laf 点击存储界面->点击上方加号->创建一个权限为 readonly 的存储桶(名字随意) alt 属性文本
创建完之后 在你的前端项目中运行打包命令 我这里是 npm run build,打包完毕之后找到打包好的 dist 文件夹。
像我一样把 dist 文件里面的所有东西都上传到我们刚刚创建的存储桶里面,记住是原封不动的上传哦,文件就是文件,文件夹就是文件夹。 alt 属性文本
上传完毕之后,发现右上角有一个 “开启网站托管” 点一下。 alt 属性文本
点完之后出来一个链接,我们点击一下访问看看是啥东西。 alt 属性文本

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

alt 属性文本
恭喜 到这里你的项目已经上线了,快分享给你的好朋友吧!
点击这里查看我的 chatGPT
点击这里查看项目源码(样式部分是从 chatGPT 官网复制过来的有些乱)

原文地址 sealos 以kubernetes为内核的云操作系统发行版,让云原生简单普及

laf 写代码像写博客一样简单,什么docker kubernetes统统不关心,我只关心写业务!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值