3分鐘教你用Python搭建ChatGPT

寫在前面

ChatGPT 近期以強大的對話和信息整合能力風靡全網(wǎng)婿脸。起初础倍,她并沒有引起我很大的興趣咽弦。我認為這不過又是互聯(lián)網(wǎng)公司尋求新的經(jīng)濟增長點的風口而已徒蟆。

就像幾年前的 區(qū)塊鏈 ,大大小小的公司趨之若鶩型型,記得我當時的老東家也推出一款去中心化的 APP段审,用于存儲自己的基因數(shù)據(jù)。現(xiàn)在已經(jīng)沒有人談及區(qū)塊鏈技術(shù)了闹蒜。

就像最近 1-2 年的 元宇宙 寺枉,據(jù)說甚至有學校成立了元宇宙學院,自從扎克伯格曬出一個簡陋無比的元宇宙照片之后嫂用,簡直是將元宇宙的破爛底褲展示在世人面前型凳。如今,元宇宙成了個笑話嘱函。

基于我淺薄的認知甘畅,我并沒有過多關(guān)注 ChatGPT 。直到今天的一些私人原因往弓,我才開始正式了解她疏唾。

ChatGPT 是什么

ChatGPT 的全稱是 Chat Generative Pre-trained Transformer 。我的理解她是一個基于 Transformer 模型 由預(yù)訓(xùn)練數(shù)據(jù)生成對話信息的應(yīng)用函似。(PS:Transformer 模型槐脏,是谷歌在 2017 年推出的 NLP 經(jīng)典模型)

由她的名字,我猜測撇寞,ChatGPT 并不是在全網(wǎng)實時搜索最佳答案顿天,而是根據(jù)預(yù)先訓(xùn)練的數(shù)據(jù)堂氯,實時拼湊出一個答案。這個答案可能并不一定是正確的牌废,但不管你信不信咽白,反正 ChatGPT 自己是相信這個答案的。

ChatGPT 的前世今生

3分鐘教你用Python搭建ChatGPT-1.png

我們所說的 ChatGPT 其實是基于 GPT-3.5 模型 開發(fā)得到的鸟缕。截至目前晶框,OpenAI 公司并沒有開放 GPT-3.5 的接口。因此我們只能通過 OpenAI 的官方網(wǎng)站 https://chat.openai.com/ 來訪問 ChatGPT懂从。(https://ai.com 這個地址是 OpenAI 花重金購買的授段,同樣可以跳轉(zhuǎn)到 ChatGPT 官網(wǎng))

現(xiàn)在網(wǎng)上出現(xiàn)的一些 ChatGPT 中文版,ChatGPT 微信版等等都是基于 2020 年的 GPT-3 模型 開發(fā)而來番甩。雖然和基于GPT-3.5 模型演化而來的 ChatGPT 沒法比侵贵。但是同樣能帶我們體驗人工智能的美妙。

而我們今天要搭建的 ChatGPT 同樣是基于GPT-3 模型開發(fā)对室。

用 Python 搭建 ChatGPT

獲取 OpenAI API Key

由我的另一篇博客 超詳細注冊 OpenAI 接口賬號的教程 獲取 OpenAI API Key 模燥。

3分鐘教你用Python搭建ChatGPT-2.png

安裝 openai 模塊

使用如下代碼安裝 openai 模塊咖祭。

pip install openai

調(diào)用接口獲取返回信息

代碼

調(diào)用 openai.Completion.create 函數(shù)獲取返回信息掩宜。

import os
import openai

# 填寫注冊O(shè)penAI接口賬號時獲取的 OpenAI API Key
openai.api_key = os.getenv("OPENAI_API_KEY")

# 提問
issue = '你是誰?'

# 訪問OpenAI接口
response = openai.Completion.create(
  model='text-davinci-003',
  prompt=issue,
  temperature=0.9,
  max_tokens=150,
  top_p=1,
  frequency_penalty=0.0,
  presence_penalty=0.6
)

# 返回信息
resText = response.choices[0].text

print(resText)

參數(shù)

  • model:使用的模型么翰,可選內(nèi)容如下:
3分鐘教你用Python搭建ChatGPT-3.png
  • prompt:提問牺汤,提問描述越詳細,回答越準確
  • temperature:控制結(jié)果的隨機性浩嫌,如果希望結(jié)果更有差異性 0.9檐迟,或者希望有固定結(jié)果可以嘗試 0.0
  • max_tokens:生成結(jié)果時的最大 tokens 數(shù)。平均一個漢字是 2 個 tokens码耐,text-davinci-003 最多是 4000 個 tokens追迟,也就是 2000 個漢字左右
  • top_p:一個可用于代替 temperature 的參數(shù),對應(yīng)機器學習中 nucleus sampling骚腥,如果設(shè)置 0.1 意味著只考慮構(gòu)成前 10% 概率質(zhì)量的 tokens
  • frequency_penalty:控制字符的重復(fù)度敦间,取值為 -2.0 ~ 2.0 之間的數(shù)字
  • presence_penalty:控制主題的重復(fù)度,取值為 -2.0 ~ 2.0 之間的數(shù)字

測試 ChatGPT

3分鐘教你用Python搭建ChatGPT-4.png
3分鐘教你用Python搭建ChatGPT-5.png
3分鐘教你用Python搭建ChatGPT-6.png

別的不敢評價束铭,就是這個最后用 python 寫冒泡排序廓块,我給打 99 分。代碼最后莫名其妙多出一個逗號契沫,原以為這代碼肯定會報錯带猴,誰知道測試了下可以正常運行,運行結(jié)果也是對的懈万。后來查了一下資料拴清,原來 print()后面加上逗號可以讓回車符失效靶病,ChatGPT 是故意這么做的,這是我不知道的知識點口予。給她扣掉一分嫡秕,是因為這代碼空格和回車有點太隨意了,并不是特別工整苹威。

最后

免費的 API 接口是有額度限制的昆咽。每個賬號有 18 美元 的免費額度,限期 3 個月 牙甫。 不同的模式計費不同掷酗,text-davinci-003 這個模式大約每 1000 個 tokens 扣費 0.02 美元。

除此以外窟哺,OpenAI 的接口還有如下功能泻轰,靜待你的挖掘。

[站外圖片上傳中...(image-9f61b9-1677113856911)]


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末且轨,一起剝皮案震驚了整個濱河市浮声,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌旋奢,老刑警劉巖泳挥,帶你破解...
    沈念sama閱讀 222,807評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異至朗,居然都是意外死亡屉符,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,284評論 3 399
  • 文/潘曉璐 我一進店門锹引,熙熙樓的掌柜王于貴愁眉苦臉地迎上來矗钟,“玉大人,你說我怎么就攤上這事嫌变《滞В” “怎么了?”我有些...
    開封第一講書人閱讀 169,589評論 0 363
  • 文/不壞的土叔 我叫張陵腾啥,是天一觀的道長东涡。 經(jīng)常有香客問我,道長碑宴,這世上最難降的妖魔是什么软啼? 我笑而不...
    開封第一講書人閱讀 60,188評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮延柠,結(jié)果婚禮上祸挪,老公的妹妹穿的比我還像新娘。我一直安慰自己贞间,他們只是感情好贿条,可當我...
    茶點故事閱讀 69,185評論 6 398
  • 文/花漫 我一把揭開白布雹仿。 她就那樣靜靜地躺著,像睡著了一般整以。 火紅的嫁衣襯著肌膚如雪胧辽。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,785評論 1 314
  • 那天公黑,我揣著相機與錄音邑商,去河邊找鬼。 笑死凡蚜,一個胖子當著我的面吹牛人断,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播朝蜘,決...
    沈念sama閱讀 41,220評論 3 423
  • 文/蒼蘭香墨 我猛地睜開眼恶迈,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了谱醇?” 一聲冷哼從身側(cè)響起暇仲,我...
    開封第一講書人閱讀 40,167評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎副渴,沒想到半個月后奈附,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,698評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡佳晶,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,767評論 3 343
  • 正文 我和宋清朗相戀三年桅狠,在試婚紗的時候發(fā)現(xiàn)自己被綠了讼载。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片轿秧。...
    茶點故事閱讀 40,912評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖咨堤,靈堂內(nèi)的尸體忽然破棺而出菇篡,到底是詐尸還是另有隱情,我是刑警寧澤一喘,帶...
    沈念sama閱讀 36,572評論 5 351
  • 正文 年R本政府宣布驱还,位于F島的核電站,受9級特大地震影響凸克,放射性物質(zhì)發(fā)生泄漏议蟆。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,254評論 3 336
  • 文/蒙蒙 一萎战、第九天 我趴在偏房一處隱蔽的房頂上張望咐容。 院中可真熱鬧,春花似錦蚂维、人聲如沸戳粒。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,746評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔚约。三九已至奄妨,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間苹祟,已是汗流浹背砸抛。 一陣腳步聲響...
    開封第一講書人閱讀 33,859評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留树枫,地道東北人锰悼。 一個月前我還...
    沈念sama閱讀 49,359評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像团赏,于是被迫代替她去往敵國和親箕般。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,922評論 2 361

推薦閱讀更多精彩內(nèi)容