GPT3.5接口调用方法主要包括openai安装、api_requestor.py替换、接口调用、示例程序说明四个部分。
Pythonopenai库可直接通过pipinstallopenai安装。如果已经安装openai,但是后续提示找不到ChatCompletion,那么请使用命令“pipinstall-Uopenai”来升级openai。
Pythonopenai安装完成之后,会产生api_requestor.py文件,文件位于python环境库文件目录下“site-packages\openai\api_requestor.py”,如下所示。将该文件进行替换,在公众号乐乐感知学堂中回复api35即可获得用来替换的文件。
Windows:C:\ProgramData\Anaconda3\Lib\site-packages\openai\api_requestor.py或C:\ProgramData\Anaconda3\envs\xxx\lib\site-packages\openai\api_requestor.pyLinux:/root/miniconda3/lib/pythonxx/site-packages/openaiapi_requestor.py或/root/miniconda3/envs/xxx/lib/pythonxx/site-packages/openaiapi_requestor.py将该文件进行替换,在公众号乐乐感知学堂中回复api35即可获得用来替换的文件。
接口调用方式不变,与openai自身调用方式一致。输入主要有7个参数。
(1)model:模型名称,gpt-3.5-turbo或gpt-3.5-turbo-0301
(2)messages:问题或待补全内容,下面重点介绍。
(3)temperature:控制结果随机性,0.0表示结果固定,随机性大可以设置为0.9。
(4)max_tokens:最大返回字数(包括问题和答案),通常汉字占两个token。假设设置成100,如果prompt问题中有40个汉字,那么返回结果中最多包括10个汉字。ChatGPTAPI允许的最大token数量为4096,即max_tokens最大设置为4096减去问题的token数量。
(5)top_p:设置为1即可。
(6)frequency_penalty:设置为0即可。
(7)presence_penalty:设置为0即可。
(8)stream:控制连续输出或完整输出。
需要注意,上述输入参数增加stream,即是否采用控制流的方式输出。
messages字段组成部分包括角色role和content问题两个部分组成,如下所示:
(1)stream=False
importopenaidefopenai_reply(content,apikey):openai.api_key=apikeyresponse=openai.ChatCompletion.create(model="gpt-3.5-turbo-0301",#gpt-3.5-turbo-0301messages=[{"role":"user","content":content}],temperature=0.5,max_tokens=1000,top_p=1,frequency_penalty=0,presence_penalty=0,)#print(response)returnresponse.choices[0].message.contentif__name__=='__main__':content='你是谁?'ans=openai_reply(content,'你的APIKEY')print(ans)(2)stream=True
importtimeimportopenaiopenai.api_key="你的APIKEY"response=openai.ChatCompletion.create(model="gpt-3.5-turbo",messages=[{"role":"user","content":'howareyou'}],temperature=0,max_tokens=1000,stream=True,top_p=1,frequency_penalty=0,presence_penalty=0,user='RdFast智能创作机器人小程序')print(response)print('response["choices"][0]["text"]结果如下所示:')ans=''forrinresponse:if'content'inr.choices[0].delta:ans+=r.choices[0].delta['content']print(ans)print(ans)