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