OpenAI API是OpenAI提供的一种云端服务,允许开发人员使用OpenAI的人工智能模型,以便执行自然语言处理和代码生成等任务。OpenAI API提供了一系列模型,这些模型的能力不同,适合不同的任务,并且还可以对自定义模型进行微调。
下面,我们就让ChatGPT教我们如何调用OpenAI API,以完成文本生成和图像生成的任务。
首先,我们直截了当的询问ChatGPT,然后就会返回详细的操作步骤:
不过给出的示例代码较老,后面会使用官网给出的最新示例代码。
-
访问OpenAI网站并创建一个帐户。
-
在控制台中创建一个API密钥。
-
安装openai库:
openai
库。1pip install openai
完成以上准备工作后,我们就可以使用官网给出的文本生成示例代码测试下是否调用成功:
其中,各个参数的含义如下所示:
-
model
:使用的 OpenAI 模型,此处为 “text-davinci-003″。 -
prompt
:输入自己的文本内容。 -
temperature
:生成文本的随机性,取值范围为 0 到 1,此处设置为 0,即最小随机性。 -
max_tokens
:最大生成令牌数量(令牌通常是单词),此处设置为 100。 -
top_p
:生成文本的精度,取值范围为 0 到 1,此处设置为 1,即最高精度。 -
frequency_penalty
:词频惩罚,取值范围为 0 到 1,此处设置为 0。 -
presence_penalty
:语言模型对提示文本出现过的词语的惩罚,取值范围为 0 到 1,此处设置为 0。 -
stop
:生成文本终止标志。如设置为 [“n”],即当生成文本以换行符结尾时终止生成。
1import openai
2
3openai.api_key = "此处填入自己的秘钥"
4
5response = openai.Completion.create(
6 model="text-davinci-003",
7 prompt="介绍下ChatGPT",
8 temperature=0,
9 max_tokens=100,
10 top_p=1,
11 frequency_penalty=0.0,
12 presence_penalty=0.0,
13 stop=None
14)
15
16print(response)
17print("=======")
18message = response.choices[0].text
19print(message)
返回的结果如下所示(因为上面设置了max_tokens=100
,因此返回的文本不完整,主要还是为了节省额度):
1{
2 "choices": [
3 {
4 "finish_reason": "length",
5 "index": 0,
6 "logprobs": null,
7 "text": "nnChatGPTu662fu4e00u79cdu57fau4e8eGPT-3u6a21u578bu7684u804au5929u673au5668u4ebauff0cu5b83u53efu4ee5u6839u636eu7528u6237u8f93u5165u7684u6587u672cuff0cu81eau52a8u751fu6210u76f8u5e94u7684u56deu590du3002ChatGPTu53efu4ee5u5e2eu52a9u7528u6237"
8 }
9 ],
10 "created": 1676092659,
11 "id": "cmpl-6icYVSZvBr0UDGHYiEw9R098syWBl",
12 "model": "text-davinci-003",
13 "object": "text_completion",
14 "usage": {
15 "completion_tokens": 100,
16 "prompt_tokens": 10,
17 "total_tokens": 110
18 }
19}
20=======
21
22
23ChatGPT是一种基于GPT-3模型的聊天机器人,它可以根据用户输入的文本,自动生成相应的回复。ChatGPT可以帮助用户
也可以调用DALL-E
模型API
,通过文本提示生成图像。
其中,各个参数的含义如下所示:
-
prompt
:文本提示内容。 -
n
:生成的图形数量。可以一次请求 1-10 张图像。 -
size
:生成的图像的大小。可以为 256×256、512×512 或 1024×1024 像素。较小的尺寸生成速度更快。
1import openai
2
3openai.api_key = "此处填入自己的秘钥"
4
5response = openai.Image.create(
6 prompt="A sunlit outdoor lounge area with a pool containing a Robot",
7 n=1,
8 size="512x512"
9)
10
11image_url = response['data'][0]['url']
12print(image_url)
返回的是生成图像的链接,单开即可查看生成图像:
可以看出调用过程还是很简单的。
需要注意的是,调用API是收费的!!!
以上面文本生成模型为例,官网给出的收费标准如下图所示,可以看出,文本生成模型是根据token计费的,另外不同的模型因其能力不同,收费也不一样:
图像生成模型收费标准如下图所示,是根据单张图像尺寸计费的:
具体收费标准可以前往官网查看(https://openai.com/api/pricing/)。
不过在注册账号时,OpenAI会赠送18美元的配额(有使用期限)。
可以前往控制台查看API使用情况:
如果你不差钱,那么调用OpenAI API还是可以尝试的,起码不同每天挤网页了……
要是能基于OpenAI API开发一个可以平衡收支或者盈利的应用,那就更棒了。
END
本篇文章来源于微信公众号: 码农设计师