OpenAI Python库

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

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

装置

你不& # 39;除非你想修改这个包,否则不需要这个源代码。如果您只想使用这个包,只需运行:

pip安装-升级openai

从源安装,包含:

python setup.py安装

可选依赖项

openai.embeddings_utils
pip安装open ai[嵌入]

为重量和重量安装支架。偏见:

pip安装openai[wandb]
numpypandasMissingDependencyError
pip安装openai[datalib]

使用

OPENAI_API_KEY
export OPENAI _ API _ KEY = & # 39sk-...'
openai.api_key
import open ai open ai . API _ key = & # 34;sk-..."#列出型号型号= openai。Model.list() #打印第一个模型& # 39;s id打印(models.data[0])。id) #创建一个完成completion = openai。completion . create(model = & # 34;阿达& # 34;,提示= & # 34;你好世界& # 34;)#打印完成打印(completion.choices[0])。正文)

参数

。create request _ time out union[float,Tuple[float,float]]open ai . error . time out error

Microsoft Azure端点

API _ type API _ base API _ version API _ key API _ type
import open ai open ai . API _ type = & # 34;蔚蓝& # 34;openai.api _ key = & # 34..."openai.api _ base = & # 34https://example-endpoint . open ai . azure . com & # 34;openai.api _ version = & # 342022-12-01"#创建一个完成completion = openai。completion . create(engine = & # 34;部署名称& # 34;,提示= & # 34;你好世界& # 34;)#打印完成打印(completion.choices[0])。正文)

请注意,目前,Microsoft Azure端点只能用于完成、嵌入和微调操作。有关如何使用Azure端点进行微调和其他操作的详细示例,请查看以下Jupyter笔记本:

Microsoft Azure Active Directory身份验证

api_typeapi_key
从azure.identity导入DefaultAzureCredential导入open ai # Request credential default _ credential = DefaultAzureCredential()token = default _ credential . get _ token(& # 34;https://cognitiveservices.azure.com/.默认& # 34;)#设置参数openai.api _ type = & # 34azure _ ad & # 34open ai . API _ key = token . token open ai . API _ base = & # 34;https://example-endpoint.openai.azure.com/"openai.api _ version = & # 342022-12-01"# ...

命令行界面

openaiopenai api -h
# list models open ai API models . list # create a completions open ai API completions . create-m ada-p & # 34;你好世界& # 34;#创建聊天完成open ai API chat _ completions . create-m GPT-3.5-turbo-g user & # 34;你好世界& # 34;#通过DALL E API open ai API image . create-p & # 34;两只狗下棋,卡通& # 34;-n 1

示例代码

如何使用这个Python库完成各种任务的例子可以在OpenAI Cookbook中找到。它包含以下代码示例:

  • 使用微调进行分类
  • 使聚集
  • 代码搜索
  • 定制嵌入
  • 来自文档语料库的问题回答
  • 推荐
  • 嵌入的可视化
  • 更多

在2022年7月之前,这个OpenAI Python库在其examples文件夹中托管代码示例,但从那时起,所有示例都被迁移到OpenAI Cookbook中。

闲谈

gpt-3.5涡轮增压
import open ai open ai . API _ key = & # 34;sk-..."#提供您的API密钥,但您选择completion = openai。chat completion . create(model = & # 34;GPT-3.5-turbo & # 34;,messages =[{ & # 34;角色& # 34;: "用户& # 34;, "内容& # 34;: "你好世界!"}])打印(completion . choices[0]. message . content)

嵌入

在OpenAI Python库中,嵌入将文本字符串表示为浮点数的固定长度向量。嵌入被设计来测量文本串之间的相似性或相关性。

要获得文本字符串的嵌入,可以使用Python中的嵌入方法,如下所示:

import open ai open ai . API _ key = & # 34;sk-..."#提供您选择的API密钥#选择要嵌入的文本text _ string = & # 34示例文本& # 34;#选择一个嵌入模型_ id = & # 34文本-相似性-da Vinci-001 & # 34;#计算文本嵌入的嵌入= openai。embedding . create(input = text _ string,model = model _ id)[& # 39;数据& # 39;][0]['嵌入& # 39;]

如何调用嵌入方法的示例显示在获取嵌入笔记本中。

以下Jupyter笔记本分享了如何使用嵌入的示例:

有关嵌入和OpenAI提供的嵌入类型的更多信息,请阅读OpenAI文档中的嵌入指南。

微调

对训练数据的模型进行微调既可以改善结果(通过给模型更多的例子来学习),也可以减少API调用的成本/延迟(主要是通过减少在提示中包含训练例子的需要)。

以下Jupyter笔记本分享了微调示例:

  • 带微调的分类(显示微调所需步骤的简单笔记本)
  • 微调回答2020年奥运会相关问题的模型

同步您的微调重量和。在您的中央仪表盘中跟踪实验、模型和数据集的偏好:

openai wandb同步

有关微调的更多信息,请阅读OpenAI文档中的微调指南。

适度

OpenAI提供了一个审核端点,可以用来检查内容是否符合OpenAI内容策略

import open ai open ai . API _ key = & # 34;sk-..."#提供您的API密钥,无论您选择moderation_resp = openai。moderation . create(input = & # 34;这里有一些完全无害的文本,遵循所有OpenAI内容政策。")

更多详情请参见审核指南。

图像生成

import open ai open ai . API _ key = & # 34;sk-..."#提供您的API密钥,无论您选择image_resp = openai。image . create(prompt = & # 34;两只狗下棋,油画& # 34;,n=4,size = & # 34512x512 & # 34)

音频转录(耳语)

import open ai open ai . API _ key = & # 34;sk-..."#提供您的API密钥,无论您选择f = open(& # 34;path/to/file . MP3 & # 34;, "rb & # 34)成绩单= openai。audio . transcripte(& # 34;耳语-1 & # 34;,f)

异步API

a
import open ai open ai . API _ key = & # 34;sk-..."#提供您的API密钥,无论您选择async def create _ completion():completion _ resp = await open ai。completion . a create(prompt = & # 34;这是一个测试& # 34;,型号= & # 34;达芬奇& # 34;)
aiohttp。客户端会话
从aiohttp导入openai导入client session open ai . AIO session . set(client session())#在程序的最后,关闭http会话await openai.aiosession.get()。关闭()

有关更多详细信息,请参见使用指南。

要求

  • Python 3.7.1+版本

总的来说,我们希望支持客户正在使用的Python版本。如果您遇到任何版本问题,请通过我们的支持页面联系我们。

信用

这个库是从Stripe Python库中派生出来的。