Python调用GPT3.5接口的最新方法实例详解

 更新时间:2023年03月27日 15:20:35   作者:Coding的叶子  
这篇文章主要介绍了Python调用GPT3.5接口的最新方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

        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个参数。

        (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字)。读取程序如下所示.

4 message

        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直接写入关注的问题即可。

5 示例程序

          (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调用GPT3.5接口的最新方法的文章就介绍到这了,更多相关Python调用GPT3.5接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python利用命名空间解析XML文档

    Python利用命名空间解析XML文档

    这篇文章主要介绍了Python利用命名空间解析XML文档,帮助大家更好的理解和学习Python,感兴趣的朋友可以了解下
    2020-08-08
  • python中的httpx异步请求

    python中的httpx异步请求

    这篇文章主要介绍了python中的httpx异步请求方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-06-06
  • python使用requests模块实现爬取电影天堂最新电影信息

    python使用requests模块实现爬取电影天堂最新电影信息

    这篇文章主要介绍了python使用requests模块实现爬取电影天堂最新电影信息,本文通过实例代码给大家介绍了str/list/tuple三者之间怎么相互转换,需要的朋友可以参考下
    2019-04-04
  • Python timeit模块原理及使用方法

    Python timeit模块原理及使用方法

    这篇文章主要介绍了Python timeit模块原理及使用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-10-10
  • pandas读取HTML和JSON数据的实现示例

    pandas读取HTML和JSON数据的实现示例

    Pandas可以直接读取html和JSON数据,本文就来介绍一下pandas读取HTML和JSON数据的实现示例,文中通过示例代码介绍的非常详细,感兴趣的可以了解一下
    2024-01-01
  • python深度学习借助多标签分类器进行对抗训练

    python深度学习借助多标签分类器进行对抗训练

    这篇文章主要为大家介绍了python深度学习中如何借助多标签分类器进行对抗训练,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步
    2022-01-01
  • Python 调用 C++ 传递numpy 数据详情

    Python 调用 C++ 传递numpy 数据详情

    这篇文章主要介绍了Python 调用 C++ 传递numpy 数据详情,文章主要分为两部分,c++代码和python代码,代码分享详细,需要的小伙伴可以参考一下,希望对你有所帮助
    2022-03-03
  • python pandas合并Sheet,处理列乱序和出现Unnamed列的解决

    python pandas合并Sheet,处理列乱序和出现Unnamed列的解决

    这篇文章主要介绍了python pandas合并Sheet,处理列乱序和出现Unnamed列的解决方案,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Python实现制作销售数据可视化看板详解

    Python实现制作销售数据可视化看板详解

    在数据时代,销售数据分析的重要性已无需赘言。只有对销售数据的准确分析我们才有可能找准数据变动的原因。本文将介绍用Python制作销售数据大屏的方法。感兴趣的可以关注一下
    2021-11-11
  • 基于Python实现一个图片压缩工具

    基于Python实现一个图片压缩工具

    图片压缩是在保持图像质量的同时减小图像文件大小的过程,本文将学习如何使用Python来实现一个简单但功能强大的图片压缩工具,以及如何在不同情境下进行图片压缩,希望对大家有所帮助
    2024-01-01

最新评论