最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

5分鐘掃盲chatGPT與OpenAI編程

2023-02-16 10:49 作者:gzqhero  | 我要投稿

一、chatGPT與OpenAI

ChatGPT 是 OpenAI 公司的一個(gè)技術(shù)產(chǎn)品,chatGPT使用了 GPT(Generative Pre-trained Transformer)技術(shù),是一個(gè)用于對(duì)話生成的預(yù)訓(xùn)練語言模型,OpenAI還有很多其他模型。

(來自:chatGPT的解釋)

OpenAI是一家人工智能研究公司,它開發(fā)并提供了一系列人工智能技術(shù)和產(chǎn)品,包括SDK開發(fā)包。

(來自:chatGPT的解釋)

可以理解為:

OpenAI提供的SDK能力更加豐富,而chatGPT是使用OpenAI的GPT技術(shù)實(shí)現(xiàn)的一款自然語言處理模型產(chǎn)品。

所以要接入chatGPT的能力,還是要看OpenAI所能提供的開放接口能力如何。

二、OpenAI目前公開的幾款產(chǎn)品

2.1 chatGPT

我們可以通過 chat.openai.com/chat?來打開chatGPT的在線聊天界面_(需要先注冊(cè),目前不支持國內(nèi)注冊(cè))_。

具體的chatGPT聊天的情況,這里不贅述了,chatGPT的實(shí)力目前在網(wǎng)絡(luò)上已經(jīng)被證實(shí)。

就目前個(gè)人使用的情況來看。目前在搜索知識(shí)相關(guān)的內(nèi)容,用chatGPT之后,很少會(huì)再打開Baidu和Google。除非一些系統(tǒng)性的知識(shí),或者極個(gè)別業(yè)務(wù)類知識(shí)搜索。但是對(duì)于科普類、以及常見類知識(shí),chatGPT的答復(fù)明顯要比搜索引擎更精準(zhǔn),且十分清楚你意圖搜索的內(nèi)容是什么。

2.2 DALL·E

DALL·E 是 OpenAI 研發(fā)的一種新型的生成式預(yù)訓(xùn)練語言模型,它能夠從文字描述中生成全新的圖片。它可以生成各種各樣的圖片,從卡通形象到復(fù)雜的科技圖像,它是一種非常先進(jìn)且有趣的人工智能技術(shù)。

(來自:chatGPT的解釋)

我們打開網(wǎng)址:labs.openai.com?可以更直觀看見這款產(chǎn)品。

2.3 GPT-3

GPT-3(Generative Pretrained Transformer 3):這是 OpenAI 最強(qiáng)大的 NLP 模型,擁有出色的語言生成能力。

(來自chatGPT的解釋)

網(wǎng)上流傳可以寫出論文的就是GPT-3這款產(chǎn)品,chatGPT實(shí)際也是應(yīng)用GPT-3的"text-davinci-003"模型。

網(wǎng)址為:https://platform.openai.com/playground?右側(cè)Model選擇"text-davinci-003"。

2.4 CLIP

CLIP(Contrastive Language-Image Pretraining):這是一種跨語言和圖像的模型,可以在圖像和文本間進(jìn)行對(duì)比。

這里不再介紹。官方網(wǎng)站是 clip.openai.com 但是我沒有打開。

三、基于OpenAI的Demo開發(fā)

OpenAI接口文檔

platform.openai.com/doc

從目前官方的接口文檔來看:OpenAI的原生接口支持Python和Node.js語言,但也同時(shí)支持RESTFul的API接口形式。所以目前其他語言可以通過Http的API請(qǐng)求形式,來調(diào)用OpenAI的接口。

這里先以Python為例,嘗試調(diào)通一個(gè)接口。

3.1 Model

在開始之前,我們需要理解的最關(guān)鍵的一個(gè)概念,就是OpenAI的訓(xùn)練模型Model。

對(duì)于我們從來沒有接觸過人工智能技術(shù)的人來說,始終認(rèn)為人工智能開發(fā)一定是要自己訓(xùn)練的,但是OpenAI完全降低了人工智能的業(yè)務(wù)開發(fā)門檻,我們完全不需要神經(jīng)網(wǎng)絡(luò)、NLP、深度學(xué)習(xí)等人工智能領(lǐng)域工程師及算法工程師,就可以直接使用OpenAI訓(xùn)練好的強(qiáng)大模型為我們進(jìn)行業(yè)務(wù)賦能。

我們可以理解為OpenAI現(xiàn)在已經(jīng)有很多基礎(chǔ)能力相當(dāng)成熟的“AI大秘書”為我們進(jìn)行服務(wù)。

他們的名字分別是:davinci(達(dá)芬奇)、curie(居里)、babbage(巴貝奇)和ada(艾達(dá))等。

Model擅長Davinci復(fù)雜的意圖,因果關(guān)系,面向特定受眾的概括Curie語言翻譯,復(fù)雜分類,文本情感,概括Babbage中等分類,語義搜索分類Ada文本解析,簡單分類,地址校正,關(guān)鍵詞

注意:任何由更快的模型(如Ada)執(zhí)行的任務(wù)都可以由更強(qiáng)大的模型(如Curie或Davinci)執(zhí)行,所以只需要記住“達(dá)芬奇最強(qiáng)”即可。

綜上,在我們進(jìn)行使用OpenAI進(jìn)行業(yè)務(wù)接口開發(fā)時(shí),應(yīng)該嘗試不同的場景,選擇最適合的Model為我們提供分析能力。

當(dāng)然,OpenAI不僅僅只有這些模型,在OpenAI的官方文檔上有說明可以給開發(fā)者提供的開發(fā)能力,如下:

這五大能力,各自提供了接口讓開發(fā)者進(jìn)行接入和使用。其中“Fine-tuning"將是定制化的model訓(xùn)練接口,當(dāng)然是你不希望使用OpenAI現(xiàn)有的"大秘書"。

全部Model模型List可見OpenAI官方文檔:platform.openai.com/doc

在GPT-3模型中,各個(gè)“AI大秘書”的最新版本和情況如下:

3.2 基于"text-davinci-003"的text文本處理Demo(Python)

代碼很簡單,如下:

  1. openai的sdk

對(duì)于python來講,安裝openai環(huán)境十分的簡單,如下指令即可:

pip install openai

如果你用的Golang語言或其他語言,不需要安裝環(huán)境,直接調(diào)用官方的RESTFul接口即可。

  1. API_KEY

這里面需要一個(gè)api_key,api_key的獲取辦法是,首先要注冊(cè)O(shè)penAI賬號(hào),如果您之前已經(jīng)可以使用OpenAI產(chǎn)品,說明你已經(jīng)有了賬號(hào),然后在platform.openai.com/acc 網(wǎng)頁中,生成API_KEY即可。

  1. propmt提示信息

prompt = "用Golang寫一個(gè)API-Server,且有一個(gè)路由/tal,給客戶端返回'你好TAL'的能力"

在文本Model中,就是我們的輸入問題文本。

接下來,我們來執(zhí)行上述的python代碼,得到如下結(jié)果:

這樣就已經(jīng)基于"text-davinci-003"的能力得到了我們想要的答案,也證明我們Demo的調(diào)度是通過的。

四、OpenAI的基于Golang接口開發(fā)及微信GPT案例

4.1 基礎(chǔ)結(jié)構(gòu)體定義

const BASEURL = "https://api.openai.com/v1/" ? // ChatGPTResponseBody 請(qǐng)求體 ? type ChatGPTResponseBody struct { ? ? ?ID ? ? ?string ? ? ? ? ? ? ? ? `json:"id"` ? ? ?Object ?string ? ? ? ? ? ? ? ? `json:"object"` ? ? ?Created int ? ? ? ? ? ? ? ? ? ?`json:"created"` ? ? ?Model ? string ? ? ? ? ? ? ? ? `json:"model"` ? ? ?Choices []ChoiceItem ? ? ? ? ? `json:"choices"` ? ? ?Usage ? map[string]interface{} `json:"usage"` ? } ? type ChoiceItem struct { ? ? ?Text ? ? ? ? string `json:"text"` ? ? ?Index ? ? ? ?int ? ?`json:"index"` ? ? ?Logprobs ? ? int ? ?`json:"logprobs"` ? ? ?FinishReason string `json:"finish_reason"` ? } ? // ChatGPTRequestBody 響應(yīng)體 ? type ChatGPTRequestBody struct { ? ? ?Model ? ? ? ? ? ?string ?`json:"model"` ? ? ?Prompt ? ? ? ? ? string ?`json:"prompt"` ? ? ?MaxTokens ? ? ? ?int ? ? `json:"max_tokens"` ? ? ?Temperature ? ? ?float32 `json:"temperature"` ? ? ?TopP ? ? ? ? ? ? int ? ? `json:"top_p"` ? ? ?FrequencyPenalty int ? ? `json:"frequency_penalty"` ? ? ?PresencePenalty ?int ? ? `json:"presence_penalty"` ? } ?

4.2 Golang的OpenAI請(qǐng)求RESTful接口封裝

// Completions gtp文本模型回復(fù) ? //curl https://api.openai.com/v1/completions ? //-H "Content-Type: application/json" ? //-H "Authorization: Bearer your chatGPT key" ? //-d '{"model": "text-davinci-003", "prompt": "你好,Aceld", "temperature": 0, "max_tokens": 7}' ? func Completions(msg string) (string, error) { ? ? ?requestBody := ChatGPTRequestBody{ ? ? ? ? ?Model: ? ? ? ? ? ?"text-davinci-003", ? ? ? ? ?Prompt: ? ? ? ? ? msg, ? ? ? ? ?MaxTokens: ? ? ? ?1024, ? ? ? ? ?Temperature: ? ? ?0.7, ? ? ? ? ?TopP: ? ? ? ? ? ? 1, ? ? ? ? ?FrequencyPenalty: 0, ? ? ? ? ?PresencePenalty: ?0, ? ? ?} ? ? ?requestData, err := json.Marshal(requestBody) ? ? ?if err != nil { ? ? ? ? ?return "", err ? ? ?} ? ? ?log.Printf("request gtp json string : %v", string(requestData)) ? ? ?req, err := http.NewRequest("POST", BASEURL+"completions", bytes.NewBuffer(requestData)) ? ? ?if err != nil { ? ? ? ? ?return "", err ? ? ?} ? ? ?apiKey := "XXXXXXXXXX申請(qǐng)的API_KEYXXXXXXXXXX" ? ? ?req.Header.Set("Content-Type", "application/json") ? ? ?req.Header.Set("Authorization", "Bearer "+apiKey) ? ? ?client := &http.Client{} ? ? ?response, err := client.Do(req) ? ? ?if err != nil { ? ? ? ? ?return "", err ? ? ?} ? ? ?defer response.Body.Close() ? ? ?if response.StatusCode != 200 { ? ? ? ? ?return "", errors.New(fmt.Sprintf("status code != 200, code is %d", response.StatusCode)) ? ? ?} ? ? ?body, err := ioutil.ReadAll(response.Body) ? ? ?if err != nil { ? ? ? ? ?return "", err ? ? ?} ? ? ?gptResponseBody := &ChatGPTResponseBody{} ? ? ?log.Println(string(body)) ? ? ?err = json.Unmarshal(body, gptResponseBody) ? ? ?if err != nil { ? ? ? ? ?return "", err ? ? ?} ? ? ?var reply string ? ? ?if len(gptResponseBody.Choices) > 0 { ? ? ? ? ?reply = gptResponseBody.Choices[0].Text ? ? ?} ? ? ?log.Printf("response text: %s \n", reply) ? ? ?return reply, nil ? } ?

我們依然可以通過上述封裝的Golang接口去請(qǐng)求OpenAI的Model模型,獲得我們得到的結(jié)果。這里的Demo運(yùn)行就不再展示。

然后,基于Golang的API能力再加上微信小程序的代理程序模塊_(__由于涉及到微信代理作弊程序,這里代碼省略)_,可以代理本地微信程序的消息轉(zhuǎn)發(fā),最終可以實(shí)現(xiàn)的效果如下:

目前也有第三方實(shí)現(xiàn)的Golang的GPT接口封裝,項(xiàng)目名稱為go-gpt3。

開源代碼在 github.com/sashabaranov ,實(shí)現(xiàn)基本代碼如下:

package main ? import ( ? ? ?"context" ? ? ?"fmt" ? ? ?gogpt "github.com/sashabaranov/go-gpt3" ? ) ? func main() { ? ? ?c := gogpt.NewClient("XXXXXXX ?your API KEY XXXXXXXX") ? ? ?ctx := context.Background() ? ? ?req := gogpt.CompletionRequest{ ? ? ? ? ?Model: ? ? gogpt.GPT3Ada, ? ? ? ? ?MaxTokens: 5, ? ? ? ? ?Prompt: ? ?"隨便說說", ? ? ?} ? ? ?resp, err := c.CreateCompletion(ctx, req) ? ? ?if err != nil { ? ? ? ? ?return ? ? ?} ? ? ?fmt.Println(resp.Choices[0].Text) ? } ?

是的,這很令人驚奇,你現(xiàn)在已經(jīng)具備使用人工能力開發(fā)業(yè)務(wù)了,且接口竟然如此的簡單。至于model的選擇和參數(shù)和接口的選擇,詳細(xì)看OpenAI文檔就可以了,本文是快速入門,這里就不再贅述了。

五、有關(guān)接入OpenAI的功能假設(shè)模型

5.1 智能ToB運(yùn)營售前、售后、技術(shù)支持系統(tǒng)

整體思路為,應(yīng)用OpenAI提供的Files大文件訓(xùn)練和Fine-tune自定義業(yè)務(wù)Model能力。嘗試基于已有的成熟Model再疊加業(yè)務(wù)內(nèi)容,進(jìn)行簡單的知識(shí)補(bǔ)充即可。

5.2 智能家庭助理

方案和上述方案類似,只不過需要將詳細(xì)的操作手冊(cè)換成常見的QA匯總文本。

六、方案可行性評(píng)估

注:解決方案為基于OpenAI模型的初探方案,商業(yè)模式和產(chǎn)品可行請(qǐng)問你們的產(chǎn)品經(jīng)理。

先說下我這里的想到的幾個(gè)問題,進(jìn)行拋轉(zhuǎn):

1、chatGPT如果在短時(shí)間內(nèi)在中國出現(xiàn)一個(gè)普及類的大眾產(chǎn)品問世,所以現(xiàn)在普通業(yè)務(wù)企業(yè)接入可能將毫無意義,因?yàn)榇蠹叶紩?huì)在那個(gè)普及的產(chǎn)品上去提問知識(shí),就好比當(dāng)搜索引擎剛出來的時(shí)候,我們?cè)谧约旱漠a(chǎn)品植入搜索引擎能力,短期有點(diǎn)效果,長期是無意義的。最后大家都會(huì)到一個(gè)地方去搜索。

2、對(duì)于OpenAI能力的性能問題以及回答問題的準(zhǔn)確性,目前還沒有商業(yè)應(yīng)用落地的真實(shí)數(shù)據(jù),第一口吃螃蟹還需要謹(jǐn)慎一些。

3、chatGPT就國內(nèi)來說,在幾個(gè)月之前就已經(jīng)有一小波熱提峰值,但是很快就下去了,但近期突然引起大家熱議,或有資本運(yùn)作及推動(dòng),學(xué)習(xí)知識(shí)沒錯(cuò),在沒有掌握充足的相關(guān)知識(shí)和應(yīng)用領(lǐng)域客觀調(diào)研下,要小心自己不要成為"韭菜"哦^_^

4、科學(xué)很重要,科學(xué)的普及更重要,而普及才是最難的,引用AI來創(chuàng)造價(jià)值才是最難的。目前chatGPT只是展示了潛力,但潛力不能當(dāng)飯吃,只有實(shí)力才能當(dāng)飯吃。目前chatGPT還是“流行話題”占比高一些,聊這個(gè)話題會(huì)顯得高級(jí),所以才喜歡聊,但又有多少人真的懂,多少人真的了解且認(rèn)真思考過,甚至又有多少人去試用一下。


5分鐘掃盲chatGPT與OpenAI編程的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
五台县| 都江堰市| 馆陶县| 保靖县| 万盛区| 新化县| 东山县| 汾西县| 始兴县| 台州市| 中超| 凌云县| 枞阳县| 东乌| 仁化县| 宁武县| 常州市| 陆良县| 阳原县| 大理市| 寻乌县| 米林县| 兴仁县| 东乡县| 清水县| 汪清县| 湘阴县| 吉木萨尔县| 十堰市| 延川县| 朝阳市| 洛宁县| 大关县| 惠州市| 垦利县| 河源市| 高台县| 卢湾区| 安福县| 张家界市| 寿宁县|