连云港市建设工程安全监督站网站,请牢记此域名,网站内搜索,开发公司取名字大全GPT3.5接口调用方法主要包括openai安装、api_requestor.py替换、接口调用、示例程序说明四个部分。
1 openai安装 Python openai库可直接通过pip install openai安装。如果已经安装openai#xff0c;但是后续提示找不到ChatCompletion#xff0c;那么请使用命令“pip instal… GPT3.5接口调用方法主要包括openai安装、api_requestor.py替换、接口调用、示例程序说明四个部分。
1 openai安装 Python openai库可直接通过pip install openai安装。如果已经安装openai但是后续提示找不到ChatCompletion那么请使用命令“pip install -U openai”来升级openai。
2 api_requestor.py替换 Python openai安装完成之后会产生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.py
Linux
/root/miniconda3/lib/pythonxx/site-packages/openaiapi_requestor.py
或
/root/miniconda3/envs/xxx/lib/pythonxx/site-packages/openaiapi_requestor.py
将该文件进行替换在公众号乐乐感知学堂中回复api35即可获得用来替换的文件。
3 接口调用说明 接口调用方式不变与openai自身调用方式一致。输入主要有7个参数。 1model模型名称gpt-3.5-turbo或gpt-3.5-turbo-0301 2messages问题或待补全内容下面重点介绍。 3temperature控制结果随机性0.0表示结果固定随机性大可以设置为0.9。 4max_tokens最大返回字数包括问题和答案通常汉字占两个token。假设设置成100如果prompt问题中有40个汉字那么返回结果中最多包括10个汉字。ChatGPT API允许的最大token数量为4096即max_tokens最大设置为4096减去问题的token数量。 5top_p设置为1即可。 6frequency_penalty设置为0即可。 7presence_penalty设置为0即可。 8stream控制连续输出或完整输出。 需要注意上述输入参数增加stream即是否采用控制流的方式输出。 如果stream取值为False那么完全返回全部文字结果可通过response.choices[0].delta[content]进行读取。但是字数越多等待返回时间越长时间可参考控制流读出时的4字/每秒。如果steam取值为True时那么返回结果是一个Python generator需要通过迭代获取结果平均大约每秒钟4个字33秒134字39秒157字。读取程序如下所示.
4 message messages字段组成部分包括角色role和content问题两个部分组成如下所示 modelgpt-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?}] 在gpt-3.5-turbo模型中角色role包含system系统、assistant助手和用户user三种类型。System角色相当于告诉ChatGPT具体以何种角色回答问题需要在content中指明具体的角色和问题内容。而gpt-3.5-turbo-0301主要区别在于更加关注问题内容而不会特别关注具体的角色部分。gpt-3.5-turbo-0301模型有效期到6月1日而gpt-3.5-turbo会持续更新。 assistant助手和用户user则相当于已经指明了角色content直接写入关注的问题即可。
5 示例程序 1stream False
import openaidef openai_reply(content, apikey):openai.api_key apikeyresponse openai.ChatCompletion.create(modelgpt-3.5-turbo-0301,#gpt-3.5-turbo-0301messages[{role: user, content: content}],temperature0.5,max_tokens1000,top_p1,frequency_penalty0,presence_penalty0,)# print(response)return response.choices[0].message.contentif __name__ __main__:content 你是谁ans openai_reply(content, 你的APIKEY)print(ans) 2stream True
import time
import openaiopenai.api_key 你的APIKEY
response openai.ChatCompletion.create(modelgpt-3.5-turbo,messages[{role: user, content: how are you}],temperature0,max_tokens1000,streamTrue,top_p1,frequency_penalty0,presence_penalty0,userRdFast智能创作机器人小程序
)print(response)
print(response[choices][0][text]结果如下所示)
ans
for r in response:if content in r.choices[0].delta:ans r.choices[0].delta[content]print(ans)print(ans) 3 API调用效果