前言
前段时间OpenAI放出了ChatGPT官方的API,目前的计费模式是按照输入和输出的词(token)数量计算,每个月有一个免费额度,超过后就要付费。
目前的计费模式如下:
token数量 | 价格 |
---|---|
每个月前100k词(token) | 免费 |
每个月100k-500k词(token) | 0.001元/词 |
每个月500k-1M词(token) | 0.0008元/词 |
每个月1M-10M词(token) | 0.0006元/词 |
每个月10M+词(token) | 0.0004元/词 |
这里有关注册OpenAI的内容不再赘述,网上的教程也相当多。
在本篇教程开始之前,您需要先获取OpenAI的API Key,即API的密钥。
API Key在这里获取:https://platform.openai.com/account/api-keys
点击Create new secret key即可新增API Key,复制并保存,注意不要外泄。
代码部分
准备工作
首先,你需要先安装Python,以及安装OpenAI的库
安装OpenAI需要先在命令行窗口执行这个:
pip install openai
Python代码
这个代码是问ChatGPT要的,我只做了一点小的改动
import openai
import os
# 1. 设置OpenAI API密钥
openai.api_key = "换成你的密钥"
# 2. 定义问题
prompt = "你的问题"
# 3. 定义模型、参数和生成长度
model_engine = "text-davinci-002"
temperature = 0.5
max_tokens = 50
# 4. 调用OpenAI API生成答案
response = openai.Completion.create(
engine=model_engine,
prompt=prompt,
temperature=temperature,
max_tokens=max_tokens,
)
# 5. 获取答案
answer = response.choices[0].text.strip()
# 6. 输出答案
print(answer)
详细说明
API参数
上述代码中,第三步所涉及的模型引擎、参数和生成长度对生成的答案具有重要影响。以下是这些参数的详细说明:
- 模型引擎(
Model Engine
):该参数指定用于生成答案的GPT模型的版本。OpenAI API提供了几个预先训练的GPT模型,每个模型针对不同的用例和需求进行优化。例如,"text-davinci-002"是一个高级GPT模型,专为生成自然语言文本而设计,而"davinci-codex"是一个适用于编程的GPT模型。 - 温度(
Temperature
):该参数控制答案生成的多样性。较高的温度会导致更多的随机性和变化性,可能会导致更不准确的答案,而较低的温度则会导致更加保守和可预测的答案。在0到1之间选择一个合适的温度值。 - 最大生成标记数(
Max Tokens
):该参数指定要生成的最大标记数,其中每个标记大约对应一个单词。较高的值会生成更长的答案,但也可能会导致答案不连贯或不相关。建议在20到100之间选择一个值,具体取决于所需的答案长度。
以上这些参数的值取决于具体应用场景和要求,需要根据实际需要进行调整和优化。
OpenAI库的常用库函数
OpenAI API提供了一个Python软件开发工具包(SDK),可以使用Python代码调用API进行自然语言处理任务。该工具包提供了一些有用的变量和函数,以便在代码中使用。
以下是OpenAI库中一些常用的变量和函数:
openai.api_key
:用于设置OpenAI API密钥的全局变量。openai.Completion.create(engine, prompt, temperature, max_tokens)
:用于创建OpenAI API的调用请求。其中,engine参数指定模型引擎,prompt参数指定要生成的文本的前缀,temperature参数指定生成文本的多样性,max_tokens参数指定要生成的文本长度。response.choices[0].text
:用于从OpenAI API响应中提取生成的文本答案。
openai.File.create(file=open('file.txt'), purpose='search'):用于上传文件到OpenAI服务器。其中,file参数指定要上传的文件,purpose参数指定文件的用途(例如,'search'表示用于搜索,'data'表示用于数据训练)。openai.Model.list()
:用于列出可用的OpenAI API模型。openai.Engine.list()
:用于列出可用的OpenAI API引擎。
这些变量和函数是OpenAI库中的一部分,可以帮助您在Python代码中与OpenAI API进行交互,并实现自然语言处理任务。
演示
这里使用了Spyder来执行脚本
因为我需要一个比较简单的回答,所以max_tokens
设置为20。并且因为我是想要得到偏向文本的回答,所以模型引擎选择为text-davinci-002
。
执行结果
懂的读者可能知道,我问的问题是《银河系漫游指南》一书中的一个经典问题:Answer to life, universe and everything
答案当然是42了,这是科幻界比较有名的梗了。
结语
OpenAI开放API是一件大事,应用场景几乎无限多,为ChatGPT带来了许多前景广阔的应用。以下是由ChatGPT自行总结的一些可能受益的领域:
- 客户服务:ChatGPT可以通过自然的、人性化的方式与客户进行对话,以回答其问题、解决其问题和提供支持。这可以帮助企业提高客户满意度和忠诚度,并减少客户流失率。
- 营销和销售:ChatGPT可以通过对话方式与潜在客户进行互动,以提供产品和服务的信息、建议和推荐。这可以帮助企业增加销售和收入,并改善品牌认知度和声誉。
- 教育和培训:ChatGPT可以作为教育和培训领域的虚拟助手,与学生和教师进行互动,并提供个性化的教育和培训方案。这可以帮助学生更好地学习和掌握知识,并提高教育质量和效率。
- 健康护理:ChatGPT可以作为医疗保健领域的虚拟助手,与患者进行互动,并提供健康咨询、诊断和治疗建议。这可以帮助医疗保健机构更好地服务患者,并提高医疗保健质量和效率。
- 娱乐和媒体:ChatGPT可以作为娱乐和媒体领域的虚拟主持人,与观众进行互动,并提供有趣、新颖和有价值的内容和服务。这可以帮助娱乐和媒体企业吸引更多的观众,并提高内容的质量和受众参与度。
需要注意的是,ChatGPT开放API的应用不仅限于以上领域。随着技术的不断发展和创新,还将出现更多新的应用场景和商业模式。
当然,对我而言就是可以应用于丰富创作内容的用途上,比如说本文有部分的内容是由ChatGPT协助完成的,可以大大减少时间成本,更高效地完成内容创作。