五月婷婷丁香性爱|j久久一级免费片|久久美女福利视频|中文观看在线观看|加勒比四区三区二|亚洲裸女视频网站|超碰97AV在线69网站免费观看|有码在线免费视频|久久青青日本视频|亚洲国产AAAA

使用函數(shù)工作流 FunctionGraph開(kāi)發(fā)準(zhǔn)備

在國(guó)內(nèi)使用ChatGPT有些不便,是否可以基于OpenAI開(kāi)放的API做一個(gè)給自己或者同事們使用的聊天機(jī)器人,甚至集成到更多的場(chǎng)景。

說(shuō)干就干,我們先從做一個(gè)自己的機(jī)器人開(kāi)始,首先我們從OpenAI獲取用于鑒權(quán)的秘鑰。

然后寫(xiě)一個(gè)請(qǐng)求OpenAI接口的代碼,并寫(xiě)一個(gè)web服務(wù)接口開(kāi)放出去,再搭配一個(gè)交互用的前端即可??雌饋?lái)是1小時(shí)的工作量,但是如何部署這個(gè)服務(wù)呢? 購(gòu)買(mǎi)一個(gè)云服務(wù)器再安裝環(huán)境或者配置容器也太麻煩了,于是我問(wèn)了ChatGPT:建議我選擇華為云提供的函數(shù)工作流 FunctionGraph 這款Serverless函數(shù)計(jì)算與編排服務(wù)。

我們選選擇

對(duì)象存儲(chǔ)服務(wù)OBS:用于托管前端頁(yè)面。

FunctionGraph : 用于響應(yīng)前端請(qǐng)求,運(yùn)行代碼向OpenAI發(fā)送問(wèn)題。

API網(wǎng)關(guān): 對(duì)外開(kāi)放調(diào)用函數(shù)的API

說(shuō)明:“函數(shù)” 是指客戶(hù)部署在FunctionGraph上的代碼,它可以是一個(gè)或多個(gè)文件組成的程序,甚至編譯好的二進(jìn)制文件。 如Python 腳本文件,Java的jar 包。

函數(shù)工作流 FunctionGraph開(kāi)發(fā)并部署聊天應(yīng)用

創(chuàng)建FunctionGraph函數(shù)處理用戶(hù)提問(wèn)的請(qǐng)求

首先創(chuàng)建并開(kāi)發(fā)FunctionGraph函數(shù),打開(kāi)華為云FunctionGraph 產(chǎn)品頁(yè)面,由于只有一個(gè)簡(jiǎn)單的問(wèn)題查詢(xún)接口,這里我們選用事件函數(shù) 使用Python 3.9 運(yùn)行時(shí)。

說(shuō)明:事件函數(shù),可以由某類(lèi)事件觸發(fā)函數(shù)運(yùn)行,如用戶(hù)對(duì)該函數(shù)發(fā)送了HTTP請(qǐng)求,關(guān)聯(lián)到該函數(shù)的消息隊(duì)列里產(chǎn)生了新消息,都會(huì)自動(dòng)觸發(fā)函數(shù)運(yùn)行。

對(duì)于事件函數(shù),通常程序入口方法(這里是 handler)會(huì)有兩個(gè)參數(shù):

event 參數(shù):包含觸發(fā)用戶(hù)函數(shù)的事件的相關(guān)信息。HTTP請(qǐng)求也是一種事件,event里會(huì)包含請(qǐng)求的body header 等;

context 參數(shù):調(diào)用平臺(tái)的相關(guān)能力,如獲取在函數(shù)配置里設(shè)置的加密環(huán)境變量等。

從event 里取得請(qǐng)求的參數(shù) prompt。

在編輯好代碼后,只需要點(diǎn)擊部署按鈕即可完成部署。

創(chuàng)建APIG觸發(fā)器來(lái)開(kāi)放接口

通常對(duì)于使用函數(shù)開(kāi)發(fā)WEB 后端的場(chǎng)景,我們使用API 網(wǎng)關(guān)服務(wù),來(lái)將函數(shù)開(kāi)放出去供前端訪(fǎng)問(wèn)。為函數(shù)在API網(wǎng)關(guān)上注冊(cè)API非常簡(jiǎn)單,只需要在函數(shù)頁(yè)面上創(chuàng)建APIG觸發(fā)器。

注意:這里將后端超時(shí)時(shí)間設(shè)定為一個(gè)較大的時(shí)間,如60s,因?yàn)镺penAi的接口響應(yīng)較慢。在北京4局點(diǎn)中,APIG服務(wù)有共享版,支持按需計(jì)費(fèi),若有較大的流量可以考慮購(gòu)買(mǎi)APIG獨(dú)享實(shí)例。

APIG觸發(fā)器上的調(diào)用URL,可以直接用于向后端發(fā)送請(qǐng)求,該URL 為測(cè)試URL,每日僅可訪(fǎng)問(wèn)1000次,可以點(diǎn)擊觸發(fā)器跳轉(zhuǎn)到APIG頁(yè)面綁定自己的域名。

托管前端頁(yè)面到OBS

我們準(zhǔn)備了一個(gè)簡(jiǎn)單的前端,只需改下前端頁(yè)面配置的后端地址即可。創(chuàng)建一個(gè)OBS 桶,上傳前端文件。

配置OBS 桶靜態(tài)文件托管,將桶訪(fǎng)問(wèn)權(quán)限設(shè)置為公共讀,并在靜態(tài)網(wǎng)站托管選項(xiàng)里配置默認(rèn)首頁(yè),將自己的域名指向訪(fǎng)問(wèn)地址。

通過(guò)訪(fǎng)問(wèn)配置的域名訪(fǎng)問(wèn)頁(yè)面,開(kāi)始體驗(yàn)!

點(diǎn)擊此處前往操作詳情→

后端服務(wù)增加接口鑒權(quán)

以上我們已經(jīng)基于FunctionGraph 函數(shù)創(chuàng)建了一個(gè)簡(jiǎn)易聊天系統(tǒng)的后端的服務(wù),但是該接口沒(méi)有任何鑒權(quán),如果開(kāi)放接口,所有用戶(hù)都可以訪(fǎng)問(wèn)。

如果需要用戶(hù)登錄后才可以使用,如何做?一個(gè)思路是在原有業(yè)務(wù)代碼里增加鑒權(quán),這里我們也可以考慮使用APIG自定義鑒權(quán)即APIG組合FunctionGraph 鑒權(quán)的形式。

創(chuàng)建并配置APIG自定義鑒權(quán)函數(shù)

使用APIG 自定義鑒權(quán)有以下優(yōu)勢(shì):

提升開(kāi)發(fā)效率:鑒權(quán)與業(yè)務(wù)解耦,新增邏輯只需關(guān)注業(yè)務(wù),無(wú)需引入鑒權(quán);鑒權(quán)代碼集中而非分散在多個(gè)業(yè)務(wù)模塊,更新鑒權(quán)邏輯只需要更新鑒權(quán)模塊而非所有業(yè)務(wù)模塊;

降低成本:對(duì)于使用大規(guī)格函數(shù)進(jìn)行后端服務(wù)的代碼,無(wú)效請(qǐng)求可以直接由較小規(guī)格的鑒權(quán)函數(shù)攔截,降低大中規(guī)格資源服務(wù)的運(yùn)行成本;

創(chuàng)建鑒權(quán)函數(shù)

和普通函數(shù)的創(chuàng)建流程一樣,只需要注意響應(yīng)的格式。

編輯接口,配置自定義鑒權(quán)

創(chuàng)建授權(quán)函數(shù)

基于以上自定義鑒權(quán)模式,開(kāi)發(fā)者可以組合自己已有的鑒權(quán)邏輯放到自定義鑒權(quán)函數(shù)中。如果進(jìn)一步想基于FunctionGraph 創(chuàng)建一個(gè) “登錄” 或token授權(quán)函數(shù),可以考慮以下方案。

我們首先需要?jiǎng)?chuàng)建一個(gè)函數(shù),該函數(shù)用于接收用戶(hù)登錄請(qǐng)求,然后去數(shù)據(jù)庫(kù)請(qǐng)求,判斷用戶(hù)合法則返回鑒權(quán)token。編輯對(duì)應(yīng)的API,選擇自定義鑒權(quán),選擇到我們創(chuàng)建的函數(shù)即可。

創(chuàng)建一個(gè)普通的事件函數(shù)即可,隨后可以為其創(chuàng)建APIG 觸發(fā)器。 

注意,如果需要函數(shù)訪(fǎng)問(wèn)VPC里的資源,如本例中的RDS,需要在函數(shù)頁(yè)面配置RDS所在的VPC。

點(diǎn)擊此處前往增加接口鑒權(quán)詳情→

“ChatGPT”的升級(jí)和運(yùn)維

日志與監(jiān)控

使用函數(shù),系統(tǒng)會(huì)自動(dòng)收集用戶(hù)打印在控制臺(tái)的日志,用戶(hù)無(wú)需處理日志落盤(pán),收集或直接上報(bào)。對(duì)于每一條請(qǐng)求日志,F(xiàn)unctionGraph 還會(huì)顯示請(qǐng)求執(zhí)行耗時(shí),使用內(nèi)存及請(qǐng)求狀態(tài)。

用戶(hù)可以基于關(guān)鍵詞,請(qǐng)求狀態(tài)進(jìn)行過(guò)濾和檢索。

同時(shí),平臺(tái)自動(dòng)收集函數(shù)運(yùn)行指標(biāo),如調(diào)用次數(shù),運(yùn)行時(shí)間,錯(cuò)誤次數(shù),被拒絕次數(shù),并發(fā)數(shù)等。

版本迭代

在用戶(hù)更新函數(shù)代碼時(shí),為保障“ChatGPT”業(yè)務(wù)穩(wěn)定運(yùn)行,可以配置APIG觸發(fā)器的后端服務(wù)指向函數(shù)別名。

函數(shù)工作流 FunctionGraph教程視頻

函數(shù)工作流

03:15

函數(shù)工作流

02:10

函數(shù)工作流

函數(shù)工作流

03:10

函數(shù)工作流

1對(duì)1咨詢(xún)專(zhuān)屬顧問(wèn)

1對(duì)1免費(fèi)咨詢(xún)?nèi)A為云專(zhuān)屬顧問(wèn),為您量身定制產(chǎn)品推薦方案
立即咨詢(xún)

華為云咨詢(xún)電話(huà):950808或4000-955-988 轉(zhuǎn)1

華為云咨詢(xún)電話(huà):950808或4000-955-988 轉(zhuǎn)1

華為云專(zhuān)業(yè)的服務(wù)團(tuán)隊(duì),致力于為您提供專(zhuān)業(yè)的售前購(gòu)買(mǎi)咨詢(xún)服務(wù),及完善的售后技術(shù)服務(wù),助您云上無(wú)憂(yōu)