发人员现在可以通过我 API 将 ChatGPT 和 Whisper 模型集成到他们的应用程序和产品中。
在之前的 API 版本中使用的是 text-davinci-003 版本的模型,该模型不具有上下文对话功能,而且生成内容比 ChatGPT 要差不少,所以社区也出现了很多包装网页版 ChatGPT 来提供服务的项目,但是稳定性都不太好,因为要依赖网页。现在官方正式对外发布了 ChatGPT 版本的 API,这对于开发者来说是一个天大的好消息,当然对于 OpenAI 甚至整个行业来说都是意义非凡的,在接下来的一段时间里势必会出现一大批优秀的 AI 应用。
最新对外发布的 API 是由 gpt-3.5-turbor 驱动的,这是 OpenAI 最先进的语言模型了,通过该 API 可以来做很多事情了。
- 写一封电子邮件或者其他文章
- 编写 Python 代码
- 回答关于一组文件的问题
- 给你的软件一个自然语言界面
- 语言翻译
- 模拟视频游戏的角色等等
新的聊天模型需要将一系列的消息作为输入,这样就可以具有上下文对话的功能了,当然也可以进行单轮任务,和之前一样的。
要实现新的 API 需要 v0.27.0 版本的 Python 包:
pip3 install openai==v0.27.0
然后就可以直接使用 openai 包来和 openai 进行交互了:
import openai openai.api_key = "sk-xxxx" response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你是一个AI机器人助手。"}, {"role": "user", "content": "哪个队将赢得2023年NBA总冠军?"}, ] )
最主要的一个输入参数是 messages,这是一个消息对象数组,其中每个对象都包含一个角色(system、user、assitstant)和消息内容,整个对话可以是一条消息,也可以是多条。
通常情况下,对话的格式是先有一个 system 的系统消息,系统消息有助于设置助手的行为。用户消息就是我们应用程序的终端用户产生的,也就是我们要咨询的问题。助手消息就是 openai 反馈给我们的数据,当然也可以由开发者自行编写。
当我们将上一次的助手消息一起回复的时候就会具有上下文关联的能力了。
import openai openai.api_key = "sk-xxxx" response = openai.ChatCompletion.create( model="gpt-3.5-turbo", messages=[ {"role": "system", "content": "你是一个AI机器人助手。"}, {"role": "user", "content": "哪个队将赢得2023年NBA总冠军?"}, {"role": "assistant", "content": "湖人队将获得总冠军!"}, {"role": "user", "content": "谁会当选FMVP?"} ] ) result = '' for choice in response.choices: result += choice.message.content print(result)
比如我们这里加入了前面的消息,最后可以得到上下文关联的消息:
由于预测这种事情实际上是很难的,因为许多因素都可能影响到这个决定,所以作出最准确的预测很难。但是,湖人队有很多球员都有机会获得FMVP奖项,像勒布朗·詹姆斯、安东尼·戴维斯、凯尔·库兹马等都有可能成为FMVP。