OpenAI官方发布ChatGPTAPI接口gptturbo
上期图文教程,我们介绍了ChatGPT的注册使用过程,并且介绍了GPT3代API接口的开发代码实现过程,由于ChatGPT一直使用的是ChatGPT3。5代接口,且我们在官网上面使用的也是ChatGPT3。5代接口,大家对3。5代接口都十分认同,上期介绍的ChatGPT3代API虽然可以实现问答对话,但是大家希望是否可以使用官方的接口来实现强大的ChatGPT功能。关于如何注册,如何获取APIkey,上期图文我们也进行了详细的分享。
本期,我们介绍一下openai刚刚公布的ChatGPT的API接口gpt3。5turbo。首先其gpt3。5turbo接口API是官方刚刚发布的gpt3。5turboAPI接口,针对第三代接口进行了速度与精度方面的优化,其官方也是建议开发者使用gpt3。5turboAPI接口,且价格是3代API接口的十分之一的价格。我们首先介绍一下openai发布的gpt3。5turboAPI如何使用requests库进行调用。
importrequestsYourOpenAIAPIKeyapikeyYOURKEYSThetextpromptyouwanttogeneratearesponseinputpromptinput(输入需要跟chatAI的聊天内容:)promptinputpromptTheURLforOpenAIsAPIurlhttps:api。openai。comv1chatcompletionsTheheadersfortheAPIrequestheaders{ContentType:applicationjson,Authorization:fBearer{apikey}}data{model:gpt3。5turbo,messages:〔{role:user,content:prompt}〕,maxtokens:800,temperature:0。5,frequencypenalty:0,presencepenalty:0}MaketheAPIrequestresponserequests。post(url,headersheaders,jsondata)Checkiftherequestwassuccessfulifresponse。statuscode200:Extractthegeneratedtextfromtheresponsegeneratedtextresponse。json()〔choices〕〔0〕〔message〕〔content〕print(generatedtext)else:Handletheerrorprint(fRequestfailedwithstatuscode额{response。statuscode})
首先,跟往期教程类似,我们需要使用requests库,并需要官方账号的apikey。然后就可以输入需要的问题了。当然gpt3。5turbo的API接口地址如下:urlhttps:api。openai。comv1chatcompletions
我们可以使用往期的代码,把需要的问题post到上面的API接口接口。这里需要注意的是gpt3。5turbo的API接口使用的不再是prompt,而是messages参数,且参数格式如下:messages〔{role:system,content:Youareahelpfulassistant。},{role:user,content:Whowontheworldseriesin2020?},{role:assistant,content:TheLosAngelesDodgerswontheWorldSeriesin2020。},{role:user,content:Wherewasitplayed?}〕
在messages参数里面,我们需要指定role角色与content我们的问题,然后其他参数跟3代API接口一致。
{id:chatcmpl6p9XYPYSTTRi0xEviKjjilqrWU2Ve,object:chat。completion,created:1677649420,model:gpt3。5turbo,usage:{prompttokens:56,completiontokens:31,totaltokens:87},choices:〔{message:{role:assistant,content:The2020WorldSerieswasplayedinArlington,TexasattheGlobeLifeField,whichwasthenewhomestadiumfortheTexasRangers。},finishreason:stop,index:0}〕}
当然,最后的返回参数也有稍微的区别,我们需要使用如下代码获取返回的参数。response。json()〔choices〕〔0〕〔message〕〔content〕
当然,除了以上直接调用API接口外,openAI也开发了自己的第三方库importopenaiopenai。apikeyskkeyswhileTrue:promptinput(Q:)ifpromptquit:breakelse:resopenai。ChatCompletion。create(modelgpt3。5turbo,messages〔{role:user,content:prompt}〕,temperature0。5,maxtokens500,frequencypenalty0,presencepenalty0)print(GPT3。5OpenAI)print(res〔choices〕〔0〕〔message〕〔content〕)
首先需要我们安装openai的第三方库,这里最好自己的python版本大于3。9,安装完成后,我们便可以使用openai库进行chatGPT的调用工作了。
第二行代码,我们需要提供上一个步骤的apikey
然后,我们直接使用openai。ChatCompletion。create函数就可以调用chatGPT了。
同样的道理,我们需要修改一下里面的参数,一个是model参数,另外一个是messages参数。modelgpt3。5turbo,messages〔{role:user,content:prompt}〕,
以上,便是我们介绍的ChatGPT官方API接口gpt3。5turbo,当然openAI除了ChatGPT这样的NLP领域任务外,还有类似DALLE的AI绘画模型,且官方开源的whisper,可以识别99种语音的识别系统,不仅可以语音转文字,还可以自动翻译等。