前言

前段时间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,复制并保存,注意不要外泄。
secret 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协助完成的,可以大大减少时间成本,更高效地完成内容创作。

Last modification:March 7, 2023
如果觉得我的文章对你有用,请随意赞赏