三分鐘擁有自己的 chat-gpt (開發(fā)到上線)
- 首先你需要有一個
laf
賬號,如果你還不知道laf
是什么,點擊這里三分鐘學會 - 然后你還需要有一個
chat-gpt
的賬號并且生成一個apiKey
(這一步可以問Google
)
云函數(shù)
具備了上面這兩個條件我們就可以開始啦。
點擊 NPM
依賴右邊的加號
搜索 chatgpt
找到對應的 npm
包 保存并重啟應用。
然后就可以像我一樣新建一個云函數(shù) 名字叫send
并寫入以下內(nèi)容(記得更換 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";
// 創(chuàng)建 cloud 對象 這里換掉appid
const cloud = new Cloud({
baseUrl: "https://這里換成自己的appid.laf.dev",
getAccessToken: () => "",
});
這里我們看一下前端的核心代碼,非常的簡單,就是把提問的內(nèi)容和上下文 id
傳入云函數(shù)就可以了。
async function send() {
// 我們提問的內(nèi)容
const message = question.value;
let res;
// 與云函數(shù)邏輯一樣,有上下文 id 就傳入
if (!parentMessageId.value) {
res = await cloud.invoke("send", { message });
} else {
res = await cloud.invoke("send", { message, parentMessageId: parentMessageId.value });
}
// 回復我們的內(nèi)容在 res.text
// 這個是上下文 id
parentMessageId.value = res.id;
}
到這一步 我們已經(jīng)可以發(fā)信息給 chatgpt
并且拿到回復的消息了。
我們只要稍微加億點點細節(jié),就可以變成這樣。
加完這點細節(jié)之后,基本開發(fā)工作就完成了,接下來就是把項目上線分享給你的朋友,順便裝個杯。
說到上線我們現(xiàn)在應該要去 買一臺服務器 安裝nginx
配置nginx
解析域名 綁定域名...
NO NO NO 我不允許你浪費年輕而美好的生命,life is short, you need laf :)
上線
打開你的 laf
點擊存儲界面->點擊上方加號->創(chuàng)建一個權(quán)限為 readonly 的存儲桶(名字隨意)
創(chuàng)建完之后 在你的前端項目中運行打包命令 我這里是 npm run build
,打包完畢之后找到打包好的 dist
文件夾。
像我一樣把 dist
文件里面的所有東西都上傳到我們剛剛創(chuàng)建的存儲桶里面,記住是原封不動的上傳哦,文件就是文件,文件夾就是文件夾。
上傳完畢之后,發(fā)現(xiàn)右上角有一個 “開啟網(wǎng)站托管” 點一下。
點完之后出來一個鏈接,我們點擊一下訪問看看是啥東西。
哦!我的老天鵝呀 這不就是我剛剛開發(fā)的項目嗎?
恭喜 到這里你的項目已經(jīng)上線了,快分享給你的好朋友吧!
點擊這里查看我的 chatGPT
點擊這里查看項目源碼(樣式部分是從 chatGPT 官網(wǎng)復制過來的有些亂)
原文地址 sealos 以kubernetes為內(nèi)核的云操作系統(tǒng)發(fā)行版,讓云原生簡單普及文章來源:http://www.zghlxwxcb.cn/news/detail-424396.html
laf 寫代碼像寫博客一樣簡單,什么docker kubernetes統(tǒng)統(tǒng)不關心,我只關心寫業(yè)務!文章來源地址http://www.zghlxwxcb.cn/news/detail-424396.html
到了這里,關于三分鐘擁有自己的 chat-gpt (開發(fā)到上線)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!