openai/openai-python: The official Python library for the OpenAI API(how to use openai in python)
一、注册OpenAI账号和获得API秘钥
1. 注册OpenAI账号的步骤
– 网上教程已详细介绍
2. 获得API秘钥
– 登录OpenAI网站,进入个人信息页面
– 点击”View API keys”
– 获得API秘钥
二、在Python中使用OpenAI API
1. 安装OpenAI Python客户端库
– 使用pip安装OpenAI库
2. 导入库
– 在Python脚本中导入OpenAI库
3. 设置API秘钥
– 将API秘钥配置到脚本中
4. 发起API要求
– 使用OpenAI库调用API方法
5. 处理API响应
– 获得API返回的结果
6. 关闭API连接
– 断开与OpenAI API的连接
三、在Python中使用OpenAI的模型
1. 生成API秘钥
– 在OpenAI控制台中生成API秘钥
2. 导入模型
– 使用OpenAI库导入所需的模型
3. 使用模型进行文本生成
– 调用模型的生成文本方法
4. 调剂生成文本的参数
– 设置生成文本的长度、温度等参数
四、其他注意事项
1. API调用限制
– 需要注意API的调用限制和配额
2. 安全性注意事项
– 保护API秘钥的安全性
3. 官方文档和社区支持
– 查阅OpenAI官方文档和寻求社区支持
通过注册OpenAI账号并获得API秘钥,可以在Python中使用OpenAI API。安装OpenAI Python库并导入所需的库,设置API秘钥,并调用API方法发起要求。处理API响应,获得结果,并在完成后断开连接。另外,还可使用OpenAI的模型进行文本生成,调剂生成文本的参数。在使用API时需注意调用限制和安全性,可以参考官方文档和社区支持获得更多信息。
how to use openai in python的进一步展开说明
OpenAI Python库
OpenAI Python库提供了方便的访问OpenAI API的方式,适用于使用Python语言编写的利用程序。它包括一组预定义的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的网站上找到。你可以在使用库之前将它设置为OPENAI_API_KEY环境变量:
export OPENAI_API_KEY='sk-...'
或将openai.api_key设置为秘钥的值:
openai.api_key = "sk-..."
在OpenAI Cookbook中可以找到怎样使用此库完成各种任务的示例。它包括以下用例代码:使用fine-tuning进行分类、聚类、代码搜索、自定义嵌入、从文档语料库进行问答、推荐、可视化嵌入等。
大多数端点都支持request_timeout参数。该参数接受一个Union[float,Tuple[float,float]]类型的值,如果要求的时间超过这个时间(以秒为单位),则会引发openai.error.Timeout毛病(参见:https://requests.readthedocs.io/en/latest/user/quickstart/#timeouts)。
Chat completions
使用聊天完成端点可以调用Chat模型,例如gpt⑶.5-turbo和gpt⑷。
completion = openai.ChatCompletion.create(model="gpt⑶.5-turbo", messages=[{"role": "user", "content":"Hello world"}])
print(completion.choices[0].message.content)
你可以在我们的聊天完成指南中了解更多。
Completions
使用完成端点可以调用文本模型,例如babbage-002或davinci-002(和我们的旧完成模型)。
completion = openai.Completion.create(model="davinci-002", prompt="Hello world")
print(completion.choices[0].text)
你可以在我们的完成指南中了解更多。
嵌入
嵌入用于衡量文本字符串之间的类似性或相关性。你可使用以下方法获得文本字符串的嵌入:
text_string = "样本文本"
model_id = "text-embedding-ada-002"
embedding = openai.Embedding.create(input=text_string, model=model_id)['data'][0]['embedding']
你可以在我们的嵌入指南中了解更多。
Fine-tuning
对训练数据进行fine-tuning可以改进模型的结果(通过给模型提供更多的示例来学习),
同时通过减少在提示中包括训练示例的需求,下降API调用的本钱/延迟。
openai.FineTuningJob.create(training_file="file-abc123", model="gpt⑶.5-turbo")
openai.FineTuningJob.list(limit=10)
openai.FineTuningJob.retrieve("ft-abc123")
openai.FineTuningJob.cancel("ft-abc123")
openai.FineTuningJob.list_events(id="ft-abc123", limit=10)
openai.Model.delete("ft:gpt⑶.5-turbo:acemeco:suffix:abc123")
你可以在我们的Fine-Tuning指南中了解更多。
要将来自Fine-Tuning的训练结果记录到Weights & Biases,请使用:
openai wandb sync
有关更多信息,请浏览Weights & Biases上的wandb文档。
内容监管
OpenAI提供了一个不要钱的内容监管端点,用于检查内容会不会符合OpenAI的内容政策。
moderation_resp = openai.Moderation.create(input="这里是一些完全无害的文本,符合OpenAI的所有内容政策。")
你可以在我们的内容监管指南中了解更多。
图片生成(DALL·E)
DALL·E是一种生成图象模型,可以根据提示生成新的图象。
image_resp = openai.Image.create(prompt="两只狗下棋,油画", n=4, size="512x512")
你可以在我们的图片生成指南中了解更多。
音频(Whisper)
语音转文字API根据我们最新的开源模型large-v2 Whisper提供两个端点:transcriptions和translations。
f = open("路径/到/文件.mp3", "rb")
transcript = openai.Audio.transcribe("whisper⑴", f)
transcript = openai.Audio.translate("whisper⑴", f)
你可以在我们的语音转文字指南中了解更多。
异步API
API支持异步操作,可以通过在网络绑定方法前添加”a”来实现:
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())
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 "两只狗下棋, 卡通" -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一定要设置为’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端点只能用于完成、嵌入和Fine-Tuning操作。有关怎样使用Azure端点进行Fine-Tuning和其他操作的详细示例,请查看以下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"
鸣谢
本库是从Stripe Python库分支出来的。
how to use openai in python的常见问答Q&A
问题1:甚么是OpenAPI Python?
答案:OpenAPI Python是一种使用Python编写的开放接口利用程序编程接口(API)。它允许开发者使用Python编程语言来与OpenAI的人工智能模型进行交互和通讯。通过OpenAPI Python,开发者可以利用OpenAI API提供的功能和能力,实现自然语言处理、对话生成等各种人工智能利用。
- OpenAPI Python提供了一套Python代码库,使开发者可以轻松地在Python环境中使用OpenAI API。
- 开发者可以通过OpenAPI Python发送HTTP要求,与OpenAI的人工智能模型进行交互,获得生成的文本、问题回答等结果。
- OpenAPI Python还提供了丰富的功能和方法,使开发者可以更加灵活地控制和定制OpenAI的人工智能模型。
问题2:OpenAPI Python提供了哪些功能?
答案:OpenAPI Python提供了许多有用的功能和方法,方便开发者在Python利用程序中使用OpenAI API。
- 通过OpenAPI Python,开发者可以生成人工智能文本,用于任务如自然语言处理、对话生成、文本摘要等。
- 开发者可使用OpenAPI Python进行文本分类,将文本依照区别的种别进行自动分类。
- OpenAPI Python还提供了问题回答功能,可以根据问题生成相应的回答。
- 开发者可使用OpenAPI Python进行文章生成,将扼要的输入转换为联贯的完全文章。
- OpenAPI Python还支持对话应对功能,可以实现与用户的对话交互,生成联贯的对话。
问题3:怎样在Python中使用OpenAPI Python?
答案:使用OpenAPI Python非常简单,只需要依照以下步骤进行便可:
- 首先,需要安装OpenAPI Python客户端库。可以通过pip命令在Python环境中安装:pip install openai
- 导入OpenAPI Python库:import openai
- 设置OpenAI API密钥:openai.api_key = “your-api-key”
- 调用相应的方法和函数,向OpenAI API发送要求,获得模型生成的结果。
示例:
import openai
openai.api_key = "your-api-key"
response = openai.Completion.create(
engine="davinci",
prompt="Once upon a time",
max_tokens=100
)
print(response.choices[0].text)
问题4:如何获得OpenAPI Python的API密钥?
答案:要在OpenAPI Python中使用API密钥,需要依照以下步骤获得:
- 登录到OpenAI网站,并进入个人信息页面。
- 在个人信息页面的右上角,找到”View API keys”的链接,点击进入。
- 在API密钥页面,如果已有API密钥,可以复制现有的API密钥。如果没有API密钥,可以点击”Generate New Key”按钮创建新的API密钥。
- 将API密钥复制,并在OpenAPI Python代码中设置:openai.api_key = “your-api-key”