ChatGPT(GPT3.5) OpenAI官方API正式发布

2年前未命名211
ChatGPT(GPT3.5) OpenAI官方API正式发布 Coding的叶子 于2023-03-02 08:24:12发布 178 收藏 3 分类专栏: chatgpt python NLP 文章标签: chatgpt gpt-3 人工智能 python chatgpt 同时被 3 个专栏收录 4 篇文章 30 订阅 订阅专栏 python 147 篇文章 39 订阅 订阅专栏 NLP 10 篇文章 1 订阅 订阅专栏

        OpenAI社区今天凌晨4点多发送的邮件,介绍了ChatGPT官方API的发布。官方介绍文档地址为“OpenAI API”和“OpenAI API”。

        ChatGPT(GPT3.5)官方API模型名称为“gpt-3.5-turbo”和“gpt-3.5-turbo-0301”。API调用价格比GPT text-davinci-003模型便宜10倍。调用费用为0.002美元/1000tokens,折合下来差不多0.1元4000~5000字。这个字数包括问题和返回结果字数。

1 API调用方法 1.1 调用参数

        ChatGPT(GPT3.5)官方API调用方式如下所示,与GPT3模型调用基本一致,输入主要有7个参数。预计今天晚上,这两个模型会集成到RdFast智能创作机器人小程序和RdChat桌面程序。大家可以随时体验一下,敬请关注。

model:模型名称,gpt-3.5-turbo或gpt-3.5-turbo-0301messages:问题或待补全内容,下面重点介绍。temperature:控制结果随机性,0.0表示结果固定,随机性大可以设置为0.9。max_tokens:最大返回字数(包括问题和答案),通常汉字占两个token。假设设置成100,如果prompt问题中有40个汉字,那么返回结果中最多包括10个汉字。ChatGPT API允许的最大token数量为4096,即max_tokens最大设置为4096减去问题的token数量。top_p:设置为1即可。6frequency_penalty:设置为0即可。presence_penalty:设置为0即可。stream。

        需要注意,上述输入参数增加stream,即是否采用控制流的方式输出。

        如果stream取值为False,那么返回结果与第1节GPT3接口一致,完全返回全部文字结果,可通过response["choices"][0]["text"]进行读取。但是,字数越多,等待返回时间越长,时间可参考控制流读出时的4字/每秒。

        如果steam取值为True时,那么返回结果是一个Python generator,需要通过迭代获取结果,平均大约每秒钟4个字(33秒134字,39秒157字),读取程序如下所示。可以看到,读取结果的结束字段为“<|im_end|>”。

1.2 messages

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

2 参考程序

        示例参考程序如下所示:

# -*- coding: utf-8 -*- """ Created on Wed Dec 21 21:58:59 2022 @author: Administrator """ 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) 3 API调用效果

标签: [db:标签TAG]

相关文章

码农饭碗不保——ChatGPT正在取代Coder

码农饭碗不保——ChatGPT正在取代Coder...

学Qt想系统的学习,看哪本书?

学Qt想系统的学习,看哪本书?...

C++这么难,为什么我们还要学习C++?

C++这么难,为什么我们还要学习C++?...

MATLAB 线性整数规划

MATLAB 线性整数规划...

SpringBoot高级配置:临时属性、配置文件、日志、多环境配置

SpringBoot高级配置:临时属性、配置文件、日志、多环境配置...

ChatGPT来了,英语不能丢,但我不想上班

ChatGPT来了,英语不能丢,但我不想上班...