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非常简单,只需要依照以下步骤进行便可:

  1. 首先,需要安装OpenAPI Python客户端库。可以通过pip命令在Python环境中安装:pip install openai
  2. 导入OpenAPI Python库:import openai
  3. 设置OpenAI API密钥:openai.api_key = “your-api-key”
  4. 调用相应的方法和函数,向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密钥,需要依照以下步骤获得:

  1. 登录到OpenAI网站,并进入个人信息页面。
  2. 在个人信息页面的右上角,找到”View API keys”的链接,点击进入。
  3. 在API密钥页面,如果已有API密钥,可以复制现有的API密钥。如果没有API密钥,可以点击”Generate New Key”按钮创建新的API密钥。
  4. 将API密钥复制,并在OpenAPI Python代码中设置:openai.api_key = “your-api-key”

ChatGPT相关资讯

ChatGPT热门资讯

X

截屏,微信识别二维码

微信号:muhuanidc

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

打开微信

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