如何使用Python + ChatGPT API快速構建基于ChatGPT的用法

ChatGPT-3是一個(gè)人(rén)工智能聊天機器(qì)人(rén),它用的是OpenAI的GPT-3.5-turbo模型來(lái)實現自然語言處理(lǐ)(NLP)和(hé)語言生(shēng)成任務哦。新版的GPT-3.5-turbo模型是在GPT-3模型的基礎上(shàng)升級改進的,精度和(hé)表現力更高(gāo),能自動識别文本的語義和(hé)上(shàng)下文,生(shēng)成更準确更自然的回複呢。


OpenAI團隊發布了最新的智能聊天機器(qì)人(rén)ChatGPT API和(hé)語音(yīn)轉文Whisper API。ChatGPT API為(wèi)開(kāi)發者提供了方便易用的方式,讓他們輕松駕馭這個(gè)強大(dà)的NLP模型。最新發布的ChatGPT API使用的是gpt-3.5-turbo模型家(jiā)族,也就是ChatGPT産品中使用的同一模型哦。

ChatGPT API

這次ChatGPT官方更新了gpt-3.5-turbo模型,接口上(shàng)會(huì)有(yǒu)一些(xiē)調整,提供了更多(duō)的API參數(shù)和(hé)選項,讓開(kāi)發者可(kě)以根據自己的需求定制(zhì)和(hé)優化API性能。

基于gpt-3.5-turbo模型

如果使用新模型的話(huà),價格是每1000個(gè)tokens $0.002,比當前的GPT-3.5模型便宜了10倍呢。它具有(yǒu)高(gāo)可(kě)用性和(hé)可(kě)擴展性,還(hái)可(kě)以應對高(gāo)流量應用場(chǎng)景。官方測試工程師(shī)從text-davinci-003遷移到gpt-3.5-turbo,隻需要做(zuò)一些(xiē)調整就能完成開(kāi)發,還(hái)提供了非常友(yǒu)好的開(kāi)發文檔和(hé)示例代碼,幫助開(kāi)發者快速上(shàng)手。

用法

如果隻是想快速驗證 ChatGPT API是否可(kě)用,那(nà)我們可(kě)以嘗試使用curl發送請(qǐng)求。


curl https://api.openai.com/v1/chat/completions

   -H "Authorization: Bearer $OPENAI_API_KEY"

   -H "Content-Type: application/json"

   -d'{

   "model": "gpt-3.5-turbo",

   "messages": [{"role": "user", "content": "OpenAI 的使命是什麽?"}]

}'


如果需要深入ChatGPT API的開(kāi)發,小(xiǎo)編将向你(nǐ)展示如何使用Python + ChatGPT API快速構建基于ChatGPT的用法。


這是基本用法的代碼示例:

# 注意檢查你(nǐ)的OpenAI版本必須是v0.27.0或以上(shàng)

import openai


# 首先,您需要設置您的 API 密鑰

openai.api_key = "你(nǐ)的API key"


# 然後,您可(kě)以調用“gpt-3.5-turbo”模型

model_engine = "gpt-3.5-turbo"


# 設置你(nǐ)的輸入文本

input_text = "問題XXXXXXXXX"


# 發送API請(qǐng)求并得(de)到響應,注意接口和(hé)參數(shù)相比舊(jiù)款有(yǒu)變化

response = openai.ChatCompletion.create(

   model=model_engine,

   messages=[{"role": "user", "content": input_text }]

)


#response 将得(de)到一個(gè)結構如下的 json 消息

# {

#  'id': 'chatcmpl-6p9XYPYSTTRi0xEviKjjilqrWU2Ve',

#  'object': 'chat.completion',

#  'created': 1677649420,

#  'model': 'gpt-3.5-turbo',

#  'usage': {'prompt_tokens': 56, 'completion_tokens': 31, 'total_tokens': 87},

#  'choices': [

#    {

#     'message': {

#       'role': 'assistant',

#       'content': '問題XXXXXXXXX'},

#     'finish_reason': 'stop',

#     'index': 0

#    }

#   ]

# }


# 解析響應并輸出結果

output_text = response['choices'][0]['message']['content']

print("ChatGPT API reply:", output_text)

在上(shàng)面的代碼中,我們首先設置我們的 API 密鑰,然後指定要使用的 GPT-3.5-turbo 模型,設置輸入文本并發送 API 請(qǐng)求,最後解析響應并輸出 ChatGPT 回複。 有(yǒu)一些(xiē)注意事項


新接口:原來(lái)使用text-davinci-002模型,我們使用openai.Completion.create接口,現在新的gpt-3.5-turbo應該使用openai.ChatCompletion.create接口。


新增參數(shù):第一個(gè)參數(shù)設置model模型名稱,第二個(gè)參數(shù)為(wèi)會(huì)話(huà)列表

語音(yīn)轉文本的 Whisper API

為(wèi)什麽要提供對話(huà)列表? 因為(wèi)API調用是單接口請(qǐng)求,不會(huì)自動記錄之前的聊天信息,沒有(yǒu)上(shàng)下文。 為(wèi)了讓 ChatGPT 在一次請(qǐng)求中了解你(nǐ)的上(shàng)下文,你(nǐ)需要提供這樣一個(gè)完整的對話(huà)列表,比如這個(gè)對話(huà)

import openai


openai.ChatCompletion.create(

   model="gpt-3.5-turbo",

   messages=[

     {"role": "system", "content": "你(nǐ)是個(gè)好幫手嗎?"},

          {"role": "user", "content": "誰赢得(de)了 2020 年的世界大(dà)賽冠軍?"},

          {"role": "assistant", "content": "洛杉矶道(dào)奇隊赢得(de)了 2020 年世界大(dà)賽冠軍。"},

          {"role": "user", "content": "在哪裏播放?"}

     ]

)

每個(gè)對話(huà)消息都需要提供角色和(hé)內(nèi)容。 共有(yǒu)三種角色:系統、用戶或助手。


system:系統消息相當于管理(lǐ)員,可(kě)以設置助手的行(xíng)為(wèi)和(hé)特征。 在上(shàng)面的示例中: 你(nǐ)是個(gè)好幫手嗎?。

user: 用戶消息就是我們自己,可(kě)以由用戶來(lái)詢問,也可(kě)以直接讓開(kāi)發者提前搭建一些(xiē)提示。 一些(xiē)參考 ChatGPT 提示

assistant:助手消息是之前ChatGPT API提供的回複,存放在這裏。 你(nǐ)也可(kě)以修改這個(gè)回複或者自己編一段對話(huà),讓整個(gè)對話(huà)更流暢。

如果您不需要對話(huà)框,隻需提供一條用戶消息,如之前的 Python 代碼所示。


語音(yīn)轉文本 API

OpenAI 還(hái)發布了支持語音(yīn)轉文本的 Whisper API。 它提供了一個(gè)large-v2模型,易于使用,價格為(wèi)0.006美元/分鍾,可(kě)以按需訪問,高(gāo)度優化的服務堆棧可(kě)以确保更快的性能。

Whisper API 可(kě)通(tōng)過轉錄(以源語言轉錄)或翻譯(轉錄成英語)端點使用,并接受多(duō)種格式(m4a、mp3、mp4、mpeg、mpga、wav、webm):

一個(gè)簡單的示例

curl https://api.openai.com/v1/audio/transcriptions \

   -H "Authorization: Bearer $OPENAI_API_KEY" \

   -H "Content-Type: multipart/form-data" \

   -F model="whisper-1" \

   -F file="static/file/openai"

Interface response format //接口響應格式

{

   "text": "想象一下你(nǐ)曾經有(yǒu)過的最瘋狂的想法……"

}

Use in Python

import openai


file = open("static/file/openai", "rb")

transcription = openai.Audio.transcribe("whisper-1", f)


print(transcription)

以上(shàng)隻是一個(gè)簡單的例子,展示了如何使用 Python 通(tōng)過 ChatGPT API 發送請(qǐng)求,您可(kě)以根據需要使用 ChatGPT API 來(lái)完成更複雜的任務。


上海一涵網絡科技有限公司我們是一家(jiā)專注于網站(zhàn)建設、企業營銷、網站(zhàn)關鍵詞排名、AI內(nèi)容生(shēng)成、新媒體(tǐ)營銷和(hé)短(duǎn)視(shì)頻營銷等業務的公司。我們擁有(yǒu)一支優秀的團隊,專門(mén)緻力于為(wèi)客戶提供優質的服務。

我們緻力于為(wèi)客戶提供一站(zhàn)式的互聯網營銷服務,幫助客戶在激烈的市場(chǎng)競争中獲得(de)更大(dà)的優勢和(hé)發展機會(huì)!

點贊(47) 打賞

評論列表 共有(yǒu) 0 條評論

暫無評論
立即
投稿
發表
評論
返回
頂部