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库中派生出来的。