openai/openai-python: The official Python library for the OpenAI API(openai库 api_key)

一、OpenAI库的安装和配置

A. 安装openai库

  1. 使用pip命令进行安装openai库
  2. 验证会不会安装成功
B. 获得API Key

  1. 登录OpenAI账户并进入用户主页
  2. 找到“APIs”页面并点击申请API Key按钮
  3. 填写申请信息并提交申请
  4. 等待OpenAI团队审核并获得API Key

二、在代码中使用OpenAI API Key

A. 导入openai库
B. 设置API Key

  1. 通过系统变量获得API Key
  2. 手动设置API Key
C. 使用API Key调用OpenAI API

  1. 连接到OpenAI API
  2. 调用API进行相应的操作

三、使用OpenAI库和API Key的示例

A. 示例1:文本生成

  1. 使用openai.Completion.create()函数进行文本生成
  2. 指定生成的相关参数,如模型、输入文本、生成长度等
B. 示例2:对话系统

  1. 使用openai.ChatCompletion.create()函数进行对话生成
  2. 设置对话的历史记录和用户输入,获得系统的回复

四、注意事项和常见问题

A. 确保API Key的安全性

  1. 不要将API Key明文写在代码中
  2. 使用环境变量或其他安全方式存储API Key
B. 处理API调用的返回结果

  1. 返回结果的数据结构和字段含义
  2. 毛病处理和异常情况的处理

五、总结

对OpenAI库的安装和API Key的使用方法进行了详细介绍,包括安装openai库、获得API Key、在代码中设置API Key、调用OpenAI API的示例和注意事项和常见问题的处理。通过掌握这些内容,您可以畅享无穷创意并充分发挥OpenAI库的功能。

openai库 api_key的进一步展开说明

OpenAI Python库

OpenAI Python库提供了一个方便的方式,使得编写Python语言的利用程序可以方便地访问OpenAI API。它包括一组预定义的API资源类,这些类可以从API响应中动态地初始化自己,这使得它与各种版本的OpenAI API兼容。

您可以在我们的API参考和OpenAI Cookbook中找到OpenAI Python库的用法示例。

安装

首先,请确保您安装了Python 3.7.1或更新版本。如果您只想使用该包,请运行以下命令:

pip install --upgrade openai

安装完包以后,在文件的顶部导入它:

import openai

要从源代码安装此包以进行修改,请从存储库的根目录运行以下命令:

python setup.py install

可选依赖

安装openai.embeddings_utils的依赖:

pip install openai[embeddings]

安装Weights & Biases的支持:

pip install openai[wandb]

默许情况下不会安装numpy和pandas等数据库,由于它们的大小较大。这些库对此库的某些功能是一定要的,但通常不需要用于与API通讯。如果遇到MissingDependencyError,请使用以下命令安装它们:

pip install openai[datalib]

用法

在使用库之前,需要将其配置为您帐户的秘密密钥,该秘密密钥在网站上可用。可以在使用库之前将其设置为OPENAI_API_KEY环境变量:

export OPENAI_API_KEY='sk-...'

或将openai.api_key设置为其值:

openai.api_key = "sk-..."

在OpenAI Cookbook中可以找到怎样使用此库来完成各种任务的示例。它包括了用于:使用微调进行分类、聚类、代码搜索、自定义嵌入、从文档语料库中进行问答、推荐、可视化嵌入等的代码示例。

大多数终端都支持request_timeout参数。此参数接受Union[float, Tuple[float, float]]类型的值,如果要求超时时间超过指定的秒数,将引发openai.error.Timeout毛病 (详见:https://requests.readthedocs.io/en/latest/user/quickstart/#timeouts)。

聊天完成

使用聊天完成终端可以调用聊天模型,如gpt⑶.5-turbo和gpt⑷。

completion = openai.ChatCompletion.create(model="gpt⑶.5-turbo", messages=[{"role":"user", "content":"Hello world"}])
print(completion.choices[0].message.content)

您可以在我们的聊天完成指南中了解更多信息。

完成

使用文本模型,如babbage-002或davinci-002(和我们的传统的完成模型),可使用完成终端进行调用。

completion = openai.Completion.create(model="davinci-002", prompt="Hello world")
print(completion.choices[0].text)

您可以在我们的完成指南中了解更多信息。

嵌入

嵌入是用于丈量文本字符串之间的类似性或相关性的工具。要获得文本字符串的嵌入,可使用以下代码:

text_string = "sample text"
model_id = "text-embedding-ada-002"
embedding = openai.Embedding.create(input=text_string, model=model_id)['data'][0]['embedding']

您可以在我们的嵌入指南中了解更多信息。

模型微调

在训练数据上微调模型可以改良模型结果(通过给模型提供更多的学习示例)并下降API调用的本钱/延迟,由于无需在提示中包括训练示例。

# 使用已上传的文件创建微调作业
openai.FineTuningJob.create(training_file="file-abc123", model="gpt⑶.5-turbo")

# 列出 10 个微调作业
openai.FineTuningJob.list(limit=10)

# 检索微调状态
openai.FineTuningJob.retrieve("ft-abc123")

# 取消作业
openai.FineTuningJob.cancel("ft-abc123")

# 列出微调作业的最多 10 个事件
openai.FineTuningJob.list_events(id="ft-abc123", limit=10)

# 删除微调的模型(一定要是创建模型所属组织的所有者)
openai.Model.delete("ft:gpt⑶.5-turbo:acemeco:suffix:abc123")

您可以在我们的微调指南中了解更多信息。

要将微调的训练结果记录到Weights & Biases,请使用:

openai wandb sync

有关更多信息,请浏览Weights & Biases的wandb文档。

内容审核

OpenAI提供了一个不要钱的内容审核终端,可以用来检查内容会不会符合OpenAI的内容政策。

moderation_resp = openai.Moderation.create(input="Here is some perfectly innocuous text that follows all OpenAI content policies.")

您可以在我们的内容审核指南中了解更多信息。

图象生成(DALL·E)

DALL·E是一个生成图象的模型,可以根据提示创建新的图象。

image_resp = openai.Image.create(prompt="two dogs playing chess, oil painting", n=4, size="512x512")

您可以在我们的图象生成指南中了解更多信息。

语音(Whisper)

语音到文本API基于我们最早进的开源大型v2 Whisper模型,提供了两个终端:转录和翻译。

f = open("path/to/file.mp3", "rb")
transcript = openai.Audio.transcribe("whisper⑴", f)
transcript = openai.Audio.translate("whisper⑴", f)

您可以在我们的语音到文本指南中了解更多信息。

异步API

在API中,通过在网络相关的方法前添加async来实现异步支持:

async def create_chat_completion():
    chat_completion_resp = await openai.ChatCompletion.acreate(model="gpt⑶.5-turbo", messages=[{"role":"user", "content":"Hello world"}])

为了使异步要求更加高效,您可以传递自己的aiohttp.ClientSession,但一定要在程序/事件循环结束时手动关闭客户端会话:

from aiohttp import ClientSession
openai.aiosession.set(ClientSession())
# 在程序结束时,关闭http会话
await openai.aiosession.get().close()

命令行界面

该库还提供了一个命令行实用程序openai,可以轻松地从终端与API进行交互。运行openai api -h以获得用法。

# 列出模型
openai api models.list

# 创建一个聊天完成(gpt⑶.5-turbo、gpt⑷等)
openai api chat_completions.create -m gpt⑶.5-turbo -g user "Hello world"

# 创建一个完成(text-davinci-003、text-davinci-002、ada、babbage、curie、davinci等)
openai api completions.create -m ada -p "Hello world"

# 通过DALL·E API生成图象
openai api image.create -p "two dogs playing chess, cartoon" -n 1

# 通过代理使用openai
openai --proxy=http://proxy.com api models.list

Microsoft Azure终端

要将库与Microsoft Azure终端一起使用,需要设置api_type、api_base和api_version,除api_key还需要设置api_type。api_type一定要设置为’azure’,其他属性对应您的终真个属性。另外,需要将部署名称传递给engine参数。

import openai
openai.api_type = "azure"
openai.api_key = "..."
openai.api_base = "https://example-endpoint.openai.azure.com"
openai.api_version = "2023-05⑴5"

# 创建一个聊天完成
chat_completion = openai.ChatCompletion.create(deployment_id="deployment-name", model="gpt⑶.5-turbo", messages=[{"role":"user", "content":"Hello world"}])
# 打印完成结果
print(chat_completion.choices[0].message.content)

请注意,目前Microsoft Azure终端只适用于完成、嵌入和微调操作。要了解怎样使用Azure终端进行微调和其他操作的详细示例,请查看以下Jupyter笔记本:

Microsoft Azure Active Directory身份验证

要使用Microsoft Active Directory对Azure终端进行身份验证,您需要将api_type设置为”azure_ad”,并将获得的凭据令牌传递给 api_key。其余的参数需要依照前面的部份设置。

from azure.identity import DefaultAzureCredential
import openai

# 要求凭据
default_credential = DefaultAzureCredential()
token = default_credential.get_token("https://cognitiveservices.azure.com/.default")

# 设置参数
openai.api_type = "azure_ad"
openai.api_key = token.token
openai.api_base = "https://example-endpoint.openai.azure.com/"
openai.api_version = "2023-05⑴5"

openai库 api_key的常见问答Q&A

问题1:OpenAI API是甚么?

答案:OpenAI API是一种人工智能API,由OpenAI提供。它允许开发者使用OpenAI的模型进行文本生成、自然语言处理和对话等任务。以下是关于OpenAI API的一些详细解释和示例:

  • OpenAI API是一套用于构建人工智能利用程序的工具和资源。它提供了强大的能力,可以生成文章、回答问题、对话等。
  • 使用OpenAI API,开发者可以简单地调用API接口,向模型提供输入数据,然后获得由模型生成的输出结果。这使得开发者能够快速构建各种智能利用。
  • 例如,通过调用OpenAI API可以实现自动摘要功能,将一篇长文本进行精简概括;还可以实现智能问答功能,让用户发问,然后由模型给出准确的答案。

问题2:如何获得OpenAI API Key?

答案:要获得OpenAI API Key,可以依照以下步骤进行:

  1. 访问OpenAI的官方网站,注册一个账户或直接登录。
  2. 登录后,进入用户主页,找到“APIs”页面。
  3. 在该页面中可以看到API的相关信息,包括API Key的申请选项。
  4. 点击申请API Key的按钮,填写相应的申请信息,并提交申请。
  5. OpenAI团队会对申请进行审核,审核通过后会将API Key发送给申请人。

问题3:怎样使用Python调用OpenAI API?

答案:要使用Python调用OpenAI API,可以依照以下步骤进行:

  1. 首先,需要安装OpenAI Python库,可使用pip工具履行以下命令进行安装:pip install openai
  2. 在代码中,通过import语句导入OpenAI库:import openai
  3. 在代码中,将获得到的API Key赋值给OpenAI库的api_key变量:openai.api_key = “your_api_key”
  4. 接下来,可以调用OpenAI库提供的各种函数和方法,实现自己想要的功能,如文本生成、问答等。

以下是一个使用Python调用OpenAI API的示例代码:

import openai

# 设置API Key
openai.api_key = "your_api_key"

# 定义输入文本
prompt = "Once upon a time"

# 调用文本生成API
response = openai.Completion.create(engine="davinci", prompt=prompt, max_tokens=100)

# 获得生成的文本
generated_text = response.choices[0].text

print(generated_text)

ChatGPT相关资讯

ChatGPT热门资讯

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!