公司網(wǎng)站建設(shè)有什么好處2345網(wǎng)址導(dǎo)航下載
?????????今天上午,就在工作群里收到了關(guān)于openAI發(fā)布chatGPT官方模型的消息分享。openAI這次的動(dòng)作真的很快啊,沒想到這么快就直接發(fā)布了chatGPT目前所使用的模型api。據(jù)Open AI在官方消息,本次開放了ChatGPT和Whisper的模型API,可以供用戶使用并集成到他們的應(yīng)用程序之中。本次發(fā)布的chatGPT的模型為[GPT-3.5-turbo],從openAI的官方網(wǎng)站上查詢,已經(jīng)可以查到這個(gè)模型的使用示例。本次發(fā)布的模型,能力上和目前我們用到的chatGPT是一模一樣的,比之前開放的模型能力要強(qiáng)很多,同時(shí)在價(jià)格上還要更低,價(jià)格為0.002美元/每1000tokens ,比 之前的模型整整便宜了10倍!又好又便宜的典范!!
????????廢話少說,本文就簡(jiǎn)單的講講如何使用最新的[GPT-3.5-turbo]模型吧。
????????從openAI官方文檔里查閱了一下示例代碼,官方提供了Python的示例代碼,我們可以從中提取到所需要發(fā)送的報(bào)文內(nèi)容。
# Note: you need to be using OpenAI Python v0.27.0 for the code below to work
import openaiopenai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role": "system", "content": "You are a helpful assistant."},{"role": "user", "content": "Who won the world series in 2020?"},{"role": "assistant", "content": "The Los Angeles Dodgers won the World Series in 2020."},{"role": "user", "content": "Where was it played?"}]
)
Python示例代碼
????????可以發(fā)現(xiàn),GPT-3.5-turbo的api需要發(fā)送的報(bào)文主體有"model"以及"messages"兩個(gè)部分,其中messages可以發(fā)送多條記錄。在message示例文本里,有三種角色,通過實(shí)測(cè),這三種角色分別代表:
????????①system:可以理解為AI的人設(shè)
????????②user:用戶發(fā)送的信息
????????③assistant:模型返回給你的信息
????????這樣,我們就知道通過上述信息,知道http需要發(fā)送的報(bào)文格式了(Json):
{"model":"gpt-3.5-turbo","messages":[{"role": "system", "content": "你是一個(gè)編程助手,能夠幫我編寫C#代碼,并且給我提示"},{"role": "user", "content": "你好,你叫什么名字"},{"role": "assistant", "content": "你好,我是一個(gè)語言模型AI,沒有實(shí)體名字,你可以隨意稱呼我。"}]
}
發(fā)送的報(bào)文格式樣例
接口的訪服務(wù)地址是什么呢?我問了下chatGPT,給我的答案是:
https://api.openai.com/v1/chat/completions
Header信息:
①ContentType:application/json
②Authorization:Bearer 你的apikey
????????使用api調(diào)試助手實(shí)測(cè)一下,在Header里寫入你的api key;raw信息選擇json,根據(jù)你的需要發(fā)送Json報(bào)文,openAI返回的數(shù)據(jù)格式如下所示:
{"id": "chatcmpl-6pWU3qzNuTBLU7U0tUw6NqaQhWbHF","object": "chat.completion","created": 1677737615,"model": "gpt-3.5-turbo-0301","usage": {"prompt_tokens": 39,"completion_tokens": 35,"total_tokens": 74},"choices": [{"message": {"role": "assistant","content": "您好,我是個(gè)AI助手,沒有具體的名字。您需要我?guī)椭幚韏son文件格式嗎?"},"finish_reason": "stop","index": 0}]
}
接口返回的報(bào)文格式
????????拿到接口返回的Json數(shù)據(jù),根據(jù)自己的需要解析就可以了,這里"content"里的文本就是接口返回給你的回答了。
????????注意:有一點(diǎn)要注意,觀察發(fā)送的報(bào)文格式,可以發(fā)現(xiàn),接口是希望我們把每次提問和接口返回的信息都放在報(bào)文里的,這樣做可以讓模型聯(lián)系上下文,所以在自己編寫代碼的時(shí)候,記得把提問記錄并更新到發(fā)送的報(bào)文主體里。