openai/openai-python: The official Python library for the OpenAI API(openai库 api_key)
一、OpenAI库的安装和配置
- 使用pip命令进行安装openai库
- 验证会不会安装成功
- 登录OpenAI账户并进入用户主页
- 找到“APIs”页面并点击申请API Key按钮
- 填写申请信息并提交申请
- 等待OpenAI团队审核并获得API Key
二、在代码中使用OpenAI API Key
- 通过系统变量获得API Key
- 手动设置API Key
- 连接到OpenAI API
- 调用API进行相应的操作
三、使用OpenAI库和API Key的示例
- 使用openai.Completion.create()函数进行文本生成
- 指定生成的相关参数,如模型、输入文本、生成长度等
- 使用openai.ChatCompletion.create()函数进行对话生成
- 设置对话的历史记录和用户输入,获得系统的回复
四、注意事项和常见问题
- 不要将API Key明文写在代码中
- 使用环境变量或其他安全方式存储API Key
- 返回结果的数据结构和字段含义
- 毛病处理和异常情况的处理
五、总结
对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,可以依照以下步骤进行:
- 访问OpenAI的官方网站,注册一个账户或直接登录。
- 登录后,进入用户主页,找到“APIs”页面。
- 在该页面中可以看到API的相关信息,包括API Key的申请选项。
- 点击申请API Key的按钮,填写相应的申请信息,并提交申请。
- OpenAI团队会对申请进行审核,审核通过后会将API Key发送给申请人。
问题3:怎样使用Python调用OpenAI API?
答案:要使用Python调用OpenAI API,可以依照以下步骤进行:
- 首先,需要安装OpenAI Python库,可使用pip工具履行以下命令进行安装:pip install openai。
- 在代码中,通过import语句导入OpenAI库:import openai。
- 在代码中,将获得到的API Key赋值给OpenAI库的api_key变量:openai.api_key = “your_api_key”。
- 接下来,可以调用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)