多平台统一管理软件接口,如何实现多平台统一管理软件接口
439
2024-02-03
本文讲解"Python如何调用GPT3.5接口",希望能够解决相关问题。
GPT3.5接口调用方法主要包括openai安装、api_requestor.py替换、接口调用、示例程序说明四个部分。
Python openai库可直接通过pip install openai安装。如果已经安装openai,但是后续提示找不到ChatCompletion,那么请使用命令“pip install -U openai”来升级openai。
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即可获得用来替换的文件。接口调用方式不变,与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个汉字。ChatGPT API允许的最大token数量为4096,即max_tokens最大设置为4096减去问题的token数量。
(5)top_p:设置为1即可。
(6)frequency_penalty:设置为0即可。
(7)presence_penalty:设置为0即可。
(8)stream:控制连续输出或完整输出。
需要注意,上述输入参数增加stream,即是否采用控制流的方式输出。
如果stream取值为False,那么完全返回全部文字结果,可通过response.choices[0].delta[content]进行读取。但是,字数越多,等待返回时间越长,时间可参考控制流读出时的4字/每秒。如果steam取值为True时,那么返回结果是一个Python generator,需要通过迭代获取结果,平均大约每秒钟4个字(33秒134字,39秒157字)。读取程序如下所示.
messages字段组成部分包括角色role和content问题两个部分组成,如下所示:
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?"} ]在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直接写入关注的问题即可。
(1)stream = False
import openai def openai_reply(content, apikey): openai.api_key = apikey response = openai.ChatCompletion.create( model="gpt-3.5-turbo-0301",#gpt-3.5-turbo-0301 messages=[ {"role": "user", "content": content} ], temperature=0.5, max_tokens=1000, top_p=1, frequency_penalty=0, presence_penalty=0, ) # print(response) return response.choices[0].message.content if __name__ == __main__: content = 你是谁? ans = openai_reply(content, 你的APIKEY) print(ans)(2)stream = True
import time import openai openai.api_key = "你的APIKEY" response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "user", "content": how are you} ], 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 = for r in response: if content in r.choices[0].delta: ans += r.choices[0].delta[content] print(ans) print(ans)3 API调用效果
Python jpg转png并调整大小很简单的小程序,可以直接将本文件夹下所有 .jpg 转为 .png 格式,并自定义大小。依赖需要安装 pillow 库:pip install ...
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~