文章目录
- ⭐ python 安装 OpenAI library
- ⭐ 创建 openai.py 进行测试
- ⭐ openai.Completion.create() 方法的小拓展
该章节我们呢来学习一下 OpenAI-Library 的使用,OpenAI-Library 是 OpenAI 官方给我们提供的各种开发语言的库,供我们使用。在前面的章节中,我们演示的 “Demo-宠物名字生成器” 这个案例就是 nodejs 来调用的OpenAI 的 API。接下来,我们再看一下 Python 语言的 Library。
⭐ python 安装 OpenAI library
如果电脑里没有 Python环境,需要去官网下载安装 Python,网址:https://www.python.org/ ,具体可参考 〖Python零基础入门篇①〗- Python编程环境搭建-Python3解释器安装。
Python 安装完成之后,记得验证一下 Python 和 pip 是否安装成功。
使用 pip 安装 openai library:执行命令 pip install openai
⭐ 创建 openai.py 进行测试
接下来我们创建一个 Python 文件,编写测试代码,用于测试 openai。
代码示例如下:
#!/usr/bin/python3
# coding:utf-8
#
# Copyright (C) 2023 - 2023 Husky, Inc. All Rights Reserved
import openai # 导入 openai
OpenAI_Key = "sk-m2EP13QY26zdaPyXlN4RT3BlbkFJfGxp5G6fg23e7f6xF**k" # 将 OpenAI API_Key 赋值给变量
openai.api_key = OpenAI_Key
response = openai.Completion.create( # 调用 openai.Completion.create() 函数,传入相关的参数,创建一个 OpenAI Completion 实例。
model="text-davinci-003", # 调用 "text-davinci-003" 模型
prompt="Say this is a test", # 传入提示为 "Say this is a test"
temperature=0, # 控制生成文本的多样性,值越高生成的文本越多样,默认值为 0.5。
max_tokens=7 # 生成文本的最大长度,以 token 数量为单位,默认值为 60。
)
print(response) # 输出生成的文本
运行该脚本,查看 OpenAI 给我们返回的结果:
{
"choices": [
{
"finish_reason": "length",
"index": 0,
"logprobs": null,
"text": "\n\nThis is indeed a test"
}
],
"created": 1682588117,
"id": "cmpl-79sJxEVuBv4Weh4YQboxDQYXnTImw",
"model": "text-davinci-003",
"object": "text_completion",
"usage": {
"completion_tokens": 7,
"prompt_tokens": 5,
"total_tokens": 12
}
}
在返回的 “choices” 中最重要的就是 “text” ,因为这个字段返回的是我们想要的返回结果。
上面的 "choices" 我们可以看到返回的是 "\n\nThis is indeed a test" ,因为我们设置的
max_tokens=7 ,也就说最大的返回 tokens 长度为 7,"This is indeed a test" 的长度是 5 ,所以这里有两个 "\n" 进行补位。
“usage” 是对我们使用用量的一个统计:“completion_tokens” – 完成的tokens长度是7;“prompt_tokens” – 提示的tokens长度是5;“total_tokens” – 总计的tokens长度是12。
以上就是基于 Python 实现的一个 OpenAI library 的简单实例。
⭐ openai.Completion.create() 方法的小拓展
openai.Completion.create()
方法用于生成对话文本、语言翻译、摘要、问题回答等自然语言处理任务的结果。
它的参数包括:这些参数可以根据具体任务的需求进行调整。
engine
:指定要使用的模型引擎,例如davinci
、curie
等。prompt
:包含输入文本的字符串,用于指定任务的输入。temperature
:控制生成文本的多样性,值越高生成的文本越多样,值越低生成的文本越保守,默认值为0.5
。max_tokens
:生成文本的最大长度,以 token 数量为单位,默认值为60
。top_p
:控制生成文本的多样性,通过筛选概率大于给定阈值的 token 来控制,值越高生成的文本越多样,值越低生成的文本越保守,默认值为1.0
。frequency_penalty
:控制生成文本中重复 token 的惩罚程度,值越高表示越不允许生成重复 token,默认值为0.0
。presence_penalty
:控制生成文本中与输入文本相似的 token 的惩罚程度,值越高表示越不允许生成与输入文本相似的 token,默认值为0.0
。stop
:指定生成文本的终止字符,可以是字符串或字符串列表,生成文本中出现这些字符时停止生成。n
:指定要生成的文本数量,默认值为1
。stream
:是否启用流式 API,默认为False
。
文章出处登录后可见!