偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

五分鐘掃盲ChatGPT與OpenAI編程(For 開發(fā)者)

人工智能
ChatGPT 是 OpenAI 公司的一個技術產(chǎn)品,chatGPT使用了 GPT(Generative Pre-trained Transformer)技術,是一個用于對話生成的預訓練語言模型,OpenAI還有很多其他模型。

 本文轉(zhuǎn)載自微信公眾號「劉丹冰Aceld」,作者劉丹冰Aceld 。轉(zhuǎn)載本文請聯(lián)系劉丹冰Aceld公眾號。

一、chatGPT與OpenAI

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

(來自:chatGPT的解釋)

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

(來自:chatGPT的解釋)

可以理解為:

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

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

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

2.1 chatGPT

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

圖片圖片

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

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

2.2 DALL·E

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

(來自:chatGPT的解釋)

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

圖片圖片

圖片圖片

2.3 GPT-3

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

(來自chatGPT的解釋)

網(wǎng)上流傳可以寫出論文的就是GPT-3這款產(chǎn)品,chatGPT實際也是應用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):這是一種跨語言和圖像的模型,可以在圖像和文本間進行對比。

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

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

OpenAI接口文檔

platform.openai.com/doc

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

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

3.1 Model

在開始之前,我們需要理解的最關鍵的一個概念,就是OpenAI的訓練模型Model。

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

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

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

Model

擅長

Davinci

復雜的意圖,因果關系,面向特定受眾的概括

Curie

語言翻譯,復雜分類,文本情感,概括

Babbage

中等分類,語義搜索分類

Ada

文本解析,簡單分類,地址校正,關鍵詞

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

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

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

圖片圖片

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

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

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

圖片圖片

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

代碼很簡單,如下:

圖片圖片

1) openai的sdk

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

pip install openai

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

2) API_KEY

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

圖片圖片

3) propmt提示信息

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

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

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

圖片圖片

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

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

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

const BASEURL = "https://api.openai.com/v1/"

// ChatGPTResponseBody 請求體
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 響應體
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請求RESTful接口封裝

// Completions gtp文本模型回復
//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申請的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接口去請求OpenAI的Model模型,獲得我們得到的結(jié)果。這里的Demo運行就不再展示。

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

圖片圖片

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

開源代碼在 github.com/sashabaranov ,實現(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è)務了,且接口竟然如此的簡單。至于model的選擇和參數(shù)和接口的選擇,詳細看OpenAI文檔就可以了,本文是快速入門,這里就不再贅述了。

五、有關接入OpenAI的功能假設模型

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

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

圖片圖片

5.2 智能家庭助理

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

六、方案可行性評估

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

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

1、chatGPT如果在短時間內(nèi)在中國出現(xiàn)一個普及類的大眾產(chǎn)品問世,所以現(xiàn)在普通業(yè)務企業(yè)接入可能將毫無意義,因為大家都會在那個普及的產(chǎn)品上去提問知識,就好比當搜索引擎剛出來的時候,我們在自己的產(chǎn)品植入搜索引擎能力,短期有點效果,長期是無意義的。最后大家都會到一個地方去搜索。

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

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

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

關于作者

劉丹冰Aceld

image.pngimage.png

技術知識庫

https://www.yuque.com/aceld

---

---


《Golang修養(yǎng)之路》


《8小時轉(zhuǎn)職Golang工程師》


《zinx-Golang輕量級Tcp服務器框架》

代表作品

《Lars-基于C++負載均衡遠程服務器調(diào)度系統(tǒng)》


《libevent深入淺出》


《Nginx中文入門手冊》


《Linux上Lua應用實戰(zhàn)與人工智能》

---

---

github

https://github.com/aceld

責任編輯:武曉燕 來源: 劉丹冰Aceld
相關推薦

2020-03-03 19:59:38

主板無線網(wǎng)卡

2021-07-28 08:51:51

AI 數(shù)據(jù)人工智能

2015-11-10 09:26:24

51CTO云計算專題

2009-11-04 13:12:33

VB.NET面向?qū)ο缶?/a>

2025-03-31 08:15:00

LLM大型語言模型人工智能

2020-06-16 08:47:53

磁盤

2025-03-13 06:22:59

2009-11-16 10:53:30

Oracle Hint

2024-12-11 07:00:00

面向?qū)ο?/a>代碼

2023-02-16 08:26:41

2023-07-12 14:45:38

2023-07-12 16:03:37

Android開發(fā)架構(gòu)

2023-02-08 09:11:06

2009-11-17 14:50:50

Oracle調(diào)優(yōu)

2021-12-01 06:50:50

Docker底層原理

2025-01-21 07:39:04

Linux堆內(nèi)存Golang

2009-11-16 09:53:56

PHP上傳類

2023-09-07 23:52:50

Flink代碼

2023-07-23 18:47:59

Docker開源

2022-12-16 09:55:50

網(wǎng)絡架構(gòu)OSI
點贊
收藏

51CTO技術棧公眾號